org.apache.commons.collections.iterators
Class TransformIterator

java.lang.Object
  extended by org.apache.commons.collections.iterators.TransformIterator
All Implemented Interfaces:
java.util.Iterator

public class TransformIterator
extends java.lang.Object
implements java.util.Iterator

Decorates an iterator such that each element returned is transformed.

Since:
Commons Collections 1.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
James Strachan, Stephen Colebourne

Constructor Summary
TransformIterator()
          Constructs a new TransformIterator that will not function until the setIterator method is invoked.
TransformIterator(java.util.Iterator iterator)
          Constructs a new TransformIterator that won't transform elements from the given iterator.
TransformIterator(java.util.Iterator iterator, Transformer transformer)
          Constructs a new TransformIterator that will use the given iterator and transformer.
 
Method Summary
 java.util.Iterator getIterator()
          Gets the iterator this iterator is using.
 Transformer getTransformer()
          Gets the transformer this iterator is using.
 boolean hasNext()
           
 java.lang.Object next()
          Gets the next object from the iteration, transforming it using the current transformer.
 void remove()
           
 void setIterator(java.util.Iterator iterator)
          Sets the iterator for this iterator to use.
 void setTransformer(Transformer transformer)
          Sets the transformer this the iterator to use.
protected  java.lang.Object transform(java.lang.Object source)
          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
 

Constructor Detail

TransformIterator

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


TransformIterator

public TransformIterator(java.util.Iterator iterator)
Constructs a new TransformIterator that won't transform elements from the given iterator.

Parameters:
iterator - the iterator to use

TransformIterator

public TransformIterator(java.util.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
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator

next

public java.lang.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.

Specified by:
next in interface java.util.Iterator
Returns:
the next object
Throws:
java.util.NoSuchElementException - if there are no more elements

remove

public void remove()
Specified by:
remove in interface java.util.Iterator

getIterator

public java.util.Iterator getIterator()
Gets the iterator this iterator is using.

Returns:
the iterator.

setIterator

public void setIterator(java.util.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

getTransformer

public Transformer getTransformer()
Gets the transformer this iterator is using.

Returns:
the transformer.

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 java.lang.Object transform(java.lang.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


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.