org.eclipse.rdf4j.common.iteration

## Class ExceptionConvertingIteration<E,X extends Exception>

- java.lang.Object
- - org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
  - - org.eclipse.rdf4j.common.iteration.ExceptionConvertingIteration<E,X>

- All Implemented Interfaces:
    AutoCloseable, CloseableIteration<E,X>, Iteration<E,X>
  Direct Known Subclasses:
    RepositoryExceptionConvertingIteration

      public abstract class ExceptionConvertingIteration<E,X extends Exception>
      extends AbstractCloseableIteration<E,X>

  A CloseableIteration that converts an arbitrary iteration to an iteration with exceptions of type `X`. Subclasses need to override `convert(Exception)` to do the conversion.

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract X` | `convert(Exception e)` Converts an exception from the underlying iteration to an exception of type `X`.
    `protected void` | `handleClose()` Closes this Iteration as well as the wrapped Iteration if it happens to be a `CloseableIteration` .
    `boolean` | `hasNext()` Checks whether the underlying Iteration contains more elements.
    `E` | `next()` Returns the next element from the wrapped Iteration.
    `void` | `remove()` Calls `remove()` on 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.Iteration

      `stream`

- - ### Constructor Detail

    - #### ExceptionConvertingIteration

          protected ExceptionConvertingIteration(Iteration<? extends E,? extends Exception> iter)

      Creates a new ExceptionConvertingIteration that operates on the supplied iteration.
      Parameters:
        `iter` - The Iteration that this `ExceptionConvertingIteration` operates on, must not be `null`.

  - ### Method Detail

    - #### convert

          protected abstract X convert(Exception e)

      Converts an exception from the underlying iteration to an exception of type `X`.

    - #### hasNext

          public boolean hasNext()
                          throws X extends Exception

      Checks whether the underlying Iteration contains more elements.
      Returns:
        `true` if the underlying 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:
        `X`
        `NoSuchElementException` - If all elements have been returned.
        `IllegalStateException` - If the Iteration has been closed.
        `X extends Exception`

    - #### remove

          public void remove()
                      throws X extends Exception

      Calls `remove()` on the underlying 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 as well as the wrapped Iteration if it happens to be a `CloseableIteration` .
      Overrides:
        `handleClose` in class `AbstractCloseableIteration<E,X extends Exception>`
      Throws:
        `X`
        `X extends Exception`

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