Package org.geotools.filter.function
Class StringTemplateFunction
Object
StringTemplateFunction
- All Implemented Interfaces:
Expression,Function
StringTemplate function, applies a regular expression with capturing groups, and them uses the
groups to build a new string based on the provided template.
This function expects four expressions in input, the first three of which are mandatory.
- The string to be matched
- A regular expression, possibly using capturing groups
- A template using ${0} for the fully matched string, ${n} for the n-th matching group
- An optional value returned if the regular expresion does not match the input string
-
stringTemplate('2002-03-01T13:00:00Z', '\d{4}-\d{2}-\d{2}T(\d{2}):\d{2}:\d{2}', '${1}') will result in13(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 returnnull(no match)stringTemplate('abcd', '\d{4}-\d{2}-\d{2}T(\d{2}):\d{2}:\d{2}', '${1}', 'default')will returndefault(no match, but there is a default value
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FunctionNameMake the instance of FunctionName available in a consistent spot.Fields inherited from interface Expression
NIL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaccept(ExpressionVisitor visitor, Object extraData) Accepts a visitor.Evaluates the given expression based on the content of the given object.<T> TEvaluates the given expressoin based on the content of the given object and the context type.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.toString()Creates a String representation of this Function with the function name and the arguments.
-
Field Details
-
NAME
Make the instance of FunctionName available in a consistent spot.
-
-
Constructor Details
-
StringTemplateFunction
public StringTemplateFunction() -
StringTemplateFunction
-
-
Method Details
-
getName
Description copied from interface:FunctionReturns 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.
-
getFunctionName
Description copied from interface:FunctionAccess to the FunctionName description as used in a FilterCapabilities document.- Specified by:
getFunctionNamein interfaceFunction- Returns:
- FunctionName description, if available.
-
getParameters
Description copied from interface:FunctionReturns the list subexpressions that will be evaluated to provide the parameters to the function.- Specified by:
getParametersin interfaceFunction
-
accept
Description copied from interface:ExpressionAccepts a visitor. Subclasses must implement with a method whose content is the following:return visitor.visit(this, extraData);
- Specified by:
acceptin interfaceExpression
-
evaluate
Description copied from interface:ExpressionEvaluates the given expression based on the content of the given object.- Specified by:
evaluatein interfaceExpression- Returns:
- computed value
-
evaluate
Description copied from interface:ExpressionEvaluates the given expressoin based on the content of the given object and the context type.The
contextparameter 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
contextshould returnnull.- Specified by:
evaluatein 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.
-
getFallbackValue
Description copied from interface:FunctionThe 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:
getFallbackValuein interfaceFunction- Returns:
- Optional literal to use if an implementation for this function is not available.
-
toString
Creates a String representation of this Function with the function name and the arguments.
-