## org.opengis.filter
Interface Filter

All Known Subinterfaces:
  And, BBOX, Beyond, BinaryComparisonOperator, BinaryLogicOperator, BinarySpatialOperator, BoundedSpatialOperator, Contains, Crosses, Disjoint, DistanceBufferOperator, DWithin, Equals, Id, Intersects, Not, Or, Overlaps, PropertyIsBetween, PropertyIsEqualTo, PropertyIsGreaterThan, PropertyIsGreaterThanOrEqualTo, PropertyIsLessThan, PropertyIsLessThanOrEqualTo, PropertyIsLike, PropertyIsNotEqualTo, PropertyIsNull, SpatialOperator, Touches, Within

All Known Implementing Classes:
  ExcludeFilter, IncludeFilter

    @XmlElement(value="Filter")
    public interface Filter

Fefines a constraint that can be checked against an instance of an Object (usually a Feature).

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
Version:
  Implementation specification 1.0

Field Summary
`static ExcludeFilter` `EXCLUDE` Placeholder Filter that evaulates to `false`.
`static IncludeFilter` `INCLUDE` Placeholder Filter that evaulates to `true`.

Method Summary
`Object` `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 Detail

### 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 Detail

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

  Parameters:
    `object` -
  Returns:
    `true</true> if the test(s) are passed for the provided object`

### accept

    @Extension
    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);

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.