Class SPARQLCrossProductIteration
- java.lang.Object
-
- org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
-
- org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet,QueryEvaluationException>
-
- org.eclipse.rdf4j.repository.sparql.federation.SPARQLCrossProductIteration
-
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<BindingSet,QueryEvaluationException>
,Iteration<BindingSet,QueryEvaluationException>
public class SPARQLCrossProductIteration extends LookAheadIteration<BindingSet,QueryEvaluationException>
Iteration which forms the cross product of a list of materialized input bindings with each result obtained from the inner iteration. Example: Note that this class is a fully equivalent copy ofCrossProductIteration
, and is only included here to avoid a circular dependency between the algebra-evaluation module and the sparql-repository module.- Author:
- Andreas Schwarte
-
-
Field Summary
Fields Modifier and Type Field Description protected BindingSet
currentInputBinding
protected List<BindingSet>
inputBindings
protected Iterator<BindingSet>
inputBindingsIterator
protected CloseableIteration<BindingSet,QueryEvaluationException>
resultIteration
-
Constructor Summary
Constructors Constructor Description SPARQLCrossProductIteration(CloseableIteration<BindingSet,QueryEvaluationException> resultIteration, List<BindingSet> inputBindings)
-
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.-
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
-
inputBindings
protected final List<BindingSet> inputBindings
-
resultIteration
protected final CloseableIteration<BindingSet,QueryEvaluationException> resultIteration
-
inputBindingsIterator
protected Iterator<BindingSet> inputBindingsIterator
-
currentInputBinding
protected BindingSet currentInputBinding
-
-
Constructor Detail
-
SPARQLCrossProductIteration
public SPARQLCrossProductIteration(CloseableIteration<BindingSet,QueryEvaluationException> resultIteration, List<BindingSet> inputBindings)
-
-
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
-
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
-
-