org.objectweb.medor.expression.lib
Class BasicBinaryLogicalOperator

java.lang.Object
  extended byorg.objectweb.medor.expression.lib.BasicOperator
      extended byorg.objectweb.medor.expression.lib.BasicBinaryOperator
          extended byorg.objectweb.medor.expression.lib.BasicBinaryLogicalOperator
All Implemented Interfaces:
BinaryLogicalOperator, BinaryOperator, java.lang.Cloneable, Expression, Operator, java.io.Serializable
Direct Known Subclasses:
And, ConditionalAnd, ConditionalOr, Or

public abstract class BasicBinaryLogicalOperator
extends BasicBinaryOperator
implements BinaryLogicalOperator

Author:
Sebastien Chassande-Barrioz
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.medor.expression.lib.BasicBinaryOperator
left, right
 
Fields inherited from class org.objectweb.medor.expression.lib.BasicOperator
expressions, result, type, verified
 
Fields inherited from interface org.objectweb.medor.expression.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
BasicBinaryLogicalOperator()
           
 
Method Summary
 Operand compileExpression()
          Checks the semantic integrity of an expression.
abstract  boolean evaluate(boolean b1, boolean b2)
           
 Operand evaluate(ParameterOperand[] pos, java.lang.Object o)
          It evaluates the expression tree and puts the result into the operand result.
 
Methods inherited from class org.objectweb.medor.expression.lib.BasicBinaryOperator
getExpression, getLeftExpression, getOperandNumber, getRightExpression, setExpression, setLeftExpression, setRightExpression
 
Methods inherited from class org.objectweb.medor.expression.lib.BasicOperator
getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.medor.expression.api.BinaryOperator
getLeftExpression, getRightExpression, setLeftExpression, setRightExpression
 
Methods inherited from interface org.objectweb.medor.expression.api.Operator
getExpression, getOperandNumber, getOperatorString, setExpression
 
Methods inherited from interface org.objectweb.medor.expression.api.Expression
getType
 

Constructor Detail

BasicBinaryLogicalOperator

public BasicBinaryLogicalOperator()
Method Detail

evaluate

public Operand evaluate(ParameterOperand[] pos,
                        java.lang.Object o)
                 throws ExpressionException
Description copied from interface: Expression
It evaluates the expression tree and puts the result into the operand result.

Specified by:
evaluate in interface Expression
Parameters:
pos - a list of ParameterOperand
o - the input Object from which values are taken for the evaluation
Returns:
an Operand containing the result of the evaluation
Throws:
ExpressionException

evaluate

public abstract boolean evaluate(boolean b1,
                                 boolean b2)
Specified by:
evaluate in interface BinaryLogicalOperator

compileExpression

public Operand compileExpression()
                          throws ExpressionException,
                                 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.

Specified by:
compileExpression in interface Expression
Throws:
MalformedExpressionException - if syntax error
ExpressionException