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()
Functioncos" 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()
FunctiongetFunctionName in interface Functionpublic List<Expression> getParameters()
FunctiongetParameters in interface Functionpublic Object accept(ExpressionVisitor visitor, Object extraData)
Expressionreturn visitor.visit(this, extraData);
accept in interface Expressionpublic Object evaluate(Object object)
Expressionevaluate in interface Expressionpublic <T> T evaluate(Object object, Class<T> context)
ExpressionThe 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 ExpressionT - 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()
FunctiongetFallbackValue in interface FunctionCopyright © 1996–2021 Geotools. All rights reserved.