Class LockingIteration<E,X extends Exception>
- java.lang.Object
-
- org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
-
- org.eclipse.rdf4j.common.iteration.IterationWrapper<E,X>
-
- org.eclipse.rdf4j.common.concurrent.locks.LockingIteration<E,X>
-
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<E,X>
,Iteration<E,X>
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.
-
-
Field Summary
-
Fields inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper
wrappedIter
-
-
Constructor Summary
Constructors Constructor Description LockingIteration(Lock lock, Iteration<? extends E,X> iter)
Creates a new LockingIteration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
handleClose()
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.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
-
-
-
-
Method Detail
-
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.
-
next
public E next() throws X extends Exception
Description copied from class:IterationWrapper
Returns the next element from the wrapped Iteration.
-
remove
public void remove() throws X extends Exception
Description copied from class:IterationWrapper
Removes the last element that has been returned from the wrapped Iteration.
-
handleClose
protected void handleClose() throws X extends Exception
Description copied from class:IterationWrapper
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.- Overrides:
handleClose
in classIterationWrapper<E,X extends Exception>
- Throws:
X
X extends Exception
-
-