org.objectweb.medor.expression.lib

Class BasicComparator

Implemented Interfaces:
BinaryOperator, org.objectweb.medor.clone.api.Cloneable, Comparator, Expression, Operator, Serializable
Known Direct Subclasses:
Equal, Greater, GreaterEqual, Lower, LowerEqual, NotEqual

public abstract class BasicComparator
extends BasicBinaryOperator
implements Comparator

Author:
Sebastien Chassande-Barrioz

Field Summary

Fields inherited from class org.objectweb.medor.expression.lib.BasicOperator

expressions, result, verified

Fields inherited from class org.objectweb.medor.expression.lib.BasicExpression

logger, type

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, STRING_LOWER, STRING_UPPER, SUBSTRING, SUM, UMINUS

Constructor Summary

BasicComparator()
BasicComparator(Expression e0, Expression e1)

Method Summary

Operand
compileExpression()
Checks the semantic integrity of an expression.
boolean
evaluate(Object op1, Object op2)
boolean
evaluate(String op1, String op2)
boolean
evaluate(boolean op1, boolean op2)
boolean
evaluate(char op1, char op2)
boolean
evaluate(double op1, double op2)
boolean
evaluate(double op1, float op2)
boolean
evaluate(double op1, int op2)
boolean
evaluate(double op1, long op2)
boolean
evaluate(double op1, short op2)
boolean
evaluate(float op1, double op2)
boolean
evaluate(float op1, float op2)
boolean
evaluate(float op1, int op2)
boolean
evaluate(float op1, long op2)
boolean
evaluate(float op1, short op2)
boolean
evaluate(int op1, double op2)
boolean
evaluate(int op1, float op2)
boolean
evaluate(int op1, int op2)
boolean
evaluate(int op1, long op2)
boolean
evaluate(int op1, short op2)
boolean
evaluate(long op1, double op2)
boolean
evaluate(long op1, float op2)
boolean
evaluate(long op1, long op2)
Operand
evaluate(ParameterOperand[] pos, Object o)
We supose that the comparisons can be performed between all types.

Methods inherited from class org.objectweb.medor.expression.lib.BasicBinaryOperator

getLeftExpression, getRightExpression, setLeftExpression, setRightExpression

Methods inherited from class org.objectweb.medor.expression.lib.BasicOperator

clone, getExpression, getOperandNumber, setExpression

Methods inherited from class org.objectweb.medor.expression.lib.BasicExpression

clone, getType

Methods inherited from class org.objectweb.medor.clone.lib.BasicCloneable

clone, clone, clone, getClone

Constructor Details

BasicComparator

public BasicComparator()


BasicComparator

public BasicComparator(Expression e0,
                       Expression e1)

Method Details

compileExpression

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


evaluate

public boolean evaluate(Object op1,
                        Object op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(String op1,
                        String op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(boolean op1,
                        boolean op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(char op1,
                        char op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(double op1,
                        double op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(double op1,
                        float op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(double op1,
                        int op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(double op1,
                        long op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(double op1,
                        short op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(float op1,
                        double op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(float op1,
                        float op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(float op1,
                        int op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(float op1,
                        long op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(float op1,
                        short op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(int op1,
                        double op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(int op1,
                        float op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(int op1,
                        int op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(int op1,
                        long op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(int op1,
                        short op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(long op1,
                        double op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(long op1,
                        float op2)
Specified by:
evaluate in interface Comparator


evaluate

public boolean evaluate(long op1,
                        long op2)
Specified by:
evaluate in interface Comparator


evaluate

public Operand evaluate(ParameterOperand[] pos,
                        Object o)
            throws ExpressionException
We supose that the comparisons can be performed between all types.