Class MultitransformedIterator<F,​T>

  • All Implemented Interfaces:
    java.util.Iterator<T>
    Direct Known Subclasses:
    Iterators.ConcatenatedIterator

    @GwtCompatible
    abstract class MultitransformedIterator<F,​T>
    extends java.lang.Object
    implements java.util.Iterator<T>
    Similar to TransformedIterator, this iterator transforms a backing iterator. However, rather than enforcing a one-to-one mapping, each element in the backing iterator can be transformed into an arbitrary number of elements (i.e. a one-to-many mapping).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Iterator<? extends F> backingIterator  
      private java.util.Iterator<? extends T> current  
      private java.util.Iterator<? extends T> removeFrom  
    • Constructor Summary

      Constructors 
      Constructor Description
      MultitransformedIterator​(java.util.Iterator<? extends F> backingIterator)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()  
      T next()  
      void remove()  
      (package private) abstract java.util.Iterator<? extends T> transform​(F from)  
      • 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

      • backingIterator

        final java.util.Iterator<? extends F> backingIterator
      • current

        private java.util.Iterator<? extends T> current
      • removeFrom

        private java.util.Iterator<? extends T> removeFrom
    • Constructor Detail

      • MultitransformedIterator

        MultitransformedIterator​(java.util.Iterator<? extends F> backingIterator)
    • Method Detail

      • transform

        abstract java.util.Iterator<? extends T> transform​(F from)
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<F>
      • next

        public T next()
        Specified by:
        next in interface java.util.Iterator<F>
      • remove

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