Package org.eclipse.rdf4j.query.algebra
Class FunctionCall
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.FunctionCall
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,GraphPatternGroupable
,QueryModelNode
,ValueExpr
,VariableScopeChange
public class FunctionCall extends AbstractQueryModelNode implements ValueExpr
A call to an (external) function that operates on zero or more arguments.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FunctionCall()
FunctionCall(java.lang.String uri, java.lang.Iterable<ValueExpr> args)
FunctionCall(java.lang.String uri, ValueExpr... args)
Creates a new unary value operator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArg(ValueExpr arg)
void
addArgs(java.lang.Iterable<ValueExpr> args)
void
addArgs(ValueExpr... args)
FunctionCall
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>
getArgs()
java.lang.String
getSignature()
Default implementation ofQueryModelNode.getSignature()
that prints the name of the node's class.java.lang.String
getURI()
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
setArgs(java.lang.Iterable<ValueExpr> args)
void
setURI(java.lang.String uri)
<X extends java.lang.Exception>
voidvisit(QueryModelVisitor<X> visitor)
Visits this node.<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, 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, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Field Detail
-
uri
protected java.lang.String uri
-
args
protected java.util.List<ValueExpr> args
The operator's argument.
-
-
Constructor Detail
-
FunctionCall
public FunctionCall()
-
FunctionCall
public FunctionCall(java.lang.String uri, ValueExpr... args)
Creates a new unary value operator.- Parameters:
args
- The operator's argument, must not be null.
-
FunctionCall
public FunctionCall(java.lang.String uri, java.lang.Iterable<ValueExpr> args)
-
-
Method Detail
-
getURI
public java.lang.String getURI()
-
setURI
public void setURI(java.lang.String uri)
-
getArgs
public java.util.List<ValueExpr> getArgs()
-
setArgs
public void setArgs(java.lang.Iterable<ValueExpr> args)
-
addArgs
public void addArgs(ValueExpr... args)
-
addArgs
public void addArgs(java.lang.Iterable<ValueExpr> args)
-
addArg
public void addArg(ValueExpr arg)
-
visit
public <X extends java.lang.Exception> void visit(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visit
in interfaceQueryModelNode
- Throws:
X extends java.lang.Exception
-
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.
-
getSignature
public java.lang.String getSignature()
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.getSignature()
that prints the name of the node's class.- Specified by:
getSignature
in interfaceQueryModelNode
- Overrides:
getSignature
in classAbstractQueryModelNode
- Returns:
- The node's signature, e.g. SLICE (offset=10, limit=10).
-
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 FunctionCall 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.
-
-