Package org.eclipse.rdf4j.query.algebra
Class AbstractQueryModelNode
java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
- All Implemented Interfaces:
Serializable,Cloneable,QueryModelNode,VariableScopeChange
- Direct Known Subclasses:
Add,ArbitraryLengthPath,BinaryTupleOperator,BinaryValueOperator,BindingSetAssignment,BNodeGenerator,Bound,BoundFiltersNode,Clear,ConjunctiveFilterExpr,Copy,Create,DeleteData,EmptySet,ExclusiveGroup,ExtensionElem,FedXService,FilterExpr,FunctionCall,GroupElem,HolderNode,If,InsertData,Load,Modify,Move,NAryValueOperator,NTuple,OrderElem,PassThroughTupleExpr,ProjectionElem,ProjectionElemList,SingleSourceQuery,SingletonSet,StatementPattern,StatementSource,SubQueryValueOperator,TripleRef,TupleFunctionCall,UnaryTupleOperator,UnaryValueOperator,ValueConstant,ValueExprTripleRef,Var,ZeroLengthPath
public abstract class AbstractQueryModelNode
extends Object
implements QueryModelNode, VariableScopeChange
Base implementation of
QueryModelNode.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()Returns a (deep) clone of this query model node.doubledoubleGets the node's parent.longdoubleReturns the number of tuples that this QueryNode predicts will be outputted.Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.longbooleanbooleanindicates if the node represents a variable scope change.protected booleannullEquals(Object o1, Object o2) protected <T extends QueryModelNode>
booleanreplaceNodeInList(List<T> list, QueryModelNode current, QueryModelNode replacement) voidreplaceWith(QueryModelNode replacement) Default implementation ofQueryModelNode.replaceWith(QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.voidvoidsetCardinality(double cardinality) voidsetCostEstimate(double costEstimate) voidsetParentNode(QueryModelNode parent) Sets the node's parent.voidsetResultSizeActual(long resultSizeActual) voidsetResultSizeEstimate(double resultSizeEstimate) voidsetTotalTimeNanosActual(long totalTimeNanosActual) voidsetVariableScopeChange(boolean isVariableScopeChange) Set the value ofVariableScopeChange.isVariableScopeChange()to true or false.protected booleantoString()Returns an indented print of the node tree, starting from this node.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
equals, replaceChildNode, visit, visitChildren
-
Constructor Details
-
AbstractQueryModelNode
public AbstractQueryModelNode()
-
-
Method Details
-
getParentNode
Description copied from interface:QueryModelNodeGets the node's parent.- Specified by:
getParentNodein interfaceQueryModelNode- Returns:
- The parent node, if any.
-
setParentNode
Description copied from interface:QueryModelNodeSets the node's parent.- Specified by:
setParentNodein interfaceQueryModelNode- Parameters:
parent- The parent node for this node.
-
isVariableScopeChange
public boolean isVariableScopeChange()Description copied from interface:VariableScopeChangeindicates if the node represents a variable scope change.- Specified by:
isVariableScopeChangein interfaceVariableScopeChange- Returns:
- true iff the node represents a variable scope change.
-
setVariableScopeChange
public void setVariableScopeChange(boolean isVariableScopeChange) Description copied from interface:VariableScopeChangeSet the value ofVariableScopeChange.isVariableScopeChange()to true or false.- Specified by:
setVariableScopeChangein interfaceVariableScopeChange
-
replaceWith
Default implementation ofQueryModelNode.replaceWith(QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.- Specified by:
replaceWithin interfaceQueryModelNode- Parameters:
replacement- The new node.
-
getSignature
Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.- Specified by:
getSignaturein interfaceQueryModelNode- Returns:
- The node's signature, e.g. SLICE (offset=10, limit=10).
-
toString
Description copied from interface:QueryModelNodeReturns an indented print of the node tree, starting from this node.- Specified by:
toStringin interfaceQueryModelNode- Overrides:
toStringin classObject
-
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- Overrides:
clonein classObject- Returns:
- A deep clone of this query model node.
-
replaceNodeInList
protected <T extends QueryModelNode> boolean replaceNodeInList(List<T> list, QueryModelNode current, QueryModelNode replacement) -
nullEquals
-
getResultSizeEstimate
public double getResultSizeEstimate()Description copied from interface:QueryModelNodeReturns the number of tuples that this QueryNode predicts will be outputted. For a StatementPattern this would be the estimated cardinality provided by the EvaluationStatistics. For a Join the would be the resulting number of joined tuples.- Specified by:
getResultSizeEstimatein interfaceQueryModelNode- Returns:
- rows
-
setResultSizeEstimate
public void setResultSizeEstimate(double resultSizeEstimate) - Specified by:
setResultSizeEstimatein interfaceQueryModelNode
-
getResultSizeActual
public long getResultSizeActual()- Specified by:
getResultSizeActualin interfaceQueryModelNode
-
setResultSizeActual
public void setResultSizeActual(long resultSizeActual) - Specified by:
setResultSizeActualin interfaceQueryModelNode
-
getCostEstimate
public double getCostEstimate()- Specified by:
getCostEstimatein interfaceQueryModelNode
-
setCostEstimate
public void setCostEstimate(double costEstimate) - Specified by:
setCostEstimatein interfaceQueryModelNode
-
getTotalTimeNanosActual
public long getTotalTimeNanosActual()- Specified by:
getTotalTimeNanosActualin interfaceQueryModelNode
-
setTotalTimeNanosActual
public void setTotalTimeNanosActual(long totalTimeNanosActual) - Specified by:
setTotalTimeNanosActualin interfaceQueryModelNode
-
getCardinality
-
setCardinality
-
resetCardinality
-
isCardinalitySet
-
shouldCacheCardinality
-