Class LookAheadIteration<E,X extends Exception>

java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<E,X>
All Implemented Interfaces:
AutoCloseable, CloseableIteration<E,X>, Iteration<E,X>
Direct Known Subclasses:
BottomUpJoinIterator, CrossProductIteration, DescribeIteration, DistinctModelReducingUnionIteration, FilteringIteration, HashJoinIteration, IndependentJoingroupBindingsIteration, IndependentJoingroupBindingsIteration2, IndependentJoingroupBindingsIteration3, JoinExecutorBase, JoinIterator, LeftJoinIterator, MemStatementIterator, MultiProjectionIterator, ParallelExecutorBase, ParallelServiceExecutor, PathIteration, QueueIteration, SPARQLCrossProductIteration, UnionIteration, ZeroLengthPathIteration

public abstract class LookAheadIteration<E,X extends Exception> extends AbstractCloseableIteration<E,X>
An Iteration that looks one element ahead, if necessary, to handle calls to hasNext(). This is a convenient super class for Iterations that have no easy way to tell if there are any more results, but still should implement the java.util.Iteration interface.
  • Constructor Details

    • LookAheadIteration

      protected LookAheadIteration()
  • Method Details

    • getNextElement

      protected abstract E getNextElement() throws X
      Gets the next element. Subclasses should implement this method so that it returns the next element.
      Returns:
      The next element, or null if no more elements are available.
      Throws:
      X extends Exception
    • hasNext

      public final boolean hasNext() throws X
      Description copied from interface: Iteration
      Returns true if the iteration has more elements. (In other words, returns true if Iteration.next() would return an element rather than throwing a NoSuchElementException.)
      Returns:
      true if the iteration has more elements.
      Throws:
      X
    • next

      public final E next() throws X
      Description copied from interface: Iteration
      Returns the next element in the iteration.
      Returns:
      the next element in the iteration.
      Throws:
      X extends Exception
    • remove

      public void remove()
    • handleClose

      protected void handleClose() throws X
      Description copied from class: AbstractCloseableIteration
      Called by AbstractCloseableIteration.close() when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.
      Overrides:
      handleClose in class AbstractCloseableIteration<E,X extends Exception>
      Throws:
      X