public class StringTemplateFunction extends Object implements Function
This function expects four expressions in input, the first three of which are mandatory.
stringTemplate('2002-03-01T13:00:00Z', '\d{4}-\d{2}-\d{2}T(\d{2}):\d{2}:\d{2}', '${1}')
will result in 13
(the only matching group returns the hour of the timestamp)
-
stringTemplate('abcd', '\d{4}-\d{2}-\d{2}T(\d{2}):\d{2}:\d{2}', '${1}')
will return
null
(no match)
-
stringTemplate('abcd', '\d{4}-\d{2}-\d{2}T(\d{2}):\d{2}:\d{2}', '${1}', 'default')
will return default
(no match, but there is a default value
Modifier and Type | Field and Description |
---|---|
static FunctionName |
NAME
Make the instance of FunctionName available in a consistent spot.
|
NIL
Constructor and Description |
---|
StringTemplateFunction() |
StringTemplateFunction(List<Expression> parameters,
Literal fallback) |
Modifier and Type | Method and Description |
---|---|
Object |
accept(ExpressionVisitor visitor,
Object extraData)
Accepts a visitor.
|
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.
|
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.
|
String |
toString()
Creates a String representation of this Function with the function name and the arguments.
|
public static final FunctionName NAME
public StringTemplateFunction()
public StringTemplateFunction(List<Expression> parameters, Literal fallback)
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 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 Object evaluate(Object object)
Expression
evaluate
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 Literal getFallbackValue()
Function
getFallbackValue
in interface Function
Copyright © 1996–2019 Geotools. All rights reserved.