Venice 0.751beta

nz.org.venice.parser.expression
Class EvalFunctionExpression

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

public class EvalFunctionExpression
extends UnaryExpression

An expression which defines a user function.

Author:
Mark Hummel

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
EvalFunctionExpression(java.lang.String name, int type, Expression parameterList)
          Create a new average expression for the given quote kind, for lag days away.
 
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.
 java.lang.String getName()
           
 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.UnaryExpression
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

EvalFunctionExpression

public EvalFunctionExpression(java.lang.String name,
                              int type,
                              Expression parameterList)
Create a new average expression for the given quote kind, for lag days away.

Parameters:
name - the name of the function which is called.
type - the variable type that the function returns
parameterList - A clause expression which contains the value of the parameters passed to the function.
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 AbstractExpression

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

getName

public java.lang.String getName()
Returns:
The name of the function called.

getType

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

Returns:
The variable type that the function returns.

clone

public java.lang.Object clone()
Specified by:
clone in interface Expression
Specified by:
clone in class AbstractExpression
Returns:
a Clone of the EvalExpression object.

Venice 0.751beta