org.objectweb.medor.filter.lib
Class InCollection

java.lang.Object
  |
  +--org.objectweb.medor.filter.lib.BasicBinaryOperator
        |
        +--org.objectweb.medor.filter.lib.InCollection
All Implemented Interfaces:
BinaryOperator, java.lang.Cloneable, Cloneable, Expression, Operator

public class InCollection
extends BasicBinaryOperator

The InCollection class is an operator testing whether the value of a Field (the left operand, which is supposed to be a FieldOperand) is equal to one of the elements of a collecton (the right Operand)


Field Summary
 
Fields inherited from class org.objectweb.medor.filter.lib.BasicBinaryOperator
left, leftResult, result, right, rightResult, type, verified
 
Fields inherited from interface org.objectweb.medor.filter.api.Operator
ABS, AND, AVG, BITWIZE, CONCAT, CONDAND, CONDOR, COUNT, DIV, EQUAL, FIRSTLOCATE, GREATER, GREATEREQUAL, IN, INDEXEDLOCATE, LENGTH, LOWER, LOWEREQUAL, MAX, MEMBEROF, MIN, MINUS, MOD, MULT, NAV, NOT, NOTEQUAL, NOTMEMBEROF, OR, PLUS, SQRT, SUBSTRING, SUM, UMINUS
 
Constructor Summary
InCollection(FieldOperand left, Operand right, PType elemType)
           
 
Method Summary
 void compileExpression()
          Checks the semantic integrity of an expression.
 void evaluate(ParameterOperand[] pos, Tuple t)
          It evaluates the expression tree and puts the result into the operand result.
 PType getElemType()
          Returns the declared PType of the elements.
 java.lang.String getOperatorString()
          Returns the String representing the operator in Java
 PType getType()
          It gets the result type of this expression
 
Methods inherited from class org.objectweb.medor.filter.lib.BasicBinaryOperator
clone, getExpression, getLeftExpression, getOperandNumber, getResult, getRightExpression, isCompiled, setExpression, setLeftExpression, setRightExpression
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InCollection

public InCollection(FieldOperand left,
                    Operand right,
                    PType elemType)
Method Detail

getElemType

public PType getElemType()
Returns the declared PType of the elements.


getType

public PType getType()
Description copied from interface: Expression
It gets the result type of this expression

Specified by:
getType in interface Expression
Overrides:
getType in class BasicBinaryOperator
Returns:
a PType object

evaluate

public void evaluate(ParameterOperand[] pos,
                     Tuple t)
              throws MedorException,
                     java.lang.IllegalStateException
Description copied from interface: Expression
It evaluates the expression tree and puts the result into the operand result.

Specified by:
evaluate in interface Expression
Specified by:
evaluate in class BasicBinaryOperator
Parameters:
pos - a list of ParameterOperand
t - Tuple
Throws:
java.lang.IllegalStateException - if this expression is not compiled.
MedorException - if evaluation error

compileExpression

public void compileExpression()
                       throws TypingException,
                              MalformedExpressionException
Description copied from interface: Expression
Checks the semantic integrity of an expression. It checks that all types are compatible and prepare the expression to be evaluable.It also creates buffers where stores the result. Notes that when evaluating there is no creation of new objects. This method change the state of this expression object, it will be evaluable and not modifiable.

Throws:
MalformedExpressionException - if syntax error
TypingException - when incompatible types error occures.

getOperatorString

public java.lang.String getOperatorString()
Description copied from interface: Operator
Returns the String representing the operator in Java

Returns:
the String representing the operator in Java