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 AtomicBooleanDeprecated.private final org.slf4j.LoggerDeprecated.private static final TimerDeprecated.Fields inherited from class IterationWrapper
wrappedIter -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTimeLimitIteration(Iteration<? extends E, ? extends X> iter, long timeLimit) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidDeprecated.protected voidDeprecated.Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration.booleanhasNext()Deprecated.Checks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case.(package private) voidDeprecated.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.voidremove()Deprecated.Removes the last element that has been returned from the wrapped Iteration.protected abstract voidDeprecated.If the iteration is interrupted by its time limit, this method is called to generate and throw the appropriate exception.Methods inherited from class AbstractCloseableIteration
close, isClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloseableIteration
stream
-
Field Details
-
timer
Deprecated. -
logger
private final org.slf4j.Logger loggerDeprecated. -
interruptTask
Deprecated. -
isInterrupted
Deprecated.
-
-
Constructor Details
-
TimeLimitIteration
-
-
Method Details
-
hasNext
public boolean hasNext() throws XDeprecated.Description copied from class:IterationWrapperChecks whether the wrapped Iteration contains more elements, closing this Iteration when this is not the case. -
next
Deprecated.Description copied from class:IterationWrapperReturns the next element from the wrapped Iteration. -
remove
public void remove() throws XDeprecated.Description copied from class:IterationWrapperRemoves the last element that has been returned from the wrapped Iteration. -
handleClose
protected void handleClose() throws XDeprecated.Description copied from class:IterationWrapperCloses this Iteration and also closes the wrapped Iteration if it is aCloseableIteration.- Overrides:
handleClosein 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 generateInterruptedExceptions that would occur ifThread.interrupt()were called on this thread.
-