org.eclipse.rdf4j.common.iteration

## 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, 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 and Description
    --- | ---
    `protected Iteration<? extends E,? extends X>` | `wrappedIter` Deprecated. This will be changed to private, possibly with an accessor in future. Do not rely on it.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `IterationWrapper(Iteration<? extends E,? extends X> iter)` Creates a new IterationWrapper that operates on the supplied Iteration.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `handleClose()` Closes this Iteration and also closes the wrapped Iteration if it is a `CloseableIteration`.
    `boolean` | `hasNext()` Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case.
    `E` | `next()` Returns the next element from the wrapped Iteration.
    `void` | `remove()` 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 Detail

    - #### 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 Detail

    - #### 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 Detail

    - #### hasNext

          public boolean hasNext()
                          throws X extends Exception

      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`
        `X extends Exception`

    - #### next

          public E next()
                 throws X extends Exception

      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 extends Exception

      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 extends Exception

      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`
        `X extends Exception`

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.