|
Venice 0.7beta | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mov.parser.expression.AbstractExpression org.mov.parser.expression.TernaryExpression org.mov.parser.expression.IfExpression
public class IfExpression
An expression which represents the control flow of
if (x) y else z
.
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 | |
---|---|
IfExpression(Expression arg1,
Expression arg2,
Expression arg3)
Construct an if expression. |
Method Summary | |
---|---|
int |
checkType()
Check the input arguments to 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 |
getType()
Get the type of the expression. |
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 org.mov.parser.expression.TernaryExpression |
---|
getChildCount |
Methods inherited from class org.mov.parser.expression.AbstractExpression |
---|
equals, getChild, getIndex, getNumberFormat, getParent, hashCode, isRoot, iterator, parseDouble, parseInt, setChild, setParent, size, size, valueOfDouble, valueOfInt |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public IfExpression(Expression arg1, Expression arg2, Expression arg3)
if
expression.
arg1
- the expression to be testedarg2
- the expression to be executed if the test was
Expression.TRUE
arg3
- the expression to be executed if the test was
Expression.FALSE
Method Detail |
---|
public double evaluate(Variables variables, QuoteBundle quoteBundle, Symbol symbol, int day) throws EvaluationException
Expression
variables
- variable storage area for expressionquoteBundle
- the quote bundle containing quote data to usesymbol
- the current symbolday
- current date in cache fast access format
EvaluationException
- if the expression performs an illegal
operation such as divide by zero.public java.lang.String toString()
Expression
toString
in interface Expression
toString
in class java.lang.Object
public int checkType() throws TypeMismatchException
Expression.BOOLEAN_TYPE
, the remaining arguments can be
Expression.BOOLEAN_TYPE
, Expression.FLOAT_TYPE
or Expression.INTEGER_TYPE
and
must be the same.
TypeMismatchException
- if the expression has incorrect typespublic int getType()
Expression.FLOAT_TYPE
, Expression.INTEGER_TYPE
or Expression.BOOLEAN_TYPE
.public Expression simplify()
AbstractExpression
a and true
then the
expression tree would be simplified to a
.
simplify
in interface Expression
simplify
in class AbstractExpression
public java.lang.Object clone()
clone
in interface Expression
clone
in class AbstractExpression
|
Venice 0.7beta | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |