Class SynchronousWorkerUnion<T>
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<T>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<T>
org.eclipse.rdf4j.federated.evaluation.concurrent.ParallelExecutorBase<T>
org.eclipse.rdf4j.federated.evaluation.union.UnionExecutorBase<T>
org.eclipse.rdf4j.federated.evaluation.union.WorkerUnionBase<T>
org.eclipse.rdf4j.federated.evaluation.union.SynchronousWorkerUnion<T>
- All Implemented Interfaces:
 AutoCloseable, Runnable, Iterator<T>, CloseableIteration<T>, ParallelExecutor<T>
Synchronous execution of union tasks, i.e. one after the other. The union result is contained in this iteration. Note
that the union operation is to be executed with the 
ParallelExecutorBase.run() method- Author:
 - Andreas Schwarte
 
- 
Field Summary
Fields inherited from class WorkerUnionBase
tasksFields inherited from class ParallelExecutorBase
evaluationThread, executorId, finished, log, NEXT_EXECUTOR_ID, queryInfo, rightIter, rightQueue, strategyFields inherited from interface CloseableIteration
EMPTY_STATEMENT_ITERATION - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected voidunion()Note: this method must block until the union is executed completely.Methods inherited from class WorkerUnionBase
addTask, handleCloseMethods inherited from class UnionExecutorBase
getExecutorType, performExecutionMethods inherited from class ParallelExecutorBase
addResult, checkTimeout, done, getDisplayId, getId, getNextElement, getQueryInfo, isFinished, run, toss, toStringMethods inherited from class LookAheadIteration
hasNext, next, removeMethods inherited from class AbstractCloseableIteration
close, isClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface CloseableIteration
streamMethods inherited from interface Iterator
forEachRemaining 
- 
Constructor Details
- 
SynchronousWorkerUnion
 
 - 
 - 
Method Details
- 
union
Description copied from class:UnionExecutorBaseNote: this method must block until the union is executed completely. Otherwise the result queue is marked as committed while this isn't the case. The blocking behavior in general is no problem: If you need concurrent access to the result (i.e. pipelining) just run the union in a separate thread. Access to the result iteration is synchronized.- Specified by:
 unionin classUnionExecutorBase<T>- Throws:
 Exception
 
 -