Venice 0.7beta

org.mov.parser.expression
Class DefineVariableExpression

java.lang.Object
  extended by org.mov.parser.expression.AbstractExpression
      extended by org.mov.parser.expression.UnaryExpression
          extended by org.mov.parser.expression.DefineVariableExpression
All Implemented Interfaces:
java.lang.Cloneable, Expression

public class DefineVariableExpression
extends UnaryExpression

A representation of a variable definition.


Field Summary
 
Fields inherited from interface org.mov.parser.Expression
BOOLEAN_TYPE, FALSE, FLOAT_QUOTE_TYPE, FLOAT_TYPE, INTEGER_QUOTE_TYPE, INTEGER_TYPE, STRING_TYPE, TRUE, TRUE_LEVEL
 
Constructor Summary
DefineVariableExpression(java.lang.String name, int type, boolean isConstant, Expression value)
           
 
Method Summary
 int checkType()
          Perform type checking on the expression.
 java.lang.Object clone()
           
 boolean equals(java.lang.Object object)
          Returns whether this expression tree and the given expression tree are equivalent.
 double evaluate(Variables variables, QuoteBundle quoteBundle, Symbol symbol, int day)
          Evaluates the given expression and returns the result.
 java.lang.String getName()
           
 int getType()
          Get the type of the expression.
 boolean isConstant()
           
 java.lang.String toString()
          Convert the given expression to a string.
 
Methods inherited from class org.mov.parser.expression.UnaryExpression
getChildCount
 
Methods inherited from class org.mov.parser.expression.AbstractExpression
getChild, getIndex, getNumberFormat, getParent, hashCode, isRoot, iterator, parseDouble, parseInt, setChild, setParent, simplify, size, size, valueOfDouble, valueOfInt
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefineVariableExpression

public DefineVariableExpression(java.lang.String name,
                                int type,
                                boolean isConstant,
                                Expression value)
Method Detail

evaluate

public double evaluate(Variables variables,
                       QuoteBundle quoteBundle,
                       Symbol symbol,
                       int day)
                throws EvaluationException
Description copied from interface: Expression
Evaluates the given expression and returns the result.

Parameters:
variables - variable storage area for expression
quoteBundle - the quote bundle containing quote data to use
symbol - the current symbol
day - current date in cache fast access format
Returns:
the result of the expression
Throws:
EvaluationException - if the expression performs an illegal operation such as divide by zero.

toString

public java.lang.String toString()
Description copied from interface: Expression
Convert the given expression to a string.

Specified by:
toString in interface Expression
Overrides:
toString in class java.lang.Object
Returns:
the string representation of the expression

getName

public java.lang.String getName()

getType

public int getType()
Description copied from interface: Expression
Get the type of the expression.

Returns:
one of Expression.BOOLEAN_TYPE, Expression.FLOAT_TYPE, Expression.INTEGER_TYPE, Expression.FLOAT_QUOTE_TYPE or Expression.INTEGER_QUOTE_TYPE.

isConstant

public boolean isConstant()

checkType

public int checkType()
              throws TypeMismatchException
Description copied from interface: Expression
Perform type checking on the expression.

Returns:
the return type of the expression
Throws:
TypeMismatchException - if the expression has incorrect types

equals

public boolean equals(java.lang.Object object)
Description copied from class: AbstractExpression
Returns whether this expression tree and the given expression tree are equivalent.

Specified by:
equals in interface Expression
Overrides:
equals in class AbstractExpression
Parameters:
object - the other expression

clone

public java.lang.Object clone()
Specified by:
clone in interface Expression
Specified by:
clone in class AbstractExpression

Venice 0.7beta