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.doubledoubledoublegetDoubleMetricActual(String metricName) longlonglonglonglonglonglonggetLongMetricActual(String metricName) longlongGets 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.longlonglonggetStringMetricActual(String metricName) longbooleanbooleanbooleanindicates 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) voidsetDoubleMetricActual(String metricName, double metricValue) voidsetHasNextCallCountActual(long hasNextCallCountActual) voidsetHasNextTimeNanosActual(long hasNextTimeNanosActual) voidsetHasNextTrueCountActual(long hasNextTrueCountActual) voidsetJoinLeftBindingsConsumedActual(long joinLeftBindingsConsumedActual) voidsetJoinRightBindingsConsumedActual(long joinRightBindingsConsumedActual) voidsetJoinRightIteratorsCreatedActual(long joinRightIteratorsCreatedActual) voidsetLongMetricActual(String metricName, long metricValue) voidsetNextCallCountActual(long nextCallCountActual) voidsetNextTimeNanosActual(long nextTimeNanosActual) voidsetParentNode(QueryModelNode parent) Sets the node's parent.voidsetResultSizeActual(long resultSizeActual) voidsetResultSizeEstimate(double resultSizeEstimate) voidsetRuntimeTelemetryEnabled(boolean runtimeTelemetryEnabled) voidsetSourceRowsFilteredActual(long sourceRowsFilteredActual) voidsetSourceRowsMatchedActual(long sourceRowsMatchedActual) voidsetSourceRowsScannedActual(long sourceRowsScannedActual) voidsetStringMetricActual(String metricName, String metricValue) 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
-
getHasNextCallCountActual
public long getHasNextCallCountActual()- Specified by:
getHasNextCallCountActualin interfaceQueryModelNode
-
setHasNextCallCountActual
public void setHasNextCallCountActual(long hasNextCallCountActual) - Specified by:
setHasNextCallCountActualin interfaceQueryModelNode
-
getHasNextTrueCountActual
public long getHasNextTrueCountActual()- Specified by:
getHasNextTrueCountActualin interfaceQueryModelNode
-
setHasNextTrueCountActual
public void setHasNextTrueCountActual(long hasNextTrueCountActual) - Specified by:
setHasNextTrueCountActualin interfaceQueryModelNode
-
getHasNextTimeNanosActual
public long getHasNextTimeNanosActual()- Specified by:
getHasNextTimeNanosActualin interfaceQueryModelNode
-
setHasNextTimeNanosActual
public void setHasNextTimeNanosActual(long hasNextTimeNanosActual) - Specified by:
setHasNextTimeNanosActualin interfaceQueryModelNode
-
getNextCallCountActual
public long getNextCallCountActual()- Specified by:
getNextCallCountActualin interfaceQueryModelNode
-
setNextCallCountActual
public void setNextCallCountActual(long nextCallCountActual) - Specified by:
setNextCallCountActualin interfaceQueryModelNode
-
getNextTimeNanosActual
public long getNextTimeNanosActual()- Specified by:
getNextTimeNanosActualin interfaceQueryModelNode
-
setNextTimeNanosActual
public void setNextTimeNanosActual(long nextTimeNanosActual) - Specified by:
setNextTimeNanosActualin interfaceQueryModelNode
-
getJoinRightIteratorsCreatedActual
public long getJoinRightIteratorsCreatedActual()- Specified by:
getJoinRightIteratorsCreatedActualin interfaceQueryModelNode
-
setJoinRightIteratorsCreatedActual
public void setJoinRightIteratorsCreatedActual(long joinRightIteratorsCreatedActual) - Specified by:
setJoinRightIteratorsCreatedActualin interfaceQueryModelNode
-
getJoinLeftBindingsConsumedActual
public long getJoinLeftBindingsConsumedActual()- Specified by:
getJoinLeftBindingsConsumedActualin interfaceQueryModelNode
-
setJoinLeftBindingsConsumedActual
public void setJoinLeftBindingsConsumedActual(long joinLeftBindingsConsumedActual) - Specified by:
setJoinLeftBindingsConsumedActualin interfaceQueryModelNode
-
getJoinRightBindingsConsumedActual
public long getJoinRightBindingsConsumedActual()- Specified by:
getJoinRightBindingsConsumedActualin interfaceQueryModelNode
-
setJoinRightBindingsConsumedActual
public void setJoinRightBindingsConsumedActual(long joinRightBindingsConsumedActual) - Specified by:
setJoinRightBindingsConsumedActualin interfaceQueryModelNode
-
getSourceRowsScannedActual
public long getSourceRowsScannedActual()- Specified by:
getSourceRowsScannedActualin interfaceQueryModelNode
-
setSourceRowsScannedActual
public void setSourceRowsScannedActual(long sourceRowsScannedActual) - Specified by:
setSourceRowsScannedActualin interfaceQueryModelNode
-
getSourceRowsMatchedActual
public long getSourceRowsMatchedActual()- Specified by:
getSourceRowsMatchedActualin interfaceQueryModelNode
-
setSourceRowsMatchedActual
public void setSourceRowsMatchedActual(long sourceRowsMatchedActual) - Specified by:
setSourceRowsMatchedActualin interfaceQueryModelNode
-
getSourceRowsFilteredActual
public long getSourceRowsFilteredActual()- Specified by:
getSourceRowsFilteredActualin interfaceQueryModelNode
-
setSourceRowsFilteredActual
public void setSourceRowsFilteredActual(long sourceRowsFilteredActual) - Specified by:
setSourceRowsFilteredActualin interfaceQueryModelNode
-
getLongMetricsActual
- Specified by:
getLongMetricsActualin interfaceQueryModelNode
-
getLongMetricActual
- Specified by:
getLongMetricActualin interfaceQueryModelNode
-
setLongMetricActual
- Specified by:
setLongMetricActualin interfaceQueryModelNode
-
getDoubleMetricsActual
- Specified by:
getDoubleMetricsActualin interfaceQueryModelNode
-
getDoubleMetricActual
- Specified by:
getDoubleMetricActualin interfaceQueryModelNode
-
setDoubleMetricActual
- Specified by:
setDoubleMetricActualin interfaceQueryModelNode
-
getStringMetricsActual
- Specified by:
getStringMetricsActualin interfaceQueryModelNode
-
getStringMetricActual
- Specified by:
getStringMetricActualin interfaceQueryModelNode
-
setStringMetricActual
- Specified by:
setStringMetricActualin interfaceQueryModelNode
-
isRuntimeTelemetryEnabled
public boolean isRuntimeTelemetryEnabled()- Specified by:
isRuntimeTelemetryEnabledin interfaceQueryModelNode
-
setRuntimeTelemetryEnabled
public void setRuntimeTelemetryEnabled(boolean runtimeTelemetryEnabled) - Specified by:
setRuntimeTelemetryEnabledin interfaceQueryModelNode
-
getCardinality
-
setCardinality
-
resetCardinality
-
isCardinalitySet
-
shouldCacheCardinality
-