Class TimeLimitIteration<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.iteration.TimeLimitIteration<E,X>
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<E,
,X> Iteration<E,
X>
- Direct Known Subclasses:
AbstractParserQuery.QueryInterruptIteration
,AbstractParserQuery.QueryInterruptIteration
@Deprecated(since="4.1.0")
public abstract class TimeLimitIteration<E,X extends Exception>
extends IterationWrapper<E,X>
Deprecated.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final InterruptTask
<E, X> Deprecated.private final AtomicBoolean
Deprecated.private final org.slf4j.Logger
Deprecated.private static final Timer
Deprecated.Fields inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper
wrappedIter
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TimeLimitIteration
(Iteration<? extends E, ? extends X> iter, long timeLimit) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Deprecated.protected void
Deprecated.Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.boolean
hasNext()
Deprecated.Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case.(package private) void
Deprecated.Users of this class must call this method to interrupt the execution at the next available point.next()
Deprecated.Returns the next element from the wrapped Iteration.void
remove()
Deprecated.Removes the last element that has been returned from the wrapped Iteration.protected abstract void
Deprecated.If the iteration is interrupted by its time limit, this method is called to generate and throw the appropriate exception.Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
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
-
Field Details
-
timer
Deprecated. -
logger
private final org.slf4j.Logger loggerDeprecated. -
interruptTask
Deprecated. -
isInterrupted
Deprecated.
-
-
Constructor Details
-
TimeLimitIteration
Deprecated.
-
-
Method Details
-
hasNext
public boolean hasNext() throws XDeprecated.Description copied from class:IterationWrapper
Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case. -
next
Deprecated.Description copied from class:IterationWrapper
Returns the next element from the wrapped Iteration. -
remove
public void remove() throws XDeprecated.Description copied from class:IterationWrapper
Removes the last element that has been returned from the wrapped Iteration. -
handleClose
protected void handleClose() throws XDeprecated.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
-
checkInterrupted
private void checkInterrupted() throws XDeprecated.- Throws:
X
-
throwInterruptedException
protected abstract void throwInterruptedException() throws XDeprecated.If the iteration is interrupted by its time limit, this method is called to generate and throw the appropriate exception.- Throws:
X
- The generic class of exceptions thrown by this method.
-
interrupt
void interrupt()Deprecated.Users of this class must call this method to interrupt the execution at the next available point. It does not immediately interrupt the running method, but will call close() and set a flag to increase the chances of it being picked up as soon as possible and to cleanup its resources.
Note, this method does not generateInterruptedException
s that would occur ifThread.interrupt()
were called on this thread.
-