Class PassThroughTupleExpr
java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
org.eclipse.rdf4j.federated.algebra.PassThroughTupleExpr
- All Implemented Interfaces:
Serializable
,Cloneable
,FedXTupleExpr
,QueryRef
,VariableExpr
,QueryModelNode
,TupleExpr
,VariableScopeChange
Marker
TupleExpr
that is used from FedXTupleQuery.evaluate(TupleQueryResultHandler)
to allow for
passing through of results to the handler.
Passing through of results to the handler is supported for SingleSourceQuery
s, i.e. if the original query is
sent as is to the single relevant source. In this case no materialization and in-memory handling through FedX is
done, if a TupleQueryResultHandler
is supplied.
- Author:
- Andreas Schwarte
- See Also:
-
Constructor Summary
ConstructorDescriptionPassThroughTupleExpr
(TupleExpr parsedQuery, TupleQueryResultHandler resultHandler) -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a (deep) clone of this query model node.Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.getExpr()
Retrieve the attached query information of the tuple expressionboolean
void
replaceChildNode
(QueryModelNode current, QueryModelNode replacement) Replaces one of the child nodes with a new node.void
setPassedThrough
(boolean flag) <X extends Exception>
voidvisit
(QueryModelVisitor<X> visitor) Visits this node.<X extends Exception>
voidvisitChildren
(QueryModelVisitor<X> visitor) Visits the children of this node.Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.federated.algebra.FedXTupleExpr
getFreeVarCount
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
Constructor Details
-
PassThroughTupleExpr
-
-
Method Details
-
visitChildren
Description copied from interface:QueryModelNode
Visits the children of this node. The node callsQueryModelNode.visit(QueryModelVisitor)
on all of its child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Throws:
X
-
replaceChildNode
Description copied from interface:QueryModelNode
Replaces one of the child nodes with a new node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Parameters:
current
- The current child node.replacement
- The new child node.
-
getResultHandler
-
getExpr
-
isPassedThrough
public boolean isPassedThrough()- Returns:
- if the query result has already been passed through to the supplied
TupleQueryResultHandler
-
setPassedThrough
public void setPassedThrough(boolean flag) -
getBindingNames
Description copied from interface:TupleExpr
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNames
in interfaceTupleExpr
- Returns:
- A set of binding names.
-
getAssuredBindingNames
Description copied from interface:TupleExpr
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNames
in interfaceTupleExpr
- Returns:
- A set of binding names.
-
clone
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceTupleExpr
- Overrides:
clone
in classAbstractQueryModelNode
- Returns:
- A deep clone of this query model node.
-
visit
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visit
in interfaceQueryModelNode
- Throws:
X
-
getFreeVars
- Specified by:
getFreeVars
in interfaceVariableExpr
- Returns:
- a list of free (i.e. unbound) variables in this expression
-
getQueryInfo
Description copied from interface:QueryRef
Retrieve the attached query information of the tuple expression- Specified by:
getQueryInfo
in interfaceQueryRef
- Returns:
- the
QueryInfo
-