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. 
 -