|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectRecodeFunction
public class RecodeFunction
This is an implemenation of the Recode function as defined by the OGC Symbology Encoding (SE) 1.1 specification.
The Recode function provides a lookup table facility (think HashTable)
where both keys and values can be any Expression
. The first
parameter to the function specifies the source of the value to lookup,
e.g. the name of a feature property as a Literal
. The remaining
parameters define the lookup table as key:value pairs. Thus there should
be an odd number of parameters in total: the lookup value parameter plus
the set of key value pairs.
Where the lookup involves String
values, comparisons are done
case-insensitively.
If the lookup value does not match any of the keys defined this function
returns null
.
Field Summary | |
---|---|
static FunctionName |
NAME
Make the instance of FunctionName available in a consistent spot. |
Fields inherited from interface Expression |
---|
NIL |
Constructor Summary | |
---|---|
RecodeFunction()
|
|
RecodeFunction(List<Expression> parameters,
Literal fallback)
|
Method Summary | ||
---|---|---|
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. |
|
|
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. |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final FunctionName NAME
Constructor Detail |
---|
public RecodeFunction()
public RecodeFunction(List<Expression> parameters, Literal fallback)
Method Detail |
---|
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.
getName
in interface Function
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |