Package org.eclipse.rdf4j.query.algebra
Class UnaryValueOperator
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.UnaryValueOperator
-
- All Implemented Interfaces:
Serializable
,Cloneable
,GraphPatternGroupable
,QueryModelNode
,ValueExpr
,VariableScopeChange
- Direct Known Subclasses:
AbstractAggregateOperator
,Datatype
,IRIFunction
,IsBNode
,IsLiteral
,IsNumeric
,IsResource
,IsURI
,Label
,Lang
,Like
,LocalName
,Namespace
,Not
,Str
public abstract class UnaryValueOperator extends AbstractQueryModelNode implements ValueExpr
An abstract superclass for unary value operators which, by definition, has one argument. In special cases the argument can be null, for instance to represent the argument * in COUNT(*).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UnaryValueOperator()
protected
UnaryValueOperator(ValueExpr arg)
Creates a new unary value operator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnaryValueOperator
clone()
Returns a (deep) clone of this query model node.boolean
equals(Object o)
Returns true if this query model node and its children are recursively equal to o and its children.ValueExpr
getArg()
Gets the argument of this unary value operator.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
setArg(ValueExpr arg)
Sets the argument of this unary value operator.<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, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, 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
-
arg
protected ValueExpr arg
The operator's argument.
-
-
Constructor Detail
-
UnaryValueOperator
protected UnaryValueOperator()
-
UnaryValueOperator
protected UnaryValueOperator(ValueExpr arg)
Creates a new unary value operator.- Parameters:
arg
- The operator's argument, must not be null.
-
-
Method Detail
-
getArg
public ValueExpr getArg()
Gets the argument of this unary value operator.- Returns:
- The operator's argument.
-
setArg
public void setArg(ValueExpr arg)
Sets the argument of this unary value operator.- Parameters:
arg
- The (new) argument for this operator, must not be null.
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends 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 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(Object o)
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 classObject
-
clone
public UnaryValueOperator 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.
-
-