info.aduna.iteration
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>
All Known Implementing Classes:
CloseableIterationBase, CloseableIteratorIteration, ConvertingIteration, ConvertingIterator, DelayedIteration, DelayedIterator, DistinctIteration, DistinctIterator, EmptyIteration, EmptyIterator, ExceptionConvertingIteration, FilterIteration, FilterIterator, IntersectIteration, IntersectIterator, IterationWrapper, IteratorIteration, IteratorWrapper, LimitIteration, LimitIterator, LockingIteration, LockingIterator, LookAheadIteration, LookAheadIterator, MinusIteration, MinusIterator, OffsetIteration, OffsetIterator, SingletonIteration, SingletonIterator, UnionIteration, UnionIterator

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 {@link RuntimeException)s.

Author:
jeen, Herko ter Horst
See Also:
Iterator

Method Summary
 boolean hasNext()
          Returns true if the iteration has more elements.
 E next()
          Returns the next element in the iteration.
 void remove()
          Removes from the underlying collection the last element returned by the iteration (optional operation).
 

Method Detail

hasNext

boolean hasNext()
                throws X extends Exception
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
X extends Exception

next

E next()
       throws X extends Exception
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 extends Exception
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


Copyright 1997-2008 Aduna. All Rights Reserved.