Class NullWrappedPfmc
- java.lang.Object
-
- com.singularsys.jep.functions.PostfixMathCommand
-
- com.singularsys.jep.misc.nullwrapper.functions.NullWrappedPfmc
-
- All Implemented Interfaces:
NullWrappedFunctionI
,PostfixMathCommandI
,java.io.Serializable
public class NullWrappedPfmc extends PostfixMathCommand implements NullWrappedFunctionI
Wrap a general PostfixMathCommand so that if any argument is null the function will return null.- Since:
- 3.4
- Author:
- Richard Morris
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected PostfixMathCommand
fun
-
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
-
-
Constructor Summary
Constructors Constructor Description NullWrappedPfmc(PostfixMathCommand fun)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkNumberOfParameters(int n)
Checks the number of parameters of the function.int
getNumberOfParameters()
Return the required number of parameters.PostfixMathCommandI
getRoot()
Get to function which this function wraps.void
run(java.util.Stack<java.lang.Object> stack)
Throws an exception because this method should never be called under normal circumstances.void
setCurNumberOfParameters(int n)
Sets the number of current number of parameters used in the next call of run().void
setName(java.lang.String name)
Sets the name of the function used for error messages
-
-
-
Field Detail
-
fun
protected PostfixMathCommand fun
-
-
Constructor Detail
-
NullWrappedPfmc
public NullWrappedPfmc(PostfixMathCommand fun)
- Parameters:
fun
-
-
-
Method Detail
-
checkNumberOfParameters
public boolean checkNumberOfParameters(int n)
Description copied from class:PostfixMathCommand
Checks the number of parameters of the function. Functions which set numberOfParameter=-1 should overload this method- Specified by:
checkNumberOfParameters
in interfacePostfixMathCommandI
- Overrides:
checkNumberOfParameters
in classPostfixMathCommand
- Parameters:
n
- number of parameters function will be called with.- Returns:
- false if an illegal number of parameters is supplied, true otherwise.
-
getNumberOfParameters
public int getNumberOfParameters()
Description copied from class:PostfixMathCommand
Return the required number of parameters.- Specified by:
getNumberOfParameters
in interfacePostfixMathCommandI
- Overrides:
getNumberOfParameters
in classPostfixMathCommand
- Returns:
- allowable number of parameters, -1 if a variable number is allowed
-
setCurNumberOfParameters
public void setCurNumberOfParameters(int n)
Description copied from class:PostfixMathCommand
Sets the number of current number of parameters used in the next call of run(). This method is only called when the reqNumberOfParameters is -1.- Specified by:
setCurNumberOfParameters
in interfacePostfixMathCommandI
- Overrides:
setCurNumberOfParameters
in classPostfixMathCommand
- Parameters:
n
- number of parameter for next call of function
-
setName
public void setName(java.lang.String name)
Description copied from interface:PostfixMathCommandI
Sets the name of the function used for error messages- Specified by:
setName
in interfacePostfixMathCommandI
- Overrides:
setName
in classPostfixMathCommand
- Parameters:
name
- the function name
-
getRoot
public PostfixMathCommandI getRoot()
Description copied from interface:NullWrappedFunctionI
Get to function which this function wraps.- Specified by:
getRoot
in interfaceNullWrappedFunctionI
- Returns:
- the root function, may be "this".
-
run
public void run(java.util.Stack<java.lang.Object> stack) throws EvaluationException
Description copied from class:PostfixMathCommand
Throws an exception because this method should never be called under normal circumstances. Each function should use it's own run() method for evaluating the function. This includes popping off the parameters from the stack, and pushing the result back on the stack.- Specified by:
run
in interfacePostfixMathCommandI
- Overrides:
run
in classPostfixMathCommand
- Parameters:
stack
- arguments for function- Throws:
EvaluationException
- if function cannot be evaluated
-
-