org.openrdf.query.algebra
Class BinaryValueOperator

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.BinaryValueOperator
All Implemented Interfaces:
Cloneable, QueryModelNode, ValueExpr
Direct Known Subclasses:
And, Compare, LangMatches, MathExpr, Or, Regex, SameTerm

public abstract class BinaryValueOperator
extends QueryModelNodeBase
implements ValueExpr

An abstract superclass for binary value operators which, by definition, has two arguments.


Field Summary
protected  ValueExpr leftArg
          The operator's left argument.
protected  ValueExpr rightArg
          The operator's right argument.
 
Constructor Summary
BinaryValueOperator()
           
BinaryValueOperator(ValueExpr leftArg, ValueExpr rightArg)
          Creates a new binary value operator.
 
Method Summary
 BinaryValueOperator clone()
          Returns a (deep) clone of this query model node.
 ValueExpr getLeftArg()
          Gets the left argument of this binary value operator.
 ValueExpr getRightArg()
          Gets the right argument of this binary value operator.
 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 setLeftArg(ValueExpr leftArg)
          Sets the left argument of this binary value operator.
 void setRightArg(ValueExpr rightArg)
          Sets the right argument of this binary value operator.
<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, visit
 

Field Detail

leftArg

protected ValueExpr leftArg
The operator's left argument.


rightArg

protected ValueExpr rightArg
The operator's right argument.

Constructor Detail

BinaryValueOperator

public BinaryValueOperator()

BinaryValueOperator

public BinaryValueOperator(ValueExpr leftArg,
                           ValueExpr rightArg)
Creates a new binary value operator.

Parameters:
leftArg - The operator's left argument, must not be null.
rightArg - The operator's right argument, must not be null.
Method Detail

getLeftArg

public ValueExpr getLeftArg()
Gets the left argument of this binary value operator.

Returns:
The operator's left argument.

setLeftArg

public void setLeftArg(ValueExpr leftArg)
Sets the left argument of this binary value operator.

Parameters:
leftArg - The (new) left argument for this operator, must not be null.

getRightArg

public ValueExpr getRightArg()
Gets the right argument of this binary value operator.

Returns:
The operator's right argument.

setRightArg

public void setRightArg(ValueExpr rightArg)
Sets the right argument of this binary value operator.

Parameters:
rightArg - The (new) right 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: 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 BinaryValueOperator 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.