Venice 0.7beta

org.mov.parser.expression
Class WhileExpression

java.lang.Object
  extended by org.mov.parser.expression.AbstractExpression
      extended by org.mov.parser.expression.BinaryExpression
          extended by org.mov.parser.expression.WhileExpression
All Implemented Interfaces:
java.lang.Cloneable, Expression

public class WhileExpression
extends BinaryExpression

An expression which represents the while command. e.g.

while(i++ < 10) {
   a += i;
}


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
WhileExpression(Expression condition, Expression command)
          Construct a while 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.
 java.lang.String toString()
          Convert the given expression to a string.
 
Methods inherited from class org.mov.parser.expression.BinaryExpression
getChildCount, toString
 
Methods inherited from class org.mov.parser.expression.AbstractExpression
equals, getChild, getIndex, getNumberFormat, getParent, hashCode, isRoot, iterator, parseDouble, parseInt, setChild, setParent, simplify, size, size, valueOfDouble, valueOfInt
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WhileExpression

public WhileExpression(Expression condition,
                       Expression command)
Construct a while expression.
while(condition) {
   command
}

Parameters:
condition - loop condition test.
command - the command to loop.
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 java.lang.Object
Returns:
the string representation of the expression

checkType

public int checkType()
              throws TypeMismatchException
Check the input arguments to the expression. The arguments can be any type except for the condition argument which must be Expression.BOOLEAN_TYPE.

Returns:
the type of the command argument.
Throws:
TypeMismatchException - if the expression has incorrect types

getType

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

Returns:
the type of the command argument.

clone

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

Venice 0.7beta