⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.iterators

Class FilterIterator

java.lang.Object
|
+--org.apache.commons.collections.iterators.FilterIterator

All Implemented Interfaces:
Iterator

Known Direct Subclasses:
UniqueFilterIterator


public class FilterIterator
extends java.lang.Object
implements Iterator

Decorates an iterator such that only elements matching a predicate filter are returned.
Since:
Commons Collections 1.0
Authors:
James Strachan
Jan Sorensen
Ralph Wagner
Stephen Colebourne

Constructor Summary

FilterIterator()

Constructs a new FilterIterator that will not function until #setIterator(Iterator) setIterator is invoked.

FilterIterator(Iterator iterator)

Constructs a new FilterIterator that will not function until #setPredicate(Predicate) setPredicate is invoked.

FilterIterator(Iterator iterator, Predicate predicate)

Constructs a new FilterIterator that will use the given iterator and predicate.

Method Summary

Iterator

getIterator()

Gets the iterator this iterator is using.

Predicate

getPredicate()

Gets the predicate this iterator is using.

boolean

hasNext()

Returns true if the underlying iterator contains an object that matches the predicate.

Object

next()

Returns the next object that matches the predicate.

void

remove()

Removes from the underlying collection of the base iterator the last element returned by this iterator.

void

setIterator(Iterator iterator)

Sets the iterator for this iterator to use.

void

setPredicate(Predicate predicate)

Sets the predicate this the iterator to use.

Constructor Details

FilterIterator

public FilterIterator()

Constructs a new FilterIterator that will not function until setIterator(Iterator) setIterator is invoked.


FilterIterator

public FilterIterator(Iterator iterator, Predicate predicate)

Constructs a new FilterIterator that will use the given iterator and predicate.

Parameters:
iterator - the iterator to use
predicate - the predicate to use

FilterIterator

public FilterIterator(Iterator iterator)

Constructs a new FilterIterator that will not function until setPredicate(Predicate) setPredicate is invoked.

Parameters:
iterator - the iterator to use

Method Details

getIterator

public Iterator getIterator()

Gets the iterator this iterator is using.

Returns:
the iterator.

getPredicate

public Predicate getPredicate()

Gets the predicate this iterator is using.

Returns:
the predicate.

hasNext

public boolean hasNext()

Returns true if the underlying iterator contains an object that matches the predicate.

Returns:
true if there is another object that matches the predicate

next

public Object next()

Returns the next object that matches the predicate.

Returns:
the next object which matches the given predicate
Throws:
- if there are no more elements that match the predicate

remove

public void remove()

Removes from the underlying collection of the base iterator the last element returned by this iterator. This method can only be called if next() was called, but not after hasNext(), because the hasNext() call changes the base iterator.

Throws:
- if hasNext() has already been called.

setIterator

public void setIterator(Iterator iterator)

Sets the iterator for this iterator to use. If iteration has started, this effectively resets the iterator.

Parameters:
iterator - the iterator to use

setPredicate

public void setPredicate(Predicate predicate)

Sets the predicate this the iterator to use.

Parameters:
predicate - the transformer to use