Class SPARQLCrossProductIteration
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
org.eclipse.rdf4j.repository.sparql.federation.SPARQLCrossProductIteration
- All Implemented Interfaces:
 AutoCloseable, Iterator<BindingSet>, CloseableIteration<BindingSet>
Iteration which forms the cross product of a list of materialized input bindings with each result obtained from the
inner iteration. Example:  inputBindings := {b1, b2, ...} resultIteration := {r1, r2, ...} getNextElement()
returns (r1,b1), (r1, b2), ..., (r2, b1), (r2, b2), ... i.e. compute the cross product per result binding  
Note that this class is a fully equivalent copy of
CrossProductIteration, 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
FieldsModifier and TypeFieldDescriptionprotected BindingSetprotected final List<BindingSet> protected Iterator<BindingSet> protected final CloseableIteration<BindingSet> Fields inherited from interface CloseableIteration
EMPTY_STATEMENT_ITERATION - 
Constructor Summary
ConstructorsConstructorDescriptionSPARQLCrossProductIteration(CloseableIteration<BindingSet> resultIteration, List<BindingSet> inputBindings)  - 
Method Summary
Modifier and TypeMethodDescriptionprotected BindingSetGets the next element.protected voidCalled byAbstractCloseableIteration.close()when it is called for the first time.Methods inherited from class LookAheadIteration
hasNext, next, removeMethods inherited from class AbstractCloseableIteration
close, isClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloseableIteration
streamMethods inherited from interface Iterator
forEachRemaining 
- 
Field Details
- 
inputBindings
 - 
resultIteration
 - 
inputBindingsIterator
 - 
currentInputBinding
 
 - 
 - 
Constructor Details
- 
SPARQLCrossProductIteration
public SPARQLCrossProductIteration(CloseableIteration<BindingSet> resultIteration, List<BindingSet> inputBindings)  
 - 
 - 
Method Details
- 
getNextElement
Description copied from class:LookAheadIterationGets the next element. Subclasses should implement this method so that it returns the next element.- Specified by:
 getNextElementin classLookAheadIteration<BindingSet>- Returns:
 - The next element, or null if no more elements are available.
 - Throws:
 QueryEvaluationException
 - 
handleClose
Description copied from class:AbstractCloseableIterationCalled 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:
 handleClosein classAbstractCloseableIteration<BindingSet>- Throws:
 QueryEvaluationException
 
 -