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

Class TransformIterator

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

All Implemented Interfaces:
Iterator


public class TransformIterator
extends java.lang.Object
implements Iterator

Decorates an iterator such that each element returned is transformed.
Since:
Commons Collections 1.0
Authors:
James Strachan
Stephen Colebourne

Constructor Summary

TransformIterator()

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

TransformIterator(Iterator iterator)

Constructs a new TransformIterator that won't transform elements from the given iterator.

TransformIterator(Iterator iterator, Transformer transformer)

Constructs a new TransformIterator that will use the given iterator and transformer.

Method Summary

Iterator

getIterator()

Gets the iterator this iterator is using.

Transformer

getTransformer()

Gets the transformer this iterator is using.

boolean

hasNext()

Object

next()

Gets the next object from the iteration, transforming it using the current transformer.

void

remove()

void

setIterator(Iterator iterator)

Sets the iterator for this iterator to use.

void

setTransformer(Transformer transformer)

Sets the transformer this the iterator to use.

Object

transform(Object source)

Transforms the given object using the transformer.

Constructor Details

TransformIterator

public TransformIterator()

Constructs a new TransformIterator that will not function until the setIterator(Iterator) setIterator method is invoked.


TransformIterator

public TransformIterator(Iterator iterator, Transformer transformer)

Constructs a new TransformIterator 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 use
transformer - the transformer to use

TransformIterator

public TransformIterator(Iterator iterator)

Constructs a new TransformIterator that won't transform elements from the given iterator.

Parameters:
iterator - the iterator to use

Method Details

getIterator

public Iterator getIterator()

Gets the iterator this iterator is using.

Returns:
the iterator.

getTransformer

public Transformer getTransformer()

Gets the transformer this iterator is using.

Returns:
the transformer.

hasNext

public boolean hasNext()


next

public Object 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.

Returns:
the next object
Throws:
- if there are no more elements

remove

public void remove()


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

setTransformer

public void setTransformer(Transformer transformer)

Sets the transformer this the iterator to use. A null transformer is a no-op transformer.

Parameters:
transformer - the transformer to use

transform

protected Object transform(Object source)

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