Class DelayedIteration<E,X extends Exception>

java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.DelayedIteration<E,X>
All Implemented Interfaces:
AutoCloseable, CloseableIteration<E,X>, Iteration<E,X>
Direct Known Subclasses:
OrderIterator, QueryEvaluationStep.DelayedEvaluationIteration

@Deprecated(since="4.1.0") public abstract class DelayedIteration<E,X extends Exception> extends AbstractCloseableIteration<E,X>
Deprecated.
An iteration that delays the creation of the underlying iteration until it is being accessed. This is mainly useful for situations where iteration creation adds considerable overhead but where the iteration may not actually be used, or where a created iteration consumes scarce resources like JDBC-connections or memory. Subclasses must implement the createIteration method, which is called once when the iteration is first needed.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Deprecated.
    Creates a new DelayedIteration.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract Iteration<? extends E,? extends X>
    Deprecated.
    Creates the iteration that should be iterated over.
    protected void
    Deprecated.
    Closes this iteration as well as the underlying iteration if it has already been created and happens to be a CloseableIteration.
    boolean
    Deprecated.
    Calls the hasNext method of the underlying iteration.
    Deprecated.
    Calls the next method of the underlying iteration.
    void
    Deprecated.
    Calls the remove method of the underlying iteration.

    Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration

    close, isClosed

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration

    stream
  • Constructor Details

    • DelayedIteration

      protected DelayedIteration()
      Deprecated.
      Creates a new DelayedIteration.
  • Method Details

    • createIteration

      protected abstract Iteration<? extends E,? extends X> createIteration() throws X
      Deprecated.
      Creates the iteration that should be iterated over. This method is called only once, when the iteration is first needed.
      Throws:
      X
    • hasNext

      public boolean hasNext() throws X
      Deprecated.
      Calls the hasNext method of the underlying iteration.
      Returns:
      true if the iteration has more elements.
      Throws:
      X
    • next

      public E next() throws X
      Deprecated.
      Calls the next method of the underlying iteration.
      Returns:
      the next element in the iteration.
      Throws:
      X
    • remove

      public void remove() throws X
      Deprecated.
      Calls the remove method of the underlying iteration.
      Throws:
      X
    • handleClose

      protected void handleClose() throws X
      Deprecated.
      Closes this iteration as well as the underlying iteration if it has already been created and happens to be a CloseableIteration.
      Overrides:
      handleClose in class AbstractCloseableIteration<E,X extends Exception>
      Throws:
      X