Class LazyMutableClosableIteration
java.lang.Object
org.eclipse.rdf4j.federated.evaluation.iterator.LazyMutableClosableIteration
- All Implemented Interfaces:
AutoCloseable,CloseableIteration<BindingSet,,QueryEvaluationException> Iteration<BindingSet,QueryEvaluationException>
public class LazyMutableClosableIteration
extends Object
implements CloseableIteration<BindingSet,QueryEvaluationException>
A specialized
CloseableIteration that allows repetitive iterations after resetting the cursor using
resetCursor().
Note that the inner iteration is lazily consumed.
- Author:
- Andreas Schwarte
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<BindingSet>protected intthe cursor index, is used after the inner iteration is fully consumedprotected final CloseableIteration<BindingSet,QueryEvaluationException> -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this iteration, freeing any resources that it is holding.booleanhasNext()Returns true if the iteration has more elements.next()Returns the next element in the iteration.voidremove()Removes from the underlying collection the last element returned by the iteration (optional operation).voidReset the cursor to read from the already consumed bindings.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
stream
-
Field Details
-
inner
-
consumed
-
cursorIdx
protected volatile int cursorIdxthe cursor index, is used after the inner iteration is fully consumed
-
-
Constructor Details
-
LazyMutableClosableIteration
-
-
Method Details
-
hasNext
Description copied from interface:IterationReturns true if the iteration has more elements. (In other words, returns true ifIteration.next()would return an element rather than throwing a NoSuchElementException.)- Specified by:
hasNextin interfaceIteration<BindingSet,QueryEvaluationException> - Returns:
- true if the iteration has more elements.
- Throws:
QueryEvaluationException
-
next
Description copied from interface:IterationReturns the next element in the iteration.- Specified by:
nextin interfaceIteration<BindingSet,QueryEvaluationException> - Returns:
- the next element in the iteration.
- Throws:
QueryEvaluationException
-
remove
Description copied from interface:IterationRemoves from the underlying collection the last element returned by the iteration (optional operation). This method can be called only once per call to next.- Specified by:
removein interfaceIteration<BindingSet,QueryEvaluationException> - Throws:
QueryEvaluationException
-
close
Description copied from interface:CloseableIterationCloses this iteration, freeing any resources that it is holding. If the iteration has already been closed then invoking this method has no effect.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseableIteration<BindingSet,QueryEvaluationException> - Throws:
QueryEvaluationException
-
resetCursor
public void resetCursor()Reset the cursor to read from the already consumed bindings.
-