Class FilteredIterator<T>
- java.lang.Object
-
- org.apache.commons.functor.core.collection.FilteredIterator<T>
-
- Type Parameters:
T- theIteratorgeneric type
- All Implemented Interfaces:
java.util.Iterator<T>
public final class FilteredIterator<T> extends java.lang.Object implements java.util.Iterator<T>Iterator that filters another Iterator by only passing through those elements that are matched by a specified UnaryPredicate.- Version:
- $Revision$ $Date$
-
-
Field Summary
Fields Modifier and Type Field Description private booleancanRemoveFlag to mark current iterator element can be removed.private java.util.Iterator<? extends T>iteratorThe wrapped iterator.private TnextReference to next element has to be returned by this iterator.private booleannextSetFlag to mark this iterator has more elements or not.private UnaryPredicate<? super T>predicateThe predicate used to test this Iterator elements.
-
Constructor Summary
Constructors Constructor Description FilteredIterator(java.util.Iterator<? extends T> iterator, UnaryPredicate<? super T> predicate)Create a new FilteredIterator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)static <T> java.util.Iterator<T>filter(java.util.Iterator<? extends T> iter, UnaryPredicate<? super T> pred)Get a filtered Iterator instance applyingpredtoiter.inthashCode()booleanhasNext()Tnext()voidremove()private TreturnNext()Get the next element.private booleansetNext()Set next element.java.lang.StringtoString()
-
-
-
Field Detail
-
predicate
private final UnaryPredicate<? super T> predicate
The predicate used to test this Iterator elements.
-
iterator
private final java.util.Iterator<? extends T> iterator
The wrapped iterator.
-
next
private T next
Reference to next element has to be returned by this iterator.
-
nextSet
private boolean nextSet
Flag to mark this iterator has more elements or not.
-
canRemove
private boolean canRemove
Flag to mark current iterator element can be removed.
-
-
Constructor Detail
-
FilteredIterator
public FilteredIterator(java.util.Iterator<? extends T> iterator, UnaryPredicate<? super T> predicate)
Create a new FilteredIterator.- Parameters:
iterator- to filterpredicate- to apply
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfacejava.util.Iterator<T>- See Also:
Iterator.hasNext()
-
next
public T next()
- Specified by:
nextin interfacejava.util.Iterator<T>- See Also:
Iterator.next()
-
remove
public void remove()
- Specified by:
removein interfacejava.util.Iterator<T>- See Also:
Iterator.remove()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
filter
public static <T> java.util.Iterator<T> filter(java.util.Iterator<? extends T> iter, UnaryPredicate<? super T> pred)Get a filtered Iterator instance applyingpredtoiter.- Type Parameters:
T- the input iterator generic type- Parameters:
iter- to filterpred- to apply- Returns:
- Iterator
-
setNext
private boolean setNext()
Set next element.- Returns:
- whether the current iterator position is valid
-
returnNext
private T returnNext()
Get the next element.- Returns:
- next element.
-
-