Class SinglePrefetchIterator<T>

java.lang.Object
org.aksw.commons.collections.SinglePrefetchIterator<T>
Type Parameters:
T -
All Implemented Interfaces:
Closeable, AutoCloseable, Iterator<T>
Direct Known Subclasses:
FilteringIterator, SetIterator, WindowedSorterIterator

public abstract class SinglePrefetchIterator<T> extends Object implements Iterator<T>, Closeable
An abstract base class for iterating over containers of unknown size. This works by prefetching junks of the container: Whenever the iterator reaches the end of a chunk, the method "myPrefetch" is called. Note that once the iterator is finished (myPrefetch returned null), myPrefetch will never be called again. This means, that if myPrefetch is called, the iterator hasn't reached its end yet.
Author:
raven_arkadon
  • Constructor Details

    • SinglePrefetchIterator

      protected SinglePrefetchIterator()
  • Method Details

    • prefetch

      protected abstract T prefetch() throws Exception
      Throws:
      Exception
    • finish

      protected T finish()
    • hasNext

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

      public T next()
      Specified by:
      next in interface Iterator<T>
    • current

      public T current()
    • willAdvance

      protected boolean willAdvance()
      Whether the next call to next() or hasNext() will trigger loading the next element
    • wasNextCalled

      protected boolean wasNextCalled()
    • wasHasNextCalled

      protected boolean wasHasNextCalled()
    • close

      public void close()
      An iterator must always free all resources once done with iteration. However, if iteration is aborted, this method should be called.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • remove

      public final void remove()
      Specified by:
      remove in interface Iterator<T>
    • doRemove

      protected void doRemove(T item)