Class FedXPathIteration
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
org.eclipse.rdf4j.federated.evaluation.iterator.FedXPathIteration
- All Implemented Interfaces:
AutoCloseable,Iterator<BindingSet>,CloseableIteration<BindingSet>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA specialized BingingSet that can only hold the start and end values of a Path. -
Constructor Summary
ConstructorsConstructorDescriptionFedXPathIteration(EvaluationStrategy strategy, StatementPattern.Scope scope, Var startVar, TupleExpr pathExpression, Var endVar, Var contextVar, long minLength, BindingSet bindings, QueryInfo queryInfo) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanadd(Set<BindingSet> valueSet, FedXPathIteration.ValuePair vp) protected booleanaddToQueue(Queue<BindingSet> valueQueue2, FedXPathIteration.ValuePair vp) static final Function<BindingSet,Value> Used to turn a method call into a direct field accessstatic final Predicate<BindingSet>Used to turn a method call into a direct field accessprotected BindingSetGets the next element.static final BiConsumer<Value,MutableBindingSet> Used to turn a method call into a direct field accessprotected voidCalled byAbstractCloseableIteration.close()when it is called for the first time.protected booleanisUnbound(Var var, BindingSet bindings) Methods inherited from class org.eclipse.rdf4j.common.iteration.LookAheadIteration
hasNext, next, removeMethods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
streamMethods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
FedXPathIteration
public FedXPathIteration(EvaluationStrategy strategy, StatementPattern.Scope scope, Var startVar, TupleExpr pathExpression, Var endVar, Var contextVar, long minLength, BindingSet bindings, QueryInfo queryInfo) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
-
Method Details
-
getSet
Used to turn a method call into a direct field access- Parameters:
s- the name of the variable to see if it is in the bindingset- Returns:
- the value of the start or end or if asked for a different field a null.
-
getGet
Used to turn a method call into a direct field access- Parameters:
s- the name of the variable to see if it is in the bindingset- Returns:
- the value of the start or end, if asked for a different field throw an illegalstate exception
-
getHas
Used to turn a method call into a direct field access- Parameters:
s- the name of the variable to see if it is in the bindingset- Returns:
- true if start or end is not null, if asked for a different field throw an illegalstate exception
-
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
-
addToQueue
protected boolean addToQueue(Queue<BindingSet> valueQueue2, FedXPathIteration.ValuePair vp) throws QueryEvaluationException - Parameters:
valueQueue2-vp-- Throws:
QueryEvaluationException
-
add
protected boolean add(Set<BindingSet> valueSet, FedXPathIteration.ValuePair vp) throws QueryEvaluationException - Parameters:
valueSet-vp-- Throws:
QueryEvaluationException
-
isUnbound
-