|
Plexus v0.13.1 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.phoenixst.plexus.traversals.PostOrderTraverser
public class PostOrderTraverser
A post-order depth-first Traverser for a
Graph, with no cycle detection. The last node
returned is the start node, and no Edge is traversed
to reach it. All of the caveats concerning the ordering of the
operations hasNext(), next(), and
remove() detailed by the Traverser class
documentation apply here.
| Constructor Summary | |
|---|---|
PostOrderTraverser(Object startNode,
Graph graph,
org.apache.commons.collections.Predicate traverserPredicate)
Creates a new PostOrderTraverser. |
|
PostOrderTraverser(Object startNode,
Graph graph,
org.apache.commons.collections.Transformer traverserFactory)
Creates a new PostOrderTraverser. |
|
PostOrderTraverser(Object startNode,
OrientedForest forest)
Creates a new PostOrderTraverser, which
depth-first traverses the descendants of the specified
startNode. |
|
PostOrderTraverser(Object startNode,
org.apache.commons.collections.Transformer traverserFactory)
Creates a new PostOrderTraverser. |
|
| Method Summary | |
|---|---|
Graph.Edge |
getEdge()
Returns the Edge which was traversed to get to
the last node returned by next(), or
null if no Edge was traversed. |
boolean |
hasNext()
|
Object |
next()
|
void |
remove()
|
void |
removeEdge()
Removes from the underlying Graph the
Edge that would be returned by getEdge() (optional operation). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PostOrderTraverser(Object startNode,
Graph graph,
org.apache.commons.collections.Predicate traverserPredicate)
PostOrderTraverser.
public PostOrderTraverser(Object startNode,
OrientedForest forest)
PostOrderTraverser, which
depth-first traverses the descendants of the specified
startNode. The specified startNode
cannot be removed by remove() when using this
constructor.
public PostOrderTraverser(Object startNode,
org.apache.commons.collections.Transformer traverserFactory)
PostOrderTraverser. The specified
startNode cannot be removed by remove()
when using this constructor.
public PostOrderTraverser(Object startNode,
Graph graph,
org.apache.commons.collections.Transformer traverserFactory)
PostOrderTraverser. If the
graph argument is null, the
specified startNode cannot be removed by remove().
| Method Detail |
|---|
public boolean hasNext()
hasNext in interface Iteratorpublic Object next()
next in interface Iteratorpublic void remove()
remove in interface Iteratorpublic Graph.Edge getEdge()
TraverserEdge which was traversed to get to
the last node returned by next(), or
null if no Edge was traversed. This
call can be made only if remove() or removeEdge() has not been called after the last
call to next().
getEdge in interface TraverserEdge which was traversed to get to
the last node returned by next(), or
null if no Edge was traversed.public void removeEdge()
TraverserGraph the
Edge that would be returned by getEdge() (optional operation). If no Edge was
traversed (as in the root of a breadth-first search), this
method throws a IllegalStateException. This
method can be called only once per call to next(). The behavior of a traverser is unspecified if the
underlying graph structure is modified while the traversal is
in progress in any way other than by calling this method or
remove().
removeEdge in interface Traverser
|
Plexus v0.13.1 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||