Interface Filter

All Known Subinterfaces:
After, And, AnyInteracts, BBOX, BBOX3D, Before, Begins, BegunBy, Beyond, BinaryComparisonOperator, BinaryLogicOperator, BinarySpatialOperator, BinaryTemporalOperator, BoundedSpatialOperator, Contains, Crosses, Disjoint, DistanceBufferOperator, During, DWithin, EndedBy, Ends, Equals, Id, Intersects, Meets, MetBy, MultiValuedFilter, NativeFilter, Not, Or, OverlappedBy, Overlaps, PropertyIsBetween, PropertyIsEqualTo, PropertyIsGreaterThan, PropertyIsGreaterThanOrEqualTo, PropertyIsLessThan, PropertyIsLessThanOrEqualTo, PropertyIsLike, PropertyIsNil, PropertyIsNotEqualTo, PropertyIsNull, SpatialOperator, TContains, TEquals, Touches, TOverlaps, Within
All Known Implementing Classes:
AbstractFilter, AbstractPreparedGeometryFilter, AfterImpl, AndImpl, AnyInteractsImpl, BBOX3DImpl, BBOXImpl, BeforeImpl, BeginsImpl, BegunByImpl, BeyondImpl, BinaryComparisonAbstract, BinaryLogicAbstract, BinaryTemporalOperatorImpl, CartesianDistanceFilter, CompareFilterImpl, ContainsImpl, CrossesImpl, DisjointImpl, DuringImpl, DWithinImpl, EndedByImpl, EndsImpl, EqualsImpl, ExcludeFilter, FidFilterImpl, FilterAbstract, GeometryFilterImpl, IncludeFilter, IntersectsImpl, IsBetweenImpl, IsEqualsToImpl, IsGreaterThanImpl, IsGreaterThanOrEqualToImpl, IsLessThenImpl, IsLessThenOrEqualToImpl, IsNilImpl, IsNotEqualToImpl, IsNullImpl, JoinId, LikeFilterImpl, LogicFilterImpl, MeetsImpl, MetByImpl, MultiCompareFilterImpl, NativeFilterImpl, NotImpl, NullFilterImpl, OrImpl, OverlappedByImpl, OverlapsImpl, TContainsImpl, TEqualsImpl, TouchesImpl, TOverlapsImpl, WithinImpl

public interface Filter
Defines a constraint that can be checked against an instance of an object (Usually a Feature).

This is an abstract super type of the Filters defined by the Filter specification; you are not free to define your own filters. For extensibility please explore the definition of your own Function.

Often a filter is used to to define a set feature instances that are to be operated upon. The operating set can be comprised of one or more enumerated features or a set of features defined by specifying spatial and non-spatial constraints on the geometric and scalar properties of a feature type.

Roughly speaking, a filter encodes the information present in the WHERE clause of a SQL statement. There are various subclasses of this class that implement many types of filters, such as simple property comparisons or spatial queries.

The second use of Filter focuses on expressing constraints (or Facets). This use places restrictions on the allowable and is captured as part of schema information (@linkplain FeatureType). This is similar to the XML concept of "facets".

Since:
GeoAPI 2.0
Author:
Chris Dillard (SYS Technologies)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final ExcludeFilter
    Placeholder Filter that evaulates to false.
    static final IncludeFilter
    Placeholder Filter that evaulates to true.
  • Method Summary

    Modifier and Type
    Method
    Description
    accept(FilterVisitor visitor, Object extraData)
    Accepts a visitor.
    boolean
    evaluate(Object object)
    Give an object, this method determines if the test(s) represented by this filter object are passed.
  • Field Details

    • INCLUDE

      static final IncludeFilter INCLUDE
      Placeholder Filter that evaulates to true.

      Filtering a set with Filter.INCLUDE results in the origional set.

    • EXCLUDE

      static final ExcludeFilter EXCLUDE
      Placeholder Filter that evaulates to false.

      Filtering a set with Filter.EXCLUDE results in the empty Set.

  • Method Details

    • evaluate

      boolean evaluate(Object object)
      Give an object, this method determines if the test(s) represented by this filter object are passed.

      This ability is used to allow Queries against both Features and and non spatial data (such as Record) and to express constraints on permissable data values.

      Returns:
      true if the test(s) are passed for the provided object
    • accept

      Object accept(FilterVisitor visitor, Object extraData)
      Accepts a visitor.

      Implementations of all subinterfaces must have with a method whose content is the following:

      return visitor.visit(this, extraData);