public class ProcessFunction extends Object implements Function
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 MapNIL
Constructor and Description |
---|
ProcessFunction(Name processName,
List<Expression> inputExpressions,
Map<String,Parameter<?>> parameters,
Process process,
Literal fallbackValue) |
Modifier and Type | Method and Description |
---|---|
Object |
accept(ExpressionVisitor visitor,
Object extraData)
Accepts a visitor.
|
boolean |
equals(Object obj) |
Object |
evaluate(Object object)
Evaluates the given expression based on the content of the given object.
|
<T> T |
evaluate(Object object,
Class<T> context)
Evaluates the given expressoin based on the content of the given object and the context type.
|
protected Map<String,Object> |
evaluateInputs(Object object)
Evaluates the process input expressions.
|
Literal |
getFallbackValue()
The value of the fallbackValue attribute is used as a default value, if the SE implementation
does not support the function.
|
FunctionName |
getFunctionName()
Access to the FunctionName description as used in a FilterCapabilities document.
|
String |
getName()
Returns the name of the function to be called.
|
List<Expression> |
getParameters()
Returns the list subexpressions that will be evaluated to provide the parameters to the
function.
|
Name |
getProcessName() |
int |
hashCode() |
public Literal getFallbackValue()
Function
getFallbackValue
in interface Function
public String getName()
Function
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.
public Name getProcessName()
public FunctionName getFunctionName()
Function
getFunctionName
in interface Function
public List<Expression> getParameters()
Function
getParameters
in interface Function
public Object accept(ExpressionVisitor visitor, Object extraData)
Expression
return visitor.visit(this, extraData);
accept
in interface Expression
public <T> T evaluate(Object object, Class<T> context)
Expression
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
.
evaluate
in interface Expression
T
- The type of the returned object.object
- The object to evaluate the expression against.context
- The type of the resulting value of the expression.context
.public Object evaluate(Object object)
Expression
evaluate
in interface Expression
protected Map<String,Object> evaluateInputs(Object object)
RenderingProcessFunction
inversion methods).object
- the object to evaluate the input expressions against.Copyright © 1996–2019 Geotools. All rights reserved.