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>
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
ConstructorDescriptionLockingIteration
(Lock lock, Iteration<? extends E, X> iter) Creates a new LockingIteration. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T,
R extends Exception>
CloseableIteration<T,R> getInstance
(Lock lock, CloseableIteration<T, R> iter) protected void
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.Methods inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper
hasNext, next, remove
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
-
Constructor Details
-
LockingIteration
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.
-
-
Method Details
-
getInstance
public static <T,R extends Exception> CloseableIteration<T,R> getInstance(Lock lock, CloseableIteration<T, R> iter) -
handleClose
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
-