Encodes the operation of addition.
Abstract base class for the various filter expressions that compute some value from two input values.
Encodes the operation of division where the first argument is divided by the second argument.
Interface for all the OGC Filter elements that compute values.
Instances of this class represent a function call into some implementation-specific function.
Instances of this interface provide a constant, literal value that can be used in expressions.
Encodes the operation of multiplication.
Expression class whose value is computed by retrieving the value indicated by the provided name.
Encodes the operation of subtraction where the second argument is subtracted from the first.
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 Very few functions are truly volatile, one example being random(), whose value is going to change over each invocation, even during the same feature collection filtering Functions whose value changes over time but not within the same feature collection filtering are considered to be stable and as such their result can be considered a constant during the single data access operation GeoTools will try to optimize out the stable functions and replace them with a constant that can be easily encoded in whatever native filtering mechanism the datastores have Given the vast majority of function are stable by the above definition only the fews that aren't suitable for constant replacement during a single run against a feature collection should be marked as volatile
Placeholder class used to represent a NIL expression, evaluates to
Objectvalue. The following is adapted from Filter encoding specifications:
An expression can be formed using the elements:
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 combinaison of these elements are themselves expressions and can be used wherever an expression is
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.
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.
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
element. The arguments themselves are expressions.
Data access is acomplished by means of
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.
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.
Copyright © 1996–2015 Geotools. All rights reserved.