Class IterationWrapper<E,X extends Exception>

java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.IterationWrapper<E,X>
All Implemented Interfaces:
AutoCloseable, CloseableIteration<E,X>, Iteration<E,X>
Direct Known Subclasses:
BackgroundGraphResult, FilterIteration, InsertBindingSetCursor, IteratingGraphQueryResult, IteratingTupleQueryResult, LimitIteration, LockingIteration, SilentIteration, TimeLimitIteration

public class IterationWrapper<E,X extends Exception> extends AbstractCloseableIteration<E,X>
Abstract superclass for Iterations that wrap other Iterations. The abstract class IterationWrapper itself provides default methods that forward method calls to the wrapped Iteration. Subclasses of IterationWrapper should override some of these methods and may also provide additional methods and fields.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Iteration<? extends E,? extends X>
    Deprecated.
    This will be changed to private, possibly with an accessor in future.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    IterationWrapper(Iteration<? extends E,? extends X> iter)
    Creates a new IterationWrapper that operates on the supplied Iteration.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Closes this Iteration and also closes the wrapped Iteration if it is a CloseableIteration.
    boolean
    Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case.
    Returns the next element from the wrapped Iteration.
    void
    Removes the last element that has been returned from the wrapped 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.Iteration

    stream
  • Field Details

    • wrappedIter

      @Deprecated protected final Iteration<? extends E,? extends X extends Exception> wrappedIter
      Deprecated.
      This will be changed to private, possibly with an accessor in future. Do not rely on it.
      The wrapped Iteration.
  • Constructor Details

    • IterationWrapper

      protected IterationWrapper(Iteration<? extends E,? extends X> iter)
      Creates a new IterationWrapper that operates on the supplied Iteration.
      Parameters:
      iter - The wrapped Iteration for this IterationWrapper, must not be null.
  • Method Details

    • hasNext

      public boolean hasNext() throws X
      Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case.
      Returns:
      true if the wrapped Iteration contains more elements, false otherwise.
      Throws:
      X
    • next

      public E next() throws X
      Returns the next element from the wrapped Iteration.
      Returns:
      the next element in the iteration.
      Throws:
      NoSuchElementException - If all elements have been returned or it has been closed.
      X extends Exception
    • remove

      public void remove() throws X
      Removes the last element that has been returned from the wrapped Iteration.
      Throws:
      UnsupportedOperationException - If the wrapped Iteration does not support the remove operation.
      IllegalStateException - if the Iteration has been closed, or if next() has not yet been called, or remove() has already been called after the last call to next().
      X extends Exception
    • handleClose

      protected void handleClose() throws X
      Closes this Iteration and also closes the wrapped Iteration if it is a CloseableIteration.
      Overrides:
      handleClose in class AbstractCloseableIteration<E,X extends Exception>
      Throws:
      X