Package org.eclipse.rdf4j.query.algebra
Class NAryValueOperator
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.NAryValueOperator
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,GraphPatternGroupable
,QueryModelNode
,ValueExpr
,VariableScopeChange
- Direct Known Subclasses:
Coalesce
,ListMemberOperator
public abstract class NAryValueOperator extends AbstractQueryModelNode implements ValueExpr
An abstract superclass for N-ary value operators.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
NAryValueOperator()
protected
NAryValueOperator(java.util.List<ValueExpr> args)
Creates a new N-Ary value operator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArgument(ValueExpr arg)
NAryValueOperator
clone()
Returns a (deep) clone of this query model node.boolean
equals(java.lang.Object other)
Returns true if this query model node and its children are recursively equal to o and its children.java.util.List<ValueExpr>
getArguments()
int
hashCode()
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.void
setArguments(java.util.List<ValueExpr> args)
<X extends java.lang.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, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toHumanReadbleNumber, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString, visit
-
-
-
-
Field Detail
-
args
protected java.util.List<ValueExpr> args
The operator's arguments.
-
-
Constructor Detail
-
NAryValueOperator
protected NAryValueOperator()
-
NAryValueOperator
protected NAryValueOperator(java.util.List<ValueExpr> args)
Creates a new N-Ary value operator.- Parameters:
args
- The operator's list of arguments, must not be null.
-
-
Method Detail
-
setArguments
public void setArguments(java.util.List<ValueExpr> args)
-
getArguments
public java.util.List<ValueExpr> getArguments()
-
addArgument
public void addArgument(ValueExpr arg)
-
visitChildren
public <X extends java.lang.Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from class:AbstractQueryModelNode
Dummy 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:
visitChildren
in interfaceQueryModelNode
- Overrides:
visitChildren
in classAbstractQueryModelNode
- Throws:
X extends java.lang.Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Overrides:
replaceChildNode
in classAbstractQueryModelNode
- Parameters:
current
- The current child node.replacement
- The new child node.
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:QueryModelNode
Returns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equals
in interfaceQueryModelNode
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
clone
public NAryValueOperator 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 interfaceValueExpr
- Overrides:
clone
in classAbstractQueryModelNode
- Returns:
- A deep clone of this query model node.
-
-