org.apache.sis.storage

## Interface Query

-     public interface Query

  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>`. 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

  Defined in the `sis-storage` module

Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.