Class VocabFunction
- All Implemented Interfaces:
Expression,Function
This is similar to a Recode function from the Symbology Enoding 1.1 specifcation with the difference that the lookup table is named by a URI. This URI can be handled internally as an optimization; or it can be resolved to an external URL which is dragged down (as a property file) and cached.
This function expects:
- Expression: often a property name expression
- Literal: URI defining the lookup table to use
- Author:
- Jody Garnett (GeoServer)
-
Field Summary
FieldsFields 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.static Properties
-
Field Details
-
NAME
-
-
Constructor Details
-
VocabFunction
public VocabFunction() -
VocabFunction
-
-
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.
-
lookup
-
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.
-