Class LeftJoinIterator
- java.lang.Object
-
- org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
-
- org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet,QueryEvaluationException>
-
- org.eclipse.rdf4j.query.algebra.evaluation.iterator.LeftJoinIterator
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,CloseableIteration<BindingSet,QueryEvaluationException>
,Iteration<BindingSet,QueryEvaluationException>
- Direct Known Subclasses:
BadlyDesignedLeftJoinIterator
public class LeftJoinIterator extends LookAheadIteration<BindingSet,QueryEvaluationException>
-
-
Field Summary
Fields Modifier and Type Field Description private QueryValueEvaluationStep
joinCondition
private CloseableIteration<BindingSet,QueryEvaluationException>
leftIter
private QueryEvaluationStep
prepareRightArg
private CloseableIteration<BindingSet,QueryEvaluationException>
rightIter
private java.util.Set<java.lang.String>
scopeBindingNames
The set of binding names that are "in scope" for the filter.
-
Constructor Summary
Constructors Constructor Description LeftJoinIterator(EvaluationStrategy strategy, LeftJoin join, BindingSet bindings, QueryEvaluationContext context)
LeftJoinIterator(QueryEvaluationStep left, QueryEvaluationStep right, QueryValueEvaluationStep joinCondition, BindingSet bindings, java.util.Set<java.lang.String> scopeBindingNamse)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BindingSet
getNextElement()
Gets the next element.protected void
handleClose()
Called byAbstractCloseableIteration.close()
when it is called for the first time.private boolean
isTrue(QueryValueEvaluationStep expr, QueryBindingSet bindings)
-
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
-
-
-
-
Field Detail
-
scopeBindingNames
private final java.util.Set<java.lang.String> scopeBindingNames
The set of binding names that are "in scope" for the filter. The filter must not include bindings that are (only) included because of the depth-first evaluation strategy in the evaluation of the constraint.
-
leftIter
private final CloseableIteration<BindingSet,QueryEvaluationException> leftIter
-
rightIter
private CloseableIteration<BindingSet,QueryEvaluationException> rightIter
-
prepareRightArg
private final QueryEvaluationStep prepareRightArg
-
joinCondition
private final QueryValueEvaluationStep joinCondition
-
-
Constructor Detail
-
LeftJoinIterator
public LeftJoinIterator(EvaluationStrategy strategy, LeftJoin join, BindingSet bindings, QueryEvaluationContext context) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
LeftJoinIterator
public LeftJoinIterator(QueryEvaluationStep left, QueryEvaluationStep right, QueryValueEvaluationStep joinCondition, BindingSet bindings, java.util.Set<java.lang.String> scopeBindingNamse) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
-
Method Detail
-
getNextElement
protected BindingSet getNextElement() throws QueryEvaluationException
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,QueryEvaluationException>
- Returns:
- The next element, or null if no more elements are available.
- Throws:
QueryEvaluationException
-
isTrue
private boolean isTrue(QueryValueEvaluationStep expr, QueryBindingSet bindings)
-
handleClose
protected void handleClose() throws QueryEvaluationException
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.- Overrides:
handleClose
in classLookAheadIteration<BindingSet,QueryEvaluationException>
- Throws:
QueryEvaluationException
-
-