|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.singularsys.jep.functions.PostfixMathCommand
public abstract class PostfixMathCommand
Function classes extend this class. It is an implementation of the PostfixMathCommandI interface.
It includes a numberOfParameters member, that is checked when parsing the expression. This member should be initialized to an appropriate value for all classes extending this class. If an arbitrary number of parameters should be allowed, initialize this member to -1.
The {asString(int, java.lang.Object)
and similar method are convenience
methods for use by subclasses to ease conversion of arguments to particular types.
Field Summary | |
---|---|
protected int |
curNumberOfParameters
Number of parameters to be used for the next run() invocation. |
java.lang.String |
name
|
static java.lang.Double |
NaN
Double.valueOf(Double.NaN) |
protected int |
numberOfParameters
Number of parameters a the function requires. |
Constructor Summary | |
---|---|
PostfixMathCommand()
Creates a new PostfixMathCommand class. |
|
PostfixMathCommand(int nParam)
Creates a new PostfixMathCommand class. |
Method Summary | |
---|---|
protected java.lang.Object[] |
asArray(java.util.Stack<java.lang.Object> stack)
Pop the arguments off the stack and put them in an array |
protected boolean |
asBool(int pos,
java.lang.Object value,
boolean allowNumbers)
Attempt to convert argument to a boolean |
protected double |
asDouble(int position,
java.lang.Object value)
Converts an argument to a double, with error checking, floating point values will be rounded. |
protected int |
asInt(int position,
java.lang.Object value)
Converts an argument to a int, floating point values will be rounded. |
protected long |
asLong(int position,
java.lang.Object value)
Converts an argument to a long, with error checking, floating point values will be rounded. |
protected int |
asStrictInt(int position,
java.lang.Object value)
Converts an argument to a int, floating point values must represent integers. |
protected java.lang.String |
asString(int position,
java.lang.Object value)
Converts an argument to a string, with error checking. |
boolean |
checkNumberOfParameters(int n)
Checks the number of parameters of the function. |
protected void |
checkStack(java.util.Stack<java.lang.Object> inStack)
Check whether the stack is not null, throw a EvaluationException if it is. |
java.lang.String |
getName()
|
int |
getNumberOfParameters()
Return the required number of parameters. |
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)
|
protected java.lang.String |
toString(java.lang.Object... args)
Return a string representation of the function with its arguments. |
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.PostfixMathCommandI |
---|
run |
Field Detail |
---|
public static final java.lang.Double NaN
protected int numberOfParameters
protected transient int curNumberOfParameters
public java.lang.String name
Constructor Detail |
---|
public PostfixMathCommand()
public PostfixMathCommand(int nParam)
nParam
- number of parameters for the functionMethod Detail |
---|
public java.lang.String getName()
getName
in interface PostfixMathCommandI
public void setName(java.lang.String name)
setName
in interface PostfixMathCommandI
protected void checkStack(java.util.Stack<java.lang.Object> inStack) throws EvaluationException
EvaluationException
public int getNumberOfParameters()
getNumberOfParameters
in interface PostfixMathCommandI
public void setCurNumberOfParameters(int n)
setCurNumberOfParameters
in interface PostfixMathCommandI
public boolean checkNumberOfParameters(int n)
checkNumberOfParameters
in interface PostfixMathCommandI
n
- number of parameters function will be called with.
protected java.lang.String asString(int position, java.lang.Object value) throws IllegalParameterException
position
- argument number (starting from 0) used in error reportingvalue
- the argument to convert
IllegalParameterException
- if the argument cannot be cast to a Stringprotected int asInt(int position, java.lang.Object value) throws IllegalParameterException
position
- argument number (starting from 0) used in error reportingvalue
- the argument to convert
IllegalParameterException
- if the argument cannot be cast to a Numberprotected int asStrictInt(int position, java.lang.Object value) throws IllegalParameterException
position
- argument number (starting from 0) used in error reportingvalue
- the argument to convert
IllegalParameterException
- if the argument cannot be cast to a Number or intValue() != doubleValue()protected long asLong(int position, java.lang.Object value) throws EvaluationException
position
- argument number (starting from 0) used in error reportingvalue
- the argument to convert
IllegalParameterException
- if the argument cannot be cast to a Number
EvaluationException
protected double asDouble(int position, java.lang.Object value) throws EvaluationException
position
- argument number (starting from 0) used in error reportingvalue
- the argument to convert
IllegalParameterException
- if the argument cannot be cast to a Number
EvaluationException
protected boolean asBool(int pos, java.lang.Object value, boolean allowNumbers) throws EvaluationException
pos
- position in argument listvalue
- actual value of objectallowNumbers
- if true non zero numbers are true and zero numbers are false
EvaluationException
protected java.lang.Object[] asArray(java.util.Stack<java.lang.Object> stack)
stack
-
protected java.lang.String toString(java.lang.Object... args)
args
- the arguments to the function
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |