Venice 0.751beta

nz.org.venice.parser.expression
Class QuoteExpression

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

public class QuoteExpression
extends TerminalExpression
implements QuoteSymbol

Class that represents a quote kind, e.g. day open, day close, etc. Originally there was a separate class for each quote kind but this was deemed a little excessive, so it was all folded into a single class.


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
QuoteExpression(int quoteKind)
          Create a new quote expression.
 
Method Summary
 int checkType()
          Perform type checking on the expression.
 java.lang.Object clone()
           
 double evaluate(Variables variables, QuoteBundle quoteBundle, Symbol symbol, int day)
          Evaluates the given expression and returns the result.
 int getQuoteKind()
          Get the quote kind.
 Symbol getSymbol()
           
 int getType()
          Get the type of the expression.
 java.lang.String toString()
          Convert the given expression to a string.
 
Methods inherited from class nz.org.venice.parser.expression.TerminalExpression
getChildCount
 
Methods inherited from class nz.org.venice.parser.expression.AbstractExpression
equals, getChild, getId, getIndex, getNumberFormat, getParent, getParseMetadata, hashCode, 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

QuoteExpression

public QuoteExpression(int quoteKind)
Create a new quote expression.

Parameters:
quoteKind - Kind of quote. One of Quote.DAY_OPEN, Quote.DAY_CLOSE, Quote.DAY_LOW, Quote.DAY_HIGH or Quote.DAY_VOLUME
Method Detail

getQuoteKind

public int getQuoteKind()
Get the quote kind.

Specified by:
getQuoteKind in interface QuoteSymbol
Returns:
the quote kind, one of: Quote.DAY_OPEN, Quote.DAY_CLOSE, Quote.DAY_HIGH, Quote.DAY_LOW or Quote.DAY_VOLUME.

getSymbol

public Symbol getSymbol()
Specified by:
getSymbol in interface QuoteSymbol

getType

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

Specified by:
getType in interface Expression
Returns:
Expression.FLOAT_QUOTE_TYPE or Expression.INTEGER_QUOTE_TYPE.

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.

Specified by:
evaluate in interface Expression
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 AbstractExpression

clone

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

checkType

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

Specified by:
checkType in interface Expression
Overrides:
checkType in class TerminalExpression

Venice 0.751beta