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)
          Evaluate the function
 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
Description copied from class: NaryFunction
Evaluate the function

Specified by:
eval in class NaryFunction
Parameters:
vals - arguments to the function
Returns:
value returned by the function
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. This value will be passed to other functions higher up the node tree. The value can be any type including Double or Vector<Object>
Throws:
EvaluationException
See Also:
Evaluator


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