uk.org.ogsadai.dqp.lqp.operators
Class SetOperator

java.lang.Object
  extended by uk.org.ogsadai.dqp.lqp.operators.AbstractOperator
      extended by uk.org.ogsadai.dqp.lqp.operators.BinaryOperator
          extended by uk.org.ogsadai.dqp.lqp.operators.SetOperator
All Implemented Interfaces:
Annotatable, Operator
Direct Known Subclasses:
DifferenceOperator, IntersectionOperator, OuterUnionOperator, UnionOperator

public abstract class SetOperator
extends BinaryOperator

Abstract base class for set operators.

Author:
The OGSA-DAI Project Team.

Field Summary
protected  boolean mBagOperator
          Not a bag operator.
 
Fields inherited from class uk.org.ogsadai.dqp.lqp.operators.BinaryOperator
mCorrelatedAttributes, mLeftChildOperator, mRightChildOperator
 
Fields inherited from class uk.org.ogsadai.dqp.lqp.operators.AbstractOperator
mAnnotations, mID, mOperatorHeading, mParentOperator
 
Constructor Summary
SetOperator()
           
 
Method Summary
 boolean isBagOperator()
          Checks if operator is a bag operator.
 void update()
          Operator forwards the update call to its children and updates itself.
 void validate()
          Operator forwards the validation call to its children and validates itself.
 
Methods inherited from class uk.org.ogsadai.dqp.lqp.operators.BinaryOperator
disconnect, getChild, getChildCount, getChildIndex, getResultCardinality, isBinary, replaceChild, setChild, toString
 
Methods inherited from class uk.org.ogsadai.dqp.lqp.operators.AbstractOperator
addAnnotation, getAnnotation, getAnnotations, getHeading, getID, getParent, getUsedAttributes, isPartitionLeaf, removeAnnotation, renameUsedAttributes, setHeading, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface uk.org.ogsadai.dqp.lqp.Operator
accept
 

Field Detail

mBagOperator

protected boolean mBagOperator
Not a bag operator.

Constructor Detail

SetOperator

public SetOperator()
Method Detail

isBagOperator

public boolean isBagOperator()
Checks if operator is a bag operator.

Returns:
true if operator is a bag operator, false if it is a set operator

update

public void update()
            throws LQPException
Operator forwards the update call to its children and updates itself. Operators must be updated after each change of their children. Update usually involves (but is not limited to) rebuilding the operator heading.

Specified by:
update in interface Operator
Overrides:
update in class BinaryOperator
Throws:
LQPException - when update fails

validate

public void validate()
              throws LQPException
Operator forwards the validation call to its children and validates itself. Validation depends on operator logic. This usually involves (but is not limited to) checking if all attributes required to perform operator logic are in children's headings.

Specified by:
validate in interface Operator
Overrides:
validate in class BinaryOperator
Throws:
LQPException - when validation fails