Package org.eclipse.rdf4j.query.impl
Class QueueCursor<E>
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<E,T>
org.eclipse.rdf4j.common.iteration.QueueIteration<E,QueryEvaluationException>
org.eclipse.rdf4j.query.impl.QueueCursor<E>
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<E,
,QueryEvaluationException> Iteration<E,
QueryEvaluationException>
- Direct Known Subclasses:
FedXQueueCursor
Makes working with a queue easier by adding the methods
QueueIteration.done()
and QueueIteration.toss(Exception)
and
automatically converting the exception into a QueryEvaluationException with an appropriate stack trace.- Author:
- James Leigh
-
Constructor Summary
ConstructorDescriptionQueueCursor
(int capacity, boolean fair, WeakReference<?> callerReference) Creates an QueueCursor with the given (fixed) capacity and the specified access policy.QueueCursor
(int capacity, WeakReference<?> callerReference) Creates an QueueCursor with the given (fixed) capacity and default access policy.QueueCursor
(BlockingQueue<E> queue, WeakReference<?> callerReference) Creates an QueueCursor with the givenBlockingQueue
as its backing queue.
It may not be threadsafe to modify or access the givenBlockingQueue
from other locations. -
Method Summary
Modifier and TypeMethodDescriptionprotected QueryEvaluationException
Converts an exception from the underlying iteration to an exception of type X.Methods inherited from class org.eclipse.rdf4j.common.iteration.QueueIteration
checkException, done, getNextElement, handleClose, put, toss
Methods inherited from class org.eclipse.rdf4j.common.iteration.LookAheadIteration
hasNext, next, remove
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
-
Constructor Details
-
QueueCursor
Creates an QueueCursor with the given (fixed) capacity and default access policy.- Parameters:
capacity
- the capacity of this queuecallerReference
- the thing that needs this cursor. Used to detect unexpected code failures and clean up in those case
-
QueueCursor
Creates an QueueCursor with the given (fixed) capacity and the specified access policy.- Parameters:
capacity
- the capacity of this queuefair
- if true then queue accesses for threads blocked on insertion or removal, are processed in FIFO order; if false the access order is unspecified.callerReference
- the thing that needs this cursor. Used to detect unexpected code failures and clean up in those case
-
QueueCursor
Creates an QueueCursor with the givenBlockingQueue
as its backing queue.
It may not be threadsafe to modify or access the givenBlockingQueue
from other locations. This method only enables the defaultArrayBlockingQueue
to be overridden.- Parameters:
queue
- A BlockingQueue that is not used in other locations, but will be used as the backing Queue implementation for this cursor.callerReference
- the thing that needs this cursor. Used to detect unexpected code failures and clean up in those case
-
-
Method Details
-
convert
Description copied from class:QueueIteration
Converts an exception from the underlying iteration to an exception of type X.- Specified by:
convert
in classQueueIteration<E,
QueryEvaluationException>
-