Class PathIteration
- java.lang.Object
-
- org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E>
-
- org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
-
- org.eclipse.rdf4j.query.algebra.evaluation.iterator.PathIteration
-
- All Implemented Interfaces:
AutoCloseable
,Iterator<BindingSet>
,CloseableIteration<BindingSet>
public class PathIteration extends LookAheadIteration<BindingSet>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PathIteration.ValuePair
A specialized BingingSet that can only hold the start and end values of a Path.
-
Constructor Summary
Constructors Constructor Description PathIteration(EvaluationStrategy strategy, StatementPattern.Scope scope, Var startVar, TupleExpr pathExpression, Var endVar, Var contextVar, long minLength, BindingSet bindings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
add(Set<BindingSet> valueSet, PathIteration.ValuePair vp)
protected boolean
addToQueue(Queue<BindingSet> valueQueue2, PathIteration.ValuePair vp)
static Function<BindingSet,Value>
getGet(String s)
Used to turn a method call into a direct field accessstatic Predicate<BindingSet>
getHas(String s)
Used to turn a method call into a direct field accessprotected BindingSet
getNextElement()
Gets the next element.static BiConsumer<Value,MutableBindingSet>
getSet(String s)
Used to turn a method call into a direct field accessprotected void
handleClose()
Called byAbstractCloseableIteration.close()
when it is called for the first time.protected boolean
isUnbound(Var var, BindingSet 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
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
PathIteration
public PathIteration(EvaluationStrategy strategy, StatementPattern.Scope scope, Var startVar, TupleExpr pathExpression, Var endVar, Var contextVar, long minLength, BindingSet bindings) throws QueryEvaluationException
- Throws:
QueryEvaluationException
-
-
Method Detail
-
getSet
@InternalUseOnly public static final BiConsumer<Value,MutableBindingSet> getSet(String s)
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
public static final Function<BindingSet,Value> getGet(String s)
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
public static final Predicate<BindingSet> getHas(String s)
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
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>
- 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.- Specified by:
handleClose
in classAbstractCloseableIteration<BindingSet>
- Throws:
QueryEvaluationException
-
addToQueue
protected boolean addToQueue(Queue<BindingSet> valueQueue2, PathIteration.ValuePair vp) throws QueryEvaluationException
- Parameters:
valueQueue2
-vp
-- Throws:
QueryEvaluationException
-
add
protected boolean add(Set<BindingSet> valueSet, PathIteration.ValuePair vp) throws QueryEvaluationException
- Parameters:
valueSet
-vp
-- Throws:
QueryEvaluationException
-
isUnbound
protected boolean isUnbound(Var var, BindingSet bindings)
-
-