org.openrdf.query.algebra
Class BinaryTupleOperator

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.BinaryTupleOperator
All Implemented Interfaces:
Cloneable, QueryModelNode, TupleExpr
Direct Known Subclasses:
Difference, Intersection, Join, LeftJoin, Union

public abstract class BinaryTupleOperator
extends QueryModelNodeBase
implements TupleExpr

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


Field Summary
protected  TupleExpr leftArg
          The operator's left argument.
protected  TupleExpr rightArg
          The operator's right argument.
 
Constructor Summary
BinaryTupleOperator()
           
BinaryTupleOperator(TupleExpr leftArg, TupleExpr rightArg)
          Creates a new binary tuple operator.
 
Method Summary
 BinaryTupleOperator clone()
          Returns a (deep) clone of this query model node.
 TupleExpr getLeftArg()
          Gets the left argument of this binary tuple operator.
 TupleExpr getRightArg()
          Gets the right argument of this binary tuple 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(TupleExpr leftArg)
          Sets the left argument of this binary tuple operator.
 void setRightArg(TupleExpr rightArg)
          Sets the right argument of this binary tuple 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.TupleExpr
getBindingNames
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString, visit
 

Field Detail

leftArg

protected TupleExpr leftArg
The operator's left argument.


rightArg

protected TupleExpr rightArg
The operator's right argument.

Constructor Detail

BinaryTupleOperator

public BinaryTupleOperator()

BinaryTupleOperator

public BinaryTupleOperator(TupleExpr leftArg,
                           TupleExpr rightArg)
Creates a new binary tuple 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 TupleExpr getLeftArg()
Gets the left argument of this binary tuple operator.

Returns:
The operator's left argument.

setLeftArg

public void setLeftArg(TupleExpr leftArg)
Sets the left argument of this binary tuple operator.

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

getRightArg

public TupleExpr getRightArg()
Gets the right argument of this binary tuple operator.

Returns:
The operator's right argument.

setRightArg

public void setRightArg(TupleExpr rightArg)
Sets the right argument of this binary tuple 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 BinaryTupleOperator 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 TupleExpr
Overrides:
clone in class QueryModelNodeBase
Returns:
A deep clone of this query model node.


Copyright © 2001-2008 Aduna. All Rights Reserved.