Package org.geotools.process.function
Class ProcessFunction
Object
ProcessFunction
- All Implemented Interfaces:
Expression
,Function
A wrapper allowing a
Process
with a single output to be called as a Function
. Since Function
parameters are positional and Process parameters are named, the following strategy is used to allow specifying named
Process parameters as function inputs. All inputs to the function must evaluate to Map<String, Object>, with a
single entry where the key is the name of a process parameter and the value is the argument value- Author:
- Andrea Aime - GeoSolutions
-
Field Summary
Fields inherited from interface Expression
NIL
-
Constructor Summary
ConstructorsConstructorDescriptionProcessFunction
(Name processName, List<Expression> inputExpressions, Map<String, Parameter<?>> parameters, Process process, Literal fallbackValue) -
Method Summary
Modifier and TypeMethodDescriptionaccept
(ExpressionVisitor visitor, Object extraData) Accepts a visitor.boolean
Evaluates the given expression based on the content of the given object.<T> T
Evaluates the given expressoin based on the content of the given object and the context type.evaluateInputs
(Object object) Evaluates the process input expressions.The value of the fallbackValue attribute is used as a default value, if the SE implementation does not support the function.Access to the FunctionName description as used in a FilterCapabilities document.getName()
Returns the name of the function to be called.Returns the list subexpressions that will be evaluated to provide the parameters to the function.int
hashCode()
-
Constructor Details
-
ProcessFunction
-
-
Method Details
-
getFallbackValue
Description copied from interface:Function
The value of the fallbackValue attribute is used as a default value, if the SE implementation does not support the function. If the implementation supports the function, then the result value is determined by executing the function.- Specified by:
getFallbackValue
in interfaceFunction
- Returns:
- Optional literal to use if an implementation for this function is not available.
-
getName
Description copied from interface:Function
Returns the name of the function to be called. For example, this might be "cos
" or "atan2
".You can use this name to look up the number of required parameters in a FilterCapabilities data structure. For the specific meaning of the required parameters you will need to consult the documentation.
-
getProcessName
-
getFunctionName
Description copied from interface:Function
Access to the FunctionName description as used in a FilterCapabilities document.- Specified by:
getFunctionName
in interfaceFunction
- Returns:
- FunctionName description, if available.
-
getParameters
Description copied from interface:Function
Returns the list subexpressions that will be evaluated to provide the parameters to the function.- Specified by:
getParameters
in interfaceFunction
-
accept
Description copied from interface:Expression
Accepts a visitor. Subclasses must implement with a method whose content is the following:return visitor.visit(this, extraData);
- Specified by:
accept
in interfaceExpression
-
evaluate
Description copied from interface:Expression
Evaluates the given expressoin based on the content of the given object and the context type.The
context
parameter is used to control the type of the result of the expression. A particular expression may not be able to evaluate to an instance ofcontext
. Therefore to be safe calling code should do a null check on the return value of this method, and callExpression.evaluate(Object)
if neccessary. Example:Object input = ...; String result = expression.evaluate( input, String.class ); if ( result == null ) { result = expression.evalute( input ).toString(); } ...
Implementations that can not return a result as an instance of
context
should returnnull
.- Specified by:
evaluate
in interfaceExpression
- Type Parameters:
T
- The type of the returned object.- Parameters:
object
- The object to evaluate the expression against.context
- The type of the resulting value of the expression.- Returns:
- Evaluates the given expression based on the content of the given object an an instance of
context
.
-
evaluate
Description copied from interface:Expression
Evaluates the given expression based on the content of the given object.- Specified by:
evaluate
in interfaceExpression
- Returns:
- computed value
-
evaluateInputs
Evaluates the process input expressions. The object provides the context for evaluating the input expressions, and may be null if no context is available (for instance, when being called to evaluation the inputs for theRenderingProcessFunction
inversion methods).- Parameters:
object
- the object to evaluate the input expressions against.- Returns:
- the map of inputs
-
hashCode
public int hashCode() -
equals
-