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,GraphPatternGroupable,QueryModelNode,TupleExpr,VariableScopeChange
public class PassThroughTupleExpr extends AbstractQueryModelNode implements FedXTupleExpr
MarkerTupleExprthat is used fromFedXTupleQuery.evaluate(TupleQueryResultHandler)to allow for passing through of results to the handler.Passing through of results to the handler is supported for
SingleSourceQuerys, 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 aTupleQueryResultHandleris supplied.- Author:
- Andreas Schwarte
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description PassThroughTupleExpr(TupleExpr parsedQuery, TupleQueryResultHandler resultHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PassThroughTupleExprclone()Returns a (deep) clone of this query model node.Set<String>getAssuredBindingNames()Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.Set<String>getBindingNames()Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.TupleExprgetExpr()List<String>getFreeVars()QueryInfogetQueryInfo()Retrieve the attached query information of the tuple expressionTupleQueryResultHandlergetResultHandler()booleanisPassedThrough()voidsetPassedThrough(boolean flag)<X extends Exception>
voidvisit(QueryModelVisitor<X> visitor)Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)that does nothing.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceChildNode, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, 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, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Constructor Detail
-
PassThroughTupleExpr
public PassThroughTupleExpr(TupleExpr parsedQuery, TupleQueryResultHandler resultHandler)
-
-
Method Detail
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from class:AbstractQueryModelNodeDummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)that does nothing. Subclasses should override this method when they have child nodes.- Specified by:
visitChildrenin interfaceQueryModelNode- Overrides:
visitChildrenin classAbstractQueryModelNode- Throws:
X extends Exception
-
getResultHandler
public TupleQueryResultHandler getResultHandler()
-
getExpr
public TupleExpr 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
public Set<String> getBindingNames()
Description copied from interface:TupleExprGets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
getAssuredBindingNames
public Set<String> getAssuredBindingNames()
Description copied from interface:TupleExprGets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
clone
public PassThroughTupleExpr clone()
Description copied from interface:QueryModelNodeReturns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clonein interfaceQueryModelNode- Specified by:
clonein interfaceTupleExpr- Overrides:
clonein classAbstractQueryModelNode- Returns:
- A deep clone of this query model node.
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNodeVisits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visitin interfaceQueryModelNode- Throws:
X extends Exception
-
getFreeVars
public List<String> getFreeVars()
- Specified by:
getFreeVarsin interfaceVariableExpr- Returns:
- a list of free (i.e. unbound) variables in this expression
-
getQueryInfo
public QueryInfo getQueryInfo()
Description copied from interface:QueryRefRetrieve the attached query information of the tuple expression- Specified by:
getQueryInfoin interfaceQueryRef- Returns:
- the
QueryInfo
-
-