Class Tree

  extended by fc.util.Tree

public class Tree
extends Object

Implements a simple Tree data structure. The tree is made up of nodes. Each node has an associated object holding the data for that node and has zero (0) or arbitrary more children.

Depending on the application, leaf data can be collectively stored as part of the data for a node or spread out among child (leaf) nodes. For example, if the tree represents a directory structure, files (leaf data) for a directory can be stored as part of that directory's node itself or as part of additional child nodes under that directory node (1 file per child node). Such additional child nodes should be used for leaf data if there is some chance/need of converting those leaf nodes to non-leaf nodes in the future.

This class provides operations common to all trees. Tree based data structures can be built on top of this class.

Nested Class Summary
static class Tree.IterationOrder
static class Tree.Node
Constructor Summary
          Constructs a new tree
Tree(String name)
          Constructs a new tree with the specified name
Method Summary
 Tree.Node createRootNode(Object data)
          Creates and returns the root node for this tree.
 Tree.Node getRootNode()
          Returns the root node of this tree.
static void main(String[] args)
 String toString()
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public Tree()
Constructs a new tree


public Tree(String name)
Constructs a new tree with the specified name

name - the name of this tree
Method Detail


public Tree.Node createRootNode(Object data)
Creates and returns the root node for this tree.

data - the data object associated with this node


public Tree.Node getRootNode()
Returns the root node of this tree. If no root node has been created returns null.


public String toString()
toString in class Object


public static void main(String[] args)
                 throws Exception