Venice 0.751beta

nz.org.venice.parser.expression
Class AddExpression

java.lang.Object
  extended bynz.org.venice.parser.expression.AbstractExpression
      extended bynz.org.venice.parser.expression.BinaryExpression
          extended bynz.org.venice.parser.expression.ArithmeticExpression
              extended bynz.org.venice.parser.expression.AddExpression
All Implemented Interfaces:
java.lang.Cloneable, Expression

public class AddExpression
extends ArithmeticExpression

An expression which adds two sub-expressions.


Field Summary
 
Fields inherited from interface nz.org.venice.parser.Expression
BOOLEAN_TYPE, FALSE, FLOAT_QUOTE_TYPE, FLOAT_TYPE, INTEGER_QUOTE_TYPE, INTEGER_SHORT_TYPE, INTEGER_TYPE, NUMERIC_TYPE, STRING_TYPE, TRUE, TRUE_LEVEL, UNDEFINED_TYPE
 
Constructor Summary
AddExpression(Expression left, Expression right)
           
 
Method Summary
 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.
 int hashCode()
          If you override the equals(java.lang.Object) method then you should override this method.
 Expression simplify()
          Perform simplifications and optimisations on the expression tree.
 java.lang.String toString()
          Convert the given expression to a string.
 
Methods inherited from class nz.org.venice.parser.expression.ArithmeticExpression
checkType, getType
 
Methods inherited from class nz.org.venice.parser.expression.BinaryExpression
getChildCount, toString
 
Methods inherited from class nz.org.venice.parser.expression.AbstractExpression
getChild, getId, getIndex, getNumberFormat, getParent, getParseMetadata, isRoot, iterator, parseDouble, parseInt, printParents, setChild, setChildMutableVersion, setParent, setParseMetadata, simplifyMutableVersion, size, size, validTree, valueOfDouble, valueOfInt
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AddExpression

public AddExpression(Expression left,
                     Expression right)
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.

simplify

public Expression simplify()
Description copied from class: AbstractExpression
Perform simplifications and optimisations on the expression tree. For example, if the expression tree was a and true then the expression tree would be simplified to a.

Specified by:
simplify in interface Expression
Overrides:
simplify in class ArithmeticExpression

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

hashCode

public int hashCode()
Description copied from class: AbstractExpression
If you override the AbstractExpression.equals(java.lang.Object) method then you should override this method. It provides a very basic hash code function.

Specified by:
hashCode in interface Expression
Overrides:
hashCode in class AbstractExpression
Returns:
a poor hash code of the tree

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 AbstractExpression

clone

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

Venice 0.751beta