com.singularsys.jep.misc.functions
Class SwitchDefault

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

public class SwitchDefault
extends NaryFunction
implements CallbackEvaluationI, CallbackEvaluationI.Runnable

A switch statement, with a default value. The argument is selected based on the integer value of the first argument, the last argument is returned if the first argument is greater than the number of arguments -2. For example switchDefault(2,5,6,7,8) will return 5, and switchDefault(9,5,6,7,8) will return 8. 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
SwitchDefault()
           
 
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

SwitchDefault

public SwitchDefault()
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