org.openrdf.query.algebra
Class FunctionCall

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.FunctionCall
All Implemented Interfaces:
Cloneable, QueryModelNode, ValueExpr

public class FunctionCall
extends QueryModelNodeBase
implements ValueExpr

A call to an (external) function that operates on zero or more arguments.

Author:
Arjohn Kampman

Field Summary
protected  List<ValueExpr> args
          The operator's argument.
protected  String uri
           
 
Constructor Summary
FunctionCall()
           
FunctionCall(String uri, Iterable<ValueExpr> args)
           
FunctionCall(String uri, ValueExpr... args)
          Creates a new unary value operator.
 
Method Summary
 void addArg(ValueExpr arg)
           
 void addArgs(Iterable<ValueExpr> args)
           
 void addArgs(ValueExpr... args)
           
 FunctionCall clone()
          Returns a (deep) clone of this query model node.
 List<ValueExpr> getArgs()
           
 String getURI()
           
 void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
          Default implementation of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException indicating that current is not a child node of this node.
 void setArgs(Iterable<ValueExpr> args)
           
 void setURI(String uri)
           
<X extends Exception>
void
visit(QueryModelVisitor<X> visitor)
          Visits this node.
<X extends Exception>
void
visitChildren(QueryModelVisitor<X> visitor)
          Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) that does nothing.
 
Methods inherited from class org.openrdf.query.algebra.QueryModelNodeBase
getParentNode, getSignature, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString
 

Field Detail

uri

protected String uri

args

protected List<ValueExpr> args
The operator's argument.

Constructor Detail

FunctionCall

public FunctionCall()

FunctionCall

public FunctionCall(String uri,
                    ValueExpr... args)
Creates a new unary value operator.

Parameters:
arg - The operator's argument, must not be null.

FunctionCall

public FunctionCall(String uri,
                    Iterable<ValueExpr> args)
Method Detail

getURI

public String getURI()

setURI

public void setURI(String uri)

getArgs

public List<ValueExpr> getArgs()

setArgs

public void setArgs(Iterable<ValueExpr> args)

addArgs

public void addArgs(ValueExpr... args)

addArgs

public void addArgs(Iterable<ValueExpr> args)

addArg

public void addArg(ValueExpr arg)

visit

public <X extends Exception> void visit(QueryModelVisitor<X> visitor)
           throws X extends 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 interface QueryModelNode
Throws:
X extends Exception

visitChildren

public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor)
                   throws X extends Exception
Description copied from class: QueryModelNodeBase
Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) that does nothing. Subclasses should override this method when they have child nodes.

Specified by:
visitChildren in interface QueryModelNode
Overrides:
visitChildren in class QueryModelNodeBase
Throws:
X extends Exception

replaceChildNode

public void replaceChildNode(QueryModelNode current,
                             QueryModelNode replacement)
Description copied from class: QueryModelNodeBase
Default implementation of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException indicating that current is not a child node of this node.

Specified by:
replaceChildNode in interface QueryModelNode
Overrides:
replaceChildNode in class QueryModelNodeBase
Parameters:
current - The current child node.
replacement - The new child node.

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 interface QueryModelNode
Specified by:
clone in interface ValueExpr
Overrides:
clone in class QueryModelNodeBase
Returns:
A deep clone of this query model node.


Copyright © 2001-2008 Aduna. All Rights Reserved.