Venice 0.751beta

nz.org.venice.parser.expression
Class NumberExpression

java.lang.Object
  extended bynz.org.venice.parser.expression.AbstractExpression
      extended bynz.org.venice.parser.expression.TerminalExpression
          extended bynz.org.venice.parser.expression.NumberExpression
All Implemented Interfaces:
java.lang.Cloneable, Expression

public class NumberExpression
extends TerminalExpression

A representation of a value.


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
NumberExpression(boolean value)
           
NumberExpression(double value)
           
NumberExpression(double value, int type)
           
NumberExpression(int value)
           
 
Method Summary
 java.lang.Object clone()
           
 boolean equals(double value)
           
 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 getType()
          Get the type of the expression.
 double getValue()
          Get the value of the number.
 int hashCode()
          If you override the equals(double) method then you should override this method.
static boolean isConstant(Expression expression, int value)
          Returns whether the given expression is a NumberExpression set to the given constant.
 void setValue(double value)
          Set the value of the number.
 java.lang.String toString()
          Convert the given expression to a string.
static java.lang.String toString(int type, double value)
           
 
Methods inherited from class nz.org.venice.parser.expression.TerminalExpression
checkType, getChildCount
 
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, simplify, simplifyMutableVersion, size, size, validTree, valueOfDouble, valueOfInt
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NumberExpression

public NumberExpression(boolean value)

NumberExpression

public NumberExpression(double value)

NumberExpression

public NumberExpression(int value)

NumberExpression

public NumberExpression(double value,
                        int type)
Method Detail

evaluate

public double evaluate(Variables variables,
                       QuoteBundle quoteBundle,
                       Symbol symbol,
                       int day)
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

toString

public static java.lang.String toString(int type,
                                        double value)

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

equals

public boolean equals(double value)

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 hashcode of the NumberExpression.

isConstant

public static boolean isConstant(Expression expression,
                                 int value)
Returns whether the given expression is a NumberExpression set to the given constant. This is a convenience method often called when printing functions to determine whether the print should print only an abbreviated form, e.g. rsi(45, 0) is printed as rsi().

Parameters:
expression - the expression to query.
value - the value to check
Returns:
true if the expression is a NumberExpression with the given value.

getValue

public double getValue()
Get the value of the number.

Returns:
value

setValue

public void setValue(double value)
Set the value of the number.

Parameters:
value - the new value

getType

public int getType()
Get the type of the expression.

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

clone

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

Venice 0.751beta