Class TransformIterator

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

public class TransformIterator extends Object implements Iterator
Decorates an iterator such that each element returned is transformed.
Since:
Commons Collections 1.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
Author:
James Strachan, Stephen Colebourne
  • Constructor Details

    • TransformIterator

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

      public TransformIterator(Iterator iterator)
      Constructs a new TransformIterator that won't transform elements from the given iterator.
      Parameters:
      iterator - the iterator to use
    • 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
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator
    • 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.
      Specified by:
      next in interface Iterator
      Returns:
      the next object
      Throws:
      NoSuchElementException - if there are no more elements
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator
    • getIterator

      public Iterator getIterator()
      Gets the iterator this iterator is using.
      Returns:
      the iterator.
    • 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
    • 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 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