org.objectweb.medor.expression.lib

Class BasicUnaryArithmeticOperator

Implemented Interfaces:
org.objectweb.medor.clone.api.Cloneable, Expression, Operator, Serializable, Operator, UnaryArithmeticOperator, UnaryOperator
Known Direct Subclasses:
Abs, Bitwize, UMinus

public abstract class BasicUnaryArithmeticOperator
extends BasicUnaryOperator
implements UnaryArithmeticOperator

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

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

BasicUnaryArithmeticOperator()
BasicUnaryArithmeticOperator(PType type)
BasicUnaryArithmeticOperator(PType type, Expression e)
BasicUnaryArithmeticOperator(Expression e)

Method Summary

Operand
compileExpression()
Checks the semantic integrity of an expression.
Operand
evaluate(ParameterOperand[] pos, Object o)

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

getExpression, getExpression, getOperandNumber, setExpression, setExpression

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

BasicUnaryArithmeticOperator

public BasicUnaryArithmeticOperator()


BasicUnaryArithmeticOperator

public BasicUnaryArithmeticOperator(PType type)


BasicUnaryArithmeticOperator

public BasicUnaryArithmeticOperator(PType type,
                                    Expression e)


BasicUnaryArithmeticOperator

public BasicUnaryArithmeticOperator(Expression e)

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 Operand evaluate(ParameterOperand[] pos,
                        Object o)
            throws ExpressionException