Plexus v0.13.1

com.phoenixst.plexus.util
Class FilteredEdgeIterator

java.lang.Object
  extended by com.phoenixst.collections.FilteredIterator
      extended by com.phoenixst.plexus.util.FilteredEdgeIterator
All Implemented Interfaces:
Iterator

public class FilteredEdgeIterator
extends FilteredIterator

A simple filtered edge Iterator. Because this class must advance the underlying Iterator to function properly, implementing remove(java.lang.Object) may delegate to Graph.removeEdge( edge ) in some situations.

Since:
1.0
Version:
$Revision: 1.9 $
Author:
Ray A. Conner

Constructor Summary
FilteredEdgeIterator(Graph graph, Iterator edgeIter, org.apache.commons.collections.Predicate edgePredicate)
          Creates a new FilteredEdgeIterator which will have FilteredIterator.remove() delegate to Graph.removeEdge( edge ) if necessary.
FilteredEdgeIterator(Iterator edgeIter, org.apache.commons.collections.Predicate edgePredicate)
          Creates a new FilteredEdgeIterator which will throw an IllegalStateException if remove() is called after hasNext() without an intervening call to next().
 
Method Summary
protected  void remove(Object object)
          If the Graph specified in the constructor is not null, this implementation will delegate to Graph.removeEdge( edge ) (which may invalidate this Iterator).
 
Methods inherited from class com.phoenixst.collections.FilteredIterator
hasNext, next, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilteredEdgeIterator

public FilteredEdgeIterator(Iterator edgeIter,
                            org.apache.commons.collections.Predicate edgePredicate)
Creates a new FilteredEdgeIterator which will throw an IllegalStateException if remove() is called after hasNext() without an intervening call to next().


FilteredEdgeIterator

public FilteredEdgeIterator(Graph graph,
                            Iterator edgeIter,
                            org.apache.commons.collections.Predicate edgePredicate)
Creates a new FilteredEdgeIterator which will have FilteredIterator.remove() delegate to Graph.removeEdge( edge ) if necessary. Depending upon the Graph implementation, this may invalidate this Iterator.

Method Detail

remove

protected void remove(Object object)
If the Graph specified in the constructor is not null, this implementation will delegate to Graph.removeEdge( edge ) (which may invalidate this Iterator). If the Graph specified in the constructor is null, or if the other constructor is used, this implementation throws an IllegalStateException.

Description copied from class: FilteredIterator
This method is called by FilteredIterator.remove() if hasNext() was called after the last calls to both next() and remove() (if any) and remove() has not been called after the last call to next(). In other words, this method is called if the call sequence goes something like next(), hasNext(), remove(), which means the underlying Iterator has been advanced beyond the element to be removed. This provides an extension point for an implementation to correctly handle this case if it is capable of doing so.

This implementation throws an IllegalStateException.

Overrides:
remove in class FilteredIterator

Plexus v0.13.1

See the Plexus project home, hosted by SourceForge.
Copyright ? 1994-2006, by Phoenix Software Technologists, Inc. and others. All Rights Reserved. Use is subject to license terms.