org.openrdf.query.algebra
Class NAryValueOperator

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.NAryValueOperator
All Implemented Interfaces:
Cloneable, QueryModelNode, ValueExpr
Direct Known Subclasses:
Coalesce

public abstract class NAryValueOperator
extends QueryModelNodeBase
implements ValueExpr

An abstract superclass for N-ary value operators.

Author:
Jeen

Field Summary
protected  List<ValueExpr> args
          The operator's arguments.
 
Constructor Summary
NAryValueOperator()
           
NAryValueOperator(List<ValueExpr> args)
          Creates a new N-Ary value operator.
 
Method Summary
 void addArgument(ValueExpr arg)
           
 NAryValueOperator clone()
          Returns a (deep) clone of this query model node.
 boolean equals(Object other)
          Returns true if this query model node and its children are recursively equal to o and its children.
 List<ValueExpr> getArguments()
           
 int hashCode()
           
 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 setArguments(List<ValueExpr> args)
           
<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, nullEquals, replaceNodeInList, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString, visit
 

Field Detail

args

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

Constructor Detail

NAryValueOperator

public NAryValueOperator()

NAryValueOperator

public NAryValueOperator(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(List<ValueExpr> args)

getArguments

public List<ValueExpr> getArguments()

addArgument

public void addArgument(ValueExpr arg)

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.

equals

public boolean equals(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 interface QueryModelNode
Overrides:
equals in class Object

hashCode

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


Copyright © 2001-2012 Aduna. All Rights Reserved.