Class TransformIterator<I,O>
- java.lang.Object
-
- org.apache.commons.collections4.iterators.TransformIterator<I,O>
-
- All Implemented Interfaces:
java.util.Iterator<O>
public class TransformIterator<I,O> extends java.lang.Object implements java.util.Iterator<O>
Decorates an iterator such that each element returned is transformed.- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description TransformIterator()
Constructs a newTransformIterator
that will not function until thesetIterator
andsetTransformer(Transformer)
methods are invoked.TransformIterator(java.util.Iterator<? extends I> iterator)
Constructs a newTransformIterator
that won't transform elements from the given iterator.TransformIterator(java.util.Iterator<? extends I> iterator, Transformer<? super I,? extends O> transformer)
Constructs a newTransformIterator
that will use the given iterator and transformer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<? extends I>
getIterator()
Gets the iterator this iterator is using.Transformer<? super I,? extends O>
getTransformer()
Gets the transformer this iterator is using.boolean
hasNext()
O
next()
Gets the next object from the iteration, transforming it using the current transformer.void
remove()
void
setIterator(java.util.Iterator<? extends I> iterator)
Sets the iterator for this iterator to use.void
setTransformer(Transformer<? super I,? extends O> transformer)
Sets the transformer this the iterator to use.
-
-
-
Constructor Detail
-
TransformIterator
public TransformIterator()
Constructs a newTransformIterator
that will not function until thesetIterator
andsetTransformer(Transformer)
methods are invoked.
-
TransformIterator
public TransformIterator(java.util.Iterator<? extends I> iterator)
Constructs a newTransformIterator
that won't transform elements from the given iterator.- Parameters:
iterator
- the iterator to use
-
TransformIterator
public TransformIterator(java.util.Iterator<? extends I> iterator, Transformer<? super I,? extends O> transformer)
Constructs a newTransformIterator
that will use the given iterator and transformer. If the given transformer is null, then objects will not be transformed.- Parameters:
iterator
- the iterator to usetransformer
- the transformer to use
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<I>
-
next
public O next()
Gets the next object from the iteration, transforming it using the current transformer. If the transformer is null, no transformation occurs and the object from the iterator is returned directly.- Specified by:
next
in interfacejava.util.Iterator<I>
- Returns:
- the next object
- Throws:
java.util.NoSuchElementException
- if there are no more elements
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<I>
-
getIterator
public java.util.Iterator<? extends I> getIterator()
Gets the iterator this iterator is using.- Returns:
- the iterator.
-
setIterator
public void setIterator(java.util.Iterator<? extends I> iterator)
Sets the iterator for this iterator to use. If iteration has started, this effectively resets the iterator.- Parameters:
iterator
- the iterator to use
-
getTransformer
public Transformer<? super I,? extends O> getTransformer()
Gets the transformer this iterator is using.- Returns:
- the transformer.
-
setTransformer
public void setTransformer(Transformer<? super I,? extends O> transformer)
Sets the transformer this the iterator to use. A null transformer is a no-op transformer.- Parameters:
transformer
- the transformer to use
-
-