001: /*
002: * GeoTools - OpenSource mapping toolkit
003: * http://geotools.org
004: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation;
009: * version 2.1 of the License.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: */
016: package org.geotools.filter;
017:
018: /**
019: * The FilterType interface lists all the possible type of filter.
020: * <p>
021: * Example:<pre><code>
022: * BEFORE: filter.getFilterType() == FilterType.GEOMETRY_CONTAINS
023: * QUICK: Filters.getFilterType( filter ) == FilterType.GEOMETRY_CONTAINS
024: * AFTER: filter instanceof Contains
025: * </code></pre>
026: *
027: * @author aaime
028: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/api/src/main/java/org/geotools/filter/FilterType.java $
029: * @deprecated please use instance of check against geoapi class.
030: */
031: public interface FilterType {
032: /* ***********************************************************************
033: * This is a listing of all possible filter types, grouped by types that
034: * are implemented by a single filter (ie. all logic types are implemented
035: * by FilterLogic).
036: * **********************************************************************/
037:
038: /* Types implemented by FilterLogic */
039: /** Defines a logical 'OR' filter. */
040: public static final short LOGIC_OR = 1;
041:
042: /** Defines a logical 'AND' filter. */
043: public static final short LOGIC_AND = 2;
044:
045: /** Defines a logical 'NOT' filter. */
046: public static final short LOGIC_NOT = 3;
047:
048: /* Types implemented by FilterGeometry */
049: /** Defines a geometric bounding box filter. */
050: public static final short GEOMETRY_BBOX = 4;
051:
052: /** Defines a geometric 'EQUALS' operator. */
053: public static final short GEOMETRY_EQUALS = 5;
054:
055: /** Defines a geometric 'DISJOINT' operator. */
056: public static final short GEOMETRY_DISJOINT = 6;
057:
058: /** Defines a geometric 'INTERSECTS' operator. */
059: public static final short GEOMETRY_INTERSECTS = 7;
060:
061: /** Defines a geometric 'TOUCHES' operator. */
062: public static final short GEOMETRY_TOUCHES = 8;
063:
064: /** Defines a geometric 'CROSSES' operator. */
065: public static final short GEOMETRY_CROSSES = 9;
066:
067: /** Defines a geometric 'WITHIN' operator. */
068: public static final short GEOMETRY_WITHIN = 10;
069:
070: /** Defines a geometric 'CONTAINS' operator. */
071: public static final short GEOMETRY_CONTAINS = 11;
072:
073: /** Defines a geometric 'OVERLAPS' operator. */
074: public static final short GEOMETRY_OVERLAPS = 12;
075:
076: /** Defines a geometric 'BEYOND' operator. */
077: public static final short GEOMETRY_BEYOND = 13;
078:
079: /** Defines a geometric 'DWITHIN' operator. */
080: public static final short GEOMETRY_DWITHIN = 24;
081:
082: /* Types implemented by FilterCompare */
083: /** Defines a comparative equals filter (may be a math filter). */
084: public static final short COMPARE_EQUALS = 14;
085:
086: /** Defines a comparative less than filter (is a math filter). */
087: public static final short COMPARE_LESS_THAN = 15;
088:
089: /** Defines a comparative greater than filter (is a math filter). */
090: public static final short COMPARE_GREATER_THAN = 16;
091:
092: /** Defines a comparative less than/equals filter (is a math filter). */
093: public static final short COMPARE_LESS_THAN_EQUAL = 17;
094:
095: /** Defines a comparative greater than/equals filter (is a math filter). */
096: public static final short COMPARE_GREATER_THAN_EQUAL = 18;
097:
098: /** Defines a comparative not equals filter (may be a math filter). */
099: public static final short COMPARE_NOT_EQUALS = 23;
100:
101: /**
102: * Defines a between filter, which is implemented by FilterBetween. Note
103: * that this filter is defined as a math filter.
104: */
105: public static final short BETWEEN = 19;
106:
107: /** Defines a null filter, which is implemented by FilterNull. */
108: public static final short NULL = 21;
109:
110: /** Defines a like filter, which is implemented by FilterLike. */
111: public static final short LIKE = 20;
112:
113: /** Defines a fid filter, which is implemented by FidFilterImpl. */
114: public static final short FID = 22;
115:
116: /** Defines an empty filter, with static implementation Filter.INCLUDE */
117: public static final short NONE = 12345;
118:
119: /** Defines a sieve filter, with static implementation Filter.EXCLUDE */
120: public static final short ALL = -12345;
121: }
|