org.objectweb.medor.expression.lib
Class BasicUnaryArithmeticOperator

java.lang.Object
  extended byorg.objectweb.medor.expression.lib.BasicOperator
      extended byorg.objectweb.medor.expression.lib.BasicUnaryOperator
          extended byorg.objectweb.medor.expression.lib.BasicUnaryArithmeticOperator
All Implemented Interfaces:
java.lang.Cloneable, Expression, Operator, java.io.Serializable, UnaryArithmeticOperator, UnaryOperator
Direct Known Subclasses:
Abs, Bitwize, UMinus

public abstract class BasicUnaryArithmeticOperator
extends BasicUnaryOperator
implements UnaryArithmeticOperator

Author:
Sebastien Chassande-Barrioz
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.medor.expression.lib.BasicUnaryOperator
operand
 
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
BasicUnaryArithmeticOperator()
           
 
Method Summary
 Operand compileExpression()
          Checks the semantic integrity of an expression.
abstract  int evaluate(byte op)
          This fonction evaluate the comaparison between two numerics variables;
abstract  double evaluate(double op)
          This fonction evaluate the comaparison between two numerics variables;
abstract  float evaluate(float op)
          This fonction evaluate the comaparison between two numerics variables;
abstract  int evaluate(int op)
          This fonction evaluate the comaparison between two numerics variables;
abstract  long evaluate(long op)
          This fonction evaluate the comaparison between two numerics variables;
 Operand evaluate(ParameterOperand[] pos, java.lang.Object o)
          It evaluates the expression tree and puts the result into the operand result.
abstract  int evaluate(short op)
          This fonction evaluate the comaparison between two numerics variables;
 PType getType()
          It gets the result type of this expression
 
Methods inherited from class org.objectweb.medor.expression.lib.BasicUnaryOperator
getExpression, getExpression, getOperandNumber, setExpression, setExpression
 
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.UnaryOperator
getExpression, setExpression
 
Methods inherited from interface org.objectweb.medor.expression.api.Operator
getExpression, getOperandNumber, getOperatorString, setExpression
 

Constructor Detail

BasicUnaryArithmeticOperator

public BasicUnaryArithmeticOperator()
Method Detail

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 BasicOperator

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

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

evaluate

public abstract int evaluate(byte op)
                      throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : byte
Returns:
an byte result as in Java programming language
Throws:
TypingException

evaluate

public abstract int evaluate(short op)
                      throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : short
Returns:
a short result as in Java programming language
Throws:
TypingException

evaluate

public abstract int evaluate(int op)
                      throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : int
Returns:
an int result as in Java programming language
Throws:
TypingException

evaluate

public abstract long evaluate(long op)
                       throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : long
Returns:
a long result as in Java programming language
Throws:
TypingException

evaluate

public abstract float evaluate(float op)
                        throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : float
Returns:
a float result as in Java programming language
Throws:
TypingException

evaluate

public abstract double evaluate(double op)
                         throws TypingException
Description copied from interface: UnaryArithmeticOperator
This fonction evaluate the comaparison between two numerics variables;

Specified by:
evaluate in interface UnaryArithmeticOperator
Parameters:
op - : double
Returns:
a double result as in Java programming language
Throws:
TypingException