Class AbstractCloseableIteration<E,X extends Exception>
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<E,
,X> Iteration<E,
X>
- Direct Known Subclasses:
CloseableIteratorIteration
,CloseDependentConnectionIteration
,CollectionIteration
,ConvertingIteration
,DelayedEvaluationIteration
,DelayedIteration
,EmptyIteration
,ExceptionConvertingIteration
,GraphToBindingSetConversionIteration
,IterationWrapper
,LookAheadIteration
,PrintingIteration
,QueryContextIteration
,QueryResultIteration
,RepositoryResult
,SingleBindingSetIteration
,SingletonIteration
,StatementConversionIteration
,StopRemainingExecutionsOnCloseIteration
public abstract class AbstractCloseableIteration<E,X extends Exception>
extends Object
implements CloseableIteration<E,X>
Base class for
CloseableIteration
s offering common functionality. This class keeps track of whether the
iteration has been closed and handles multiple calls to close()
by ignoring all but the first call.
Instances of this class is not safe to be accessed from multiple threads at the same time.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
close()
CallshandleClose()
upon first call and makes sure the resource closures are only executed once.protected void
Called byclose()
when it is called for the first time.final boolean
isClosed()
Checks whether this CloseableIteration has been closed.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
stream
-
Constructor Details
-
AbstractCloseableIteration
public AbstractCloseableIteration()
-
-
Method Details
-
isClosed
public final boolean isClosed()Checks whether this CloseableIteration has been closed.- Returns:
- true if the CloseableIteration has been closed, false otherwise.
-
close
CallshandleClose()
upon first call and makes sure the resource closures are only executed once.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseableIteration<E,
X extends Exception> - Throws:
X extends Exception
-
handleClose
Called byclose()
when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.- Throws:
X
-