com.phoenixst.plexus.util

Class FilteredTraverser

public class FilteredTraverser extends Object implements Traverser

A simple filtered Traverser. Because this class must advance the underlying Traverser to function properly, FilteredTraverser and FilteredTraverser may delegate to Graph.removeNode( node ) and Graph.removeEdge( edge ) in some situations.

Since: 1.0

Version: $Revision: 1.19 $

Author: Ray A. Conner

Constructor Summary
FilteredTraverser(Traverser delegate, Predicate traverserPredicate)
Creates a new FilteredTraverser which will throw an IllegalStateException if remove() or removeEdge() is called after hasNext() without an intervening call to next().
FilteredTraverser(Graph graph, Traverser delegate, Predicate traverserPredicate)
Creates a new FilteredTraverser which will have remove and removeEdge delegate to Graph.removeNode( node ) and Graph.removeEdge( edge ) if necessary.
Method Summary
Graph.EdgegetEdge()
booleanhasNext()
Objectnext()
voidremove()
voidremoveEdge()

Constructor Detail

FilteredTraverser

public FilteredTraverser(Traverser delegate, Predicate traverserPredicate)
Creates a new FilteredTraverser which will throw an IllegalStateException if remove() or removeEdge() is called after hasNext() without an intervening call to next().

FilteredTraverser

public FilteredTraverser(Graph graph, Traverser delegate, Predicate traverserPredicate)
Creates a new FilteredTraverser which will have remove and removeEdge delegate to Graph.removeNode( node ) and Graph.removeEdge( edge ) if necessary. Depending upon the Graph implementation, this may invalidate this Traverser.

Method Detail

getEdge

public Graph.Edge getEdge()

hasNext

public boolean hasNext()

next

public Object next()

remove

public void remove()

removeEdge

public void removeEdge()
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.