Package org.geotools.api.filter.expression
Object
value.
The following is adapted from Filter encoding specifications:
- Filter Encoding 1.0
- OpenGIS® Filter Encoding Implementation Specification Version 1.1
- OpenGIS® Catalogue Service Implementation Specification 2.0.1
An expression can be formed using the elements:
Add
, Subtract
,
Multiply
, Divide
,
PropertyName
, Literal
and
Function
. They all belong to the substitution group expression which means
that any of them can be used wherever an expression is called for. In addition, the combinations of these elements
are themselves expressions and can be used wherever an expression is called for.
Arithmetic operators
The elements defined in this package are used to encode the fundamental arithmetic operations of addition, subtraction, multiplication and division. Arithmetic operators are binary operators meaning that they accept two arguments and evaluate to a single result.
Literals
A literal value is any part of a statement or expression that is to be used exactly as it is
specified, rather than as a variable or other element. The Literal
element
is used to encode literal scalar and geometric values.
Functions
A function is a named procedure that performs a distinct computation. A function may accept zero
or more arguments as input and generates a single result. A function is composed of the name of the function, encoded
using the attribute name, and zero or more arguments contained within the
Function
element. The arguments themselves are
expressions.
Data Access
Data access is acomplished by means of PropertyName
expressions. These Expressions are independent of the data being queried and form the foundation of a, very simple,
general query language offering independence specific bindings to Feature, Metadata and Record data structures.
Filter Encodings
At the time of this writing the Filter API has standard encodings for XML (Filter 1.0 and Filter 1.1) and Text (a BNF form is provided in the Catalog 2.0.1 specification above). You should be warned that not all content can be expressed in all encodings, please refer to the javadocs for specific limitations.
-
Interface Summary Interface Description Add Encodes the operation of addition.BinaryExpression Abstract base class for the various filter expressions that compute some value from two input values.Divide Encodes the operation of division where the first argument is divided by the second argument.Expression Interface for all the OGC Filter elements that compute values.ExpressionVisitor Visitor withvisit
methods to be called byExpression.accept(...)
.Function Instances of this class represent a function call into some implementation-specific function.InternalFunction SpecialFunction
type indicating that that the function is to be executed exclusively at run-time, and does not participate in the SPI (Service Provider Interface) lookup mechanism (i.e. cannot be created using aFilterFactory
).Literal Instances of this interface provide a constant, literal value that can be used in expressions.Multiply Encodes the operation of multiplication.PropertyName Expression class whose value is computed by retrieving the value indicated by the provided name.SimplifiableFunction Implemented by functions that can turn themselves into a simpler, more efficient expression, when certain conditions are met.Subtract Encodes the operation of subtraction where the second argument is subtracted from the first.VolatileFunction Marker interface indicating that that the function return value can change during a single data access operation even if the argument values provided to it remain constant -
Class Summary Class Description NilExpression Placeholder class used to represent a NIL expression, evaluates tonull
.