Class ProducerIterator<T>

  • Type Parameters:
    T - The type of the products and the iterator elements
    All Implemented Interfaces:
    java.util.Iterator<T>
    Direct Known Subclasses:
    DirectoryIterator

    public class ProducerIterator<T>
    extends java.lang.Object
    implements java.util.Iterator<T>
    An Iterator that iterates over all the objects produced by a delegate Producer.
    See Also:
    Producer
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.Object AT_END  
      private java.lang.Object nextElement  
      private Producer<T> producer  
      private static java.lang.Object UNKNOWN  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()  
      T next()  
      void remove()  
      • 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

      • producer

        private final Producer<T> producer
      • UNKNOWN

        private static final java.lang.Object UNKNOWN
      • AT_END

        @Nullable
        private static final java.lang.Object AT_END
      • nextElement

        @Nullable
        private java.lang.Object nextElement
    • Constructor Detail

      • ProducerIterator

        public ProducerIterator​(Producer<T> producer)
    • Method Detail

      • hasNext

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

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

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