Interface Iteration<E,X extends Exception>

Type Parameters:
E - Object type of objects contained in the iteration.
X - Exception type that is thrown when a problem occurs during iteration.
All Known Subinterfaces:
CloseableIteration<E,X>, GraphQueryResult, QueryResult<T>, TupleQueryResult
All Known Implementing Classes:
AbstractCloseableIteration, AbstractParserQuery.QueryInterruptIteration, AbstractParserQuery.QueryInterruptIteration, BackgroundGraphResult, BackgroundTupleResult, BadlyDesignedLeftJoinIterator, BottomUpJoinIterator, BoundJoinConversionIteration, BoundJoinVALUESConversionIteration, CachedGraphQueryResult, CachedTupleQueryResult, CloseableIteratorIteration, CloseablePeakableIteration, CloseDependentConnectionIteration, CollectionIteration, CollectionIteration, CompatibleBindingSetFilter, ConsumingIteration, ControlledWorkerBoundJoin, ControlledWorkerJoin, ControlledWorkerLeftJoin, ControlledWorkerUnion, ConvertingIteration, CrossProductIteration, DelayedIteration, DescribeIteration, DistinctIteration, DistinctModelReducingUnionIteration, EmptyIteration, ExceptionConvertingIteration, ExtensionIterator, FederatedDescribeIteration, FedXQueueCursor, FilteringInsertBindingsIteration, FilteringIteration, FilteringIteration, FilterIteration, FilterIterator, GraphQueryResultImpl, GraphToBindingSetConversionIteration, GroupedCheckConversionIteration, GroupIterator, HashJoin, HashJoinIteration, IndependentJoingroupBindingsIteration, IndependentJoingroupBindingsIteration2, IndependentJoingroupBindingsIteration3, InsertBindingSetCursor, InsertBindingsIteration, IntersectIteration, IteratingGraphQueryResult, IteratingTupleQueryResult, IterationWrapper, IteratorIteration, JoinExecutorBase, JoinExecutorBase, JoinExecutorBase, JoinIterator, LazyMutableClosableIteration, LeftJoinIterator, LimitedSizeDistinctIteration, LimitIteration, LockingIteration, LoggingCloseableIteration, LookAheadIteration, MemStatementIterator, MinusIteration, MultiProjectionIterator, MutableTupleQueryResult, OffsetIteration, OrderIterator, ParallelExecutorBase, ParallelServiceExecutor, PathIteration, PrintingIteration, ProjectionIterator, QueryContextIteration, QueryEvaluationStep.DelayedEvaluationIteration, QueryResultIteration, QueueCursor, QueueIteration, ReducedIteration, RepositoryExceptionConvertingIteration, RepositoryResult, ReusableGraphQueryResult, ReusableTupleQueryResult, ServiceCrossProductIteration, ServiceJoinConversionIteration, ServiceJoinConversionIteration, ServiceJoinIterator, SilentIteration, SilentIteration, SingleBindingSetIteration, SingletonIteration, SPARQLCrossProductIteration, SPARQLMinusIteration, StatementConversionIteration, StopRemainingExecutionsOnCloseIteration, SynchronousBoundJoin, SynchronousJoin, SynchronousWorkerUnion, TimeLimitIteration, TupleQueryResultImpl, UnionExecutorBase, UnionIteration, WorkerUnionBase, ZeroLengthPathIteration

public interface Iteration<E,X extends Exception>
An Iteration is a typed Iterator-like object that can throw (typed) Exceptions while iterating. This is used in cases where the iteration is lazy and evaluates over a (remote) connection, for example accessing a database. In such cases an error can occur at any time and needs to be communicated through a checked exception, something Iterator can not do (it can only throw RuntimeExceptions.
Author:
jeen, Herko ter Horst
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if the iteration has more elements.
    Returns the next element in the iteration.
    void
    Removes from the underlying collection the last element returned by the iteration (optional operation).
    default Stream<E>
    Convert the results to a Java 8 Stream.
  • Method Details

    • hasNext

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

      E next() throws X
      Returns the next element in the iteration.
      Returns:
      the next element in the iteration.
      Throws:
      NoSuchElementException - if the iteration has no more elements or if it has been closed.
      X extends Exception
    • remove

      void remove() throws X
      Removes from the underlying collection the last element returned by the iteration (optional operation). This method can be called only once per call to next.
      Throws:
      UnsupportedOperationException - if the remove operation is not supported by this Iteration.
      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
    • stream

      default Stream<E> stream()
      Convert the results to a Java 8 Stream. If this iteration implements CloseableIteration it should be closed (by calling Stream#close() or using try-with-resource) if it is not fully consumed.
      Returns:
      stream