Interface Expression<R,V>

Type Parameters:
R - the type of resources (e.g. Feature) used as inputs.
V - the type of values computed by the expression.
All Superinterfaces:
Function<R,V>
All Known Subinterfaces:
Literal<R,V>, ValueReference<R,V>

@Classifier(ABSTRACT) @UML(identifier="Expression", specification=ISO_19143) public interface Expression<R,V> extends Function<R,V>
A literal or a named procedure that performs a distinct computation. An expression can accept zero or more arguments as input and generates a single result. The arguments themselves are in-turn expressions and shall appear in the order in which they are defined in the FilterCapabilities.

Expressions are applied on objects of type <R>. Those objects are typically Feature instances, but expressions can also be used with other kind of objects such as coverage's geometry-value pairs. The value of <? super R> can be obtained at runtime by a call to getResourceClass().

Expressions return a value of type <V>. Expressions that can be used as Filter operators shall return a Boolean result.

Expressions can be implementation-specific functions. Each execution environment should provide a list of supported functions (and the number of arguments they expect) in their FilterCapabilities.

Since:
3.1