Package org.esa.snap.core.jexp
Interface Function
-
public interface Function
A representation of a function. A function has a name, a return type and can be evaluated by passing a number of arguments to it.Within an expression, a reference to a function is created if the parser encounters a name followed by an argument list and the name can be resolved through the parser's current namespace. The resulting term in this case is an instance of
.Term.Call
- Version:
- $Revision$ $Date$
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
evalB(EvalEnv env, Term[] args)
Evaluates this function to aboolean
value.double
evalD(EvalEnv env, Term[] args)
Evaluates this function to adouble
value.int
evalI(EvalEnv env, Term[] args)
Evaluates this function to anint
value.int
getArgType(int argIndex)
Gets the type of a function's i-th argument.String
getName()
Gets the function's name.int
getNumArgs()
Gets the function's number of arguments.int
getRetType()
Gets the function's return type.boolean
isConst(Term[] args)
-
-
-
Method Detail
-
getName
String getName()
Gets the function's name.- Returns:
- the name, should never be
null
.
-
getRetType
int getRetType()
Gets the function's return type.- Returns:
- the type, should always be one of the
TYPE_
X constants defined in theTerm
class.
-
getNumArgs
int getNumArgs()
Gets the function's number of arguments.- Returns:
- number of arguments.
-
getArgType
int getArgType(int argIndex)
Gets the type of a function's i-th argument.- Parameters:
argIndex
- The argument index.- Returns:
- an arry of types, each element should always be one of
the
TYPE_
X constants defined in theTerm
class.
-
evalB
boolean evalB(EvalEnv env, Term[] args) throws EvalException
Evaluates this function to aboolean
value.- Parameters:
env
- the application dependant environment.args
- the (un-evaluated) arguments passed to the function- Returns:
- a
boolean
value - Throws:
EvalException
- if the evaluation fails
-
evalI
int evalI(EvalEnv env, Term[] args) throws EvalException
Evaluates this function to anint
value.- Parameters:
env
- the application dependant environment.args
- the (un-evaluated) arguments passed to the function- Returns:
- an
int
value - Throws:
EvalException
- if the evaluation fails
-
evalD
double evalD(EvalEnv env, Term[] args) throws EvalException
Evaluates this function to adouble
value.- Parameters:
env
- the application dependant environment.args
- the (un-evaluated) arguments passed to the function- Returns:
- a
double
value - Throws:
EvalException
- if the evaluation fails
-
-