org.geotools.process.function
Class ProcessFunction
Object
ProcessFunction
- All Implemented Interfaces:
- Expression, Function
public class ProcessFunction
- extends Object
- implements 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,
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
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ProcessFunction
public ProcessFunction(String name,
Name processName,
List<Expression> inputExpressions,
Map<String,Parameter<?>> parameters,
Process process,
Literal fallbackValue)
getFallbackValue
public Literal 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 interface Function
- Returns:
- Optional literal to use if an implementation for this function is not available.
getName
public String 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.
- Specified by:
getName
in interface Function
getProcessName
public Name getProcessName()
getFunctionName
public FunctionName getFunctionName()
- Description copied from interface:
Function
- Access to the FunctionName description as used in a FilterCapabilities document.
- Specified by:
getFunctionName
in interface Function
- Returns:
- FunctionName description, if available.
getParameters
public List<Expression> 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 interface Function
accept
public Object accept(ExpressionVisitor visitor,
Object extraData)
- 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 interface Expression
evaluate
public <T> T evaluate(Object object,
Class<T> context)
- 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 of context
. Therefore to be safe calling code
should do a null check on the return value of this method, and call Expression.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 return null
.
- Specified by:
evaluate
in interface Expression
- 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
public Object evaluate(Object object)
- Description copied from interface:
Expression
- Evaluates the given expression based on the content of the given object.
- Specified by:
evaluate
in interface Expression
evaluateInputs
protected Map<String,Object> evaluateInputs(Object object)
- 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 the
RenderingProcessFunction
inversion methods).
- Parameters:
object
- the object to evaluate the input expressions against.
- Returns:
- the map of inputs
Copyright © 1996-2014 Geotools. All Rights Reserved.