info.aduna.iteration
Class LockingIteration<E,X extends Exception>
java.lang.Object
info.aduna.iteration.CloseableIterationBase<E,X>
info.aduna.iteration.IterationWrapper<E,X>
info.aduna.iteration.LockingIteration<E,X>
- All Implemented Interfaces:
- CloseableIteration<E,X>, Iteration<E,X>
- Direct Known Subclasses:
- LockingIterator
public class LockingIteration<E,X extends Exception>
- extends IterationWrapper<E,X>
An Iteration that holds on to a lock until the Iteration is closed. Upon
closing, the underlying Iteration is closed before the lock is released. This
iterator closes itself as soon as all elements have been read.
|
Method Summary |
protected void |
handleClose()
Closed 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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LockingIteration
public LockingIteration(Lock lock,
Iteration<? extends E,X> iter)
- Creates a new LockingIteration.
- Parameters:
lock - The lock to release when the itererator is closed, must not be
null.iter - The underlying Iteration, must not be null.
hasNext
public boolean hasNext()
throws X extends Exception
- Description copied from class:
IterationWrapper
- Checks whether the wrapped Iteration contains more elements, closing this
Iteration when this is not the case.
- Specified by:
hasNext in interface Iteration<E,X extends Exception>- Overrides:
hasNext in class IterationWrapper<E,X extends Exception>
- Returns:
- true if the wrapped Iteration contains more elements,
false otherwise.
- Throws:
X
X extends Exception
handleClose
protected void handleClose()
throws X extends Exception
- Description copied from class:
IterationWrapper
- Closed this Iteration and also closes the wrapped Iteration if it is a
CloseableIteration.
- Overrides:
handleClose in class IterationWrapper<E,X extends Exception>
- Throws:
X
X extends Exception
Copyright © 1997-2008 Aduna. All Rights Reserved.