Class JoinIterator
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
org.eclipse.rdf4j.query.algebra.evaluation.iterator.JoinIterator
- All Implemented Interfaces:
AutoCloseable
,Iterator<BindingSet>
,CloseableIteration<BindingSet>
Interleaved join iterator.
This join iterator produces results by interleaving results from its left argument into its right argument to speed up bindings and produce fail-fast results. Note that this join strategy is only valid in cases where all bindings from the left argument can be considered in scope for the right argument.
- Author:
- Jeen Broekstra
-
Constructor Summary
ConstructorDescriptionJoinIterator
(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings) -
Method Summary
Modifier and TypeMethodDescriptionstatic CloseableIteration
<BindingSet> getInstance
(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings) protected BindingSet
Gets the next element.protected void
Called byAbstractCloseableIteration.close()
when it is called for the first time.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
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
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
JoinIterator
public JoinIterator(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
-
Method Details
-
getInstance
public static CloseableIteration<BindingSet> getInstance(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings) -
getNextElement
Description copied from class:LookAheadIteration
Gets the next element. Subclasses should implement this method so that it returns the next element.- Specified by:
getNextElement
in classLookAheadIteration<BindingSet>
- Returns:
- The next element, or null if no more elements are available.
- Throws:
QueryEvaluationException
-
handleClose
Description copied from class:AbstractCloseableIteration
Called byAbstractCloseableIteration.close()
when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.- Specified by:
handleClose
in classAbstractCloseableIteration<BindingSet>
- Throws:
QueryEvaluationException
-