com.singularsys.jep.misc.functions
Class SwitchDefault
java.lang.Object
com.singularsys.jep.functions.PostfixMathCommand
com.singularsys.jep.functions.NaryFunction
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
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 |
SwitchDefault
public SwitchDefault()
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 nodepv
- 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