Class TransformIterator<I,O>
java.lang.Object
org.apache.commons.collections4.iterators.TransformIterator<I,O>
- All Implemented Interfaces:
Iterator<O>
Decorates an iterator such that each element returned is transformed.
- Since:
- 1.0
-
Constructor Summary
ConstructorDescriptionConstructs a newTransformIterator
that will not function until thesetIterator
andsetTransformer(Transformer)
methods are invoked.TransformIterator
(Iterator<? extends I> iterator) Constructs a newTransformIterator
that won't transform elements from the given iterator.TransformIterator
(Iterator<? extends I> iterator, Transformer<? super I, ? extends O> transformer) Constructs a newTransformIterator
that will use the given iterator and transformer. -
Method Summary
Modifier and TypeMethodDescriptionGets the iterator this iterator is using.Transformer<? super I,
? extends O> Gets the transformer this iterator is using.boolean
hasNext()
next()
Gets the next object from the iteration, transforming it using the current transformer.void
remove()
void
setIterator
(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.protected O
Transforms the given object using the transformer.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
TransformIterator
public TransformIterator()Constructs a newTransformIterator
that will not function until thesetIterator
andsetTransformer(Transformer)
methods are invoked. -
TransformIterator
Constructs a newTransformIterator
that won't transform elements from the given iterator.- Parameters:
iterator
- the iterator to use
-
TransformIterator
public TransformIterator(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 Details
-
getIterator
Gets the iterator this iterator is using.- Returns:
- the iterator.
-
getTransformer
Gets the transformer this iterator is using.- Returns:
- the transformer.
-
hasNext
-
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 interfaceIterator<I>
- Returns:
- the next object
- Throws:
NoSuchElementException
- if there are no more elements
-
remove
-
setIterator
Sets the iterator for this iterator to use. If iteration has started, this effectively resets the iterator.- Parameters:
iterator
- the iterator to use
-
setTransformer
Sets the transformer this the iterator to use. A null transformer is a no-op transformer.- Parameters:
transformer
- the transformer to use
-
transform
Transforms the given object using the transformer. If the transformer is null, the original object is returned as-is.- Parameters:
source
- the object to transform- Returns:
- the transformed object
-