/*
* ObjectLab, http://www.objectlab.co.uk/open is supporting JTreeMap.
*
* Based in London, we are world leaders in the design and development
* of bespoke applications for the securities financing markets.
*
* <a href="http://www.objectlab.co.uk/open">Click here to learn more</a>
* ___ _ _ _ _ _
* / _ \| |__ (_) ___ ___| |_| | __ _| |__
* | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \
* | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |
* \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
* |__/
*
* www.ObjectLab.co.uk
*
* $Id: TreeMapNodeBuilder.java 74 2006-10-24 22:19:05Z benoitx $
*
* Copyright 2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package net.sf.jtreemap.swing;
import java.io.Serializable;
/**
* Tree builder for a JTreeMap.
*
* @author Laurent Dutheil
*/
public class TreeMapNodeBuilder implements Serializable {
/**
*
*/
private static final long serialVersionUID = -1340499387405510692L;
private TreeMapNode root;
/**
* Add a branch to the tree. <BR>
* If the parent is null, the build node become the root if and only if the
* tree have no root yet. If the parent is null and if the root is already
* build, the node will NOT be added to the tree.
*
* @param label
* label of the node
* @param parent
* father of the node
* @return the created node
*/
public TreeMapNode buildBranch(final String label, final TreeMapNode parent) {
final TreeMapNode node = new TreeMapNode(label);
if (parent != null) {
parent.add(node);
} else if (this.root == null) {
this.root = node;
}
return node;
}
/**
* add a leaf to the tree. <BR>
* If the parent is null, the build node become the root if and only if the
* tree have no root yet. If the parent is null and if the root is already
* build, the node will NOT be added to the tree.
*
* @param label
* label of the leaf
* @param weight
* weight of the leaf
* @param value
* Value of the leaf
* @param parent
* father of the leaf
* @return the created node
*/
public TreeMapNode buildLeaf(final String label, final double weight, final Value value, final TreeMapNode parent) {
final TreeMapNode node = new TreeMapNode(label, weight, value);
if (parent != null) {
parent.add(node);
} else if (this.root == null) {
this.root = node;
}
return node;
}
/**
* get the build tree.
*
* @return the root of the tree
*/
public TreeMapNode getRoot() {
return this.root;
}
}
/*
* ObjectLab is supporing JTreeMap
*
* Based in London, we are world leaders in the design and development
* of bespoke applications for the securities financing markets.
*
* <a href="http://www.objectlab.co.uk/open">Click here to learn more about us</a>
* ___ _ _ _ _ _
* / _ \| |__ (_) ___ ___| |_| | __ _| |__
* | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \
* | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |
* \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
* |__/
*
* www.ObjectLab.co.uk
*/