com.singularsys.jep.misc.functions
Class Switch

java.lang.Object
  extended by com.singularsys.jep.functions.PostfixMathCommand
      extended by com.singularsys.jep.functions.NaryFunction
          extended by com.singularsys.jep.misc.functions.Switch
All Implemented Interfaces:
CallbackEvaluationI, CallbackEvaluationI.Runnable, PostfixMathCommandI, java.io.Serializable

public class Switch
extends NaryFunction
implements CallbackEvaluationI, CallbackEvaluationI.Runnable

A switch statement. The argument is selected based on the integer value of the first argument for example switch(2,5,6,7,8) will return 6. The first argument must be an exact integer

Author:
Richard Morris
See Also:
Case, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.singularsys.jep.functions.CallbackEvaluationI
CallbackEvaluationI.Runnable
 
Field Summary
 
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
 
Constructor Summary
Switch()
           
 
Method Summary
 java.lang.Object eval(java.lang.Object[] vals)
           
 java.lang.Object evaluate(Node node, Evaluator pv)
          Performs some special evaluation on the node.
 
Methods inherited from class com.singularsys.jep.functions.NaryFunction
run
 
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, checkStack, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.singularsys.jep.functions.CallbackEvaluationI.Runnable
run
 

Constructor Detail

Switch

public Switch()
Method Detail

eval

public java.lang.Object eval(java.lang.Object[] vals)
                      throws EvaluationException
Specified by:
eval in class NaryFunction
Throws:
EvaluationException

evaluate

public java.lang.Object evaluate(Node node,
                                 Evaluator pv)
                          throws EvaluationException
Description copied from interface: CallbackEvaluationI
Performs some special evaluation on the node. This method has the responsibility for evaluating the children of the node and it should generally call
 pv.eval(node.jjtGetChild(i))   
 
for each child. The SymbolTable is not passed as an argument. This is because it is better practice to get and set variable values by using node.getVar().setValue() rather that through the SymbolTable with requires a hashtable lookup.

Specified by:
evaluate in interface CallbackEvaluationI
Parameters:
node - The current node
pv - The visitor, can be used evaluate the children
Returns:
the value after evaluation
Throws:
EvaluationException
See Also:
Evaluator


Copyright © 2008 Singular Systems http://www.singularsys.com/jep