Class 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 14:33:15 +0200 (Thu, 10 Apr 2008) $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Iterator iterator
      The iterator being used
      private Transformer transformer
      The transformer being used
    • Constructor Summary

      Constructors 
      Constructor Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
    • Field Detail

      • iterator

        private java.util.Iterator iterator
        The iterator being used
      • transformer

        private Transformer transformer
        The transformer being used
    • 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