com.phoenixst.plexus

Class ForestTreeAdapter

public class ForestTreeAdapter extends Object implements RootedTree

An adapter which presents the subgraph of an OrientedForest rooted at a specified node as a RootedTree.

Since: 1.0

Version: $Revision: 1.9 $

Author: Ray A. Conner

Constructor Summary
ForestTreeAdapter(Object root, OrientedForest forest, boolean isStrict)
Creates a new ForestTreeAdapter.
Method Summary
TraverserchildTraverser(Object node)
intgetDepth(Object node)
intgetHeight(Object node)
ObjectgetLeastCommonAncestor(Object aNode, Object bNode)
ObjectgetParent(Object node)
Graph.EdgegetParentEdge(Object node)
ObjectgetParentEndpoint(Graph.Edge edge)
ObjectgetRoot()
ObjectgetRoot(Object node)
booleanisAncestor(Object ancestor, Object descendant)
booleanisForestEdge(Graph.Edge edge)
booleanisLeaf(Object node)
booleanisTreeNode(Object node)
CollectionrootNodes()
voidsetRoot(Object root)

Constructor Detail

ForestTreeAdapter

public ForestTreeAdapter(Object root, OrientedForest forest, boolean isStrict)
Creates a new ForestTreeAdapter.

Parameters: root create a tree of the subgraph rooted at this node. forest the forest of which this tree is a subview. isStrict if true, all appropriate methods accepting nodes will throw a NoSuchNodeException if the argument node is not a descendant of the root node of this tree. If false, only getRoot( node ) and getDepth( node ) will throw an exception in this case.

Method Detail

childTraverser

public Traverser childTraverser(Object node)

getDepth

public int getDepth(Object node)

getHeight

public int getHeight(Object node)

getLeastCommonAncestor

public Object getLeastCommonAncestor(Object aNode, Object bNode)

getParent

public Object getParent(Object node)

getParentEdge

public Graph.Edge getParentEdge(Object node)

getParentEndpoint

public Object getParentEndpoint(Graph.Edge edge)

getRoot

public Object getRoot()

getRoot

public Object getRoot(Object node)

isAncestor

public boolean isAncestor(Object ancestor, Object descendant)

isForestEdge

public boolean isForestEdge(Graph.Edge edge)

isLeaf

public boolean isLeaf(Object node)

isTreeNode

public boolean isTreeNode(Object node)

rootNodes

public Collection rootNodes()

setRoot

public void setRoot(Object root)
See the Plexus project home, hosted by SourceForge.
Copyright B) 1994-2006, by Phoenix Software Technologists, Inc. and others. All Rights Reserved. Use is subject to license terms.