Package org.apache.sis.storage

## Class Query

- Object
- - Query

-     public abstract class Query
      extends Object

  Definition of filtering to apply for fetching a resource subset. Filtering can happen in two domains:
  1. By filtering the `Feature` instances.
  2. By filtering the properties in each feature instance.
  Compared to Java functional interfaces, the first domain is equivalent to using `Predicate<Feature>` while the second domain is equivalent to using `UnaryOperator<Feature>`.
  Note: it is technically possible to use `Query` for performing more generic feature transformations, for example inserting new properties computed from other properties, but such `Query` usages should be rare since transformations (or more generic processing) are the topic of another package. Queries are rather descriptive objects used by `FeatureSet` to optimize search operations as much as possible on the resource, using for example caches and indexes.
  Compared to the SQL language, `Query` contains the information in the `SELECT` and `WHERE` clauses of a SQL statement. A `Query` typically contains filtering capabilities and (sometime) simple attribute transformations. Well known query languages include SQL and CQL.
  Since:
    0.8
  See Also:
    `FeatureSet​.subset(Query)`

  Defined in the `sis-storage` module

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Query()` | Creates a new, initially empty, query.

  - ### Method Summary

    - ### Methods inherited from class Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Query

          protected Query()

      Creates a new, initially empty, query.