/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.filter;
/**
* The ExpressionType interface lists all the possible type of filter. Should
* be replaced by a type safe enum when we move to Java 1.5
*
* @author wolf
*
* @source $URL$
*/
public interface ExpressionType {
/* This is a listing of all possible expression types, grouped by
expressions that are implemented by a single expression class
(ie. all math types are implemented by ExpressionMath). */
/* Types implemented by ExpressionLiteral */
/** Defines a literal expression with an undeclared type. */
public static final short LITERAL_UNDECLARED = 115;
/** Defines a literal expression with a declared double type. */
public static final short LITERAL_DOUBLE = 101;
/** Defines a literal expression with a declared integer type. */
public static final short LITERAL_INTEGER = 102;
/** Defines a literal expression with a declared string type. */
public static final short LITERAL_STRING = 103;
/** Defines a literal expression with a declared geometry type. */
public static final short LITERAL_GEOMETRY = 104;
/**
* Defines a literal expression with a declared long type.
* @since 2.4
**/
public static final short LITERAL_LONG = 99;
/* Types implemented by ExpressionMath. */
/** Defines a math expression for adding. */
public static final short MATH_ADD = 105;
/** Defines a math expression for subtracting. */
public static final short MATH_SUBTRACT = 106;
/** Defines a math expression for multiplying. */
public static final short MATH_MULTIPLY = 107;
/** Defines a math expression for dividing. */
public static final short MATH_DIVIDE = 108;
/* Types implemented by ExpressionAttribute. */
/** Defines an attribute expression with a declared double type. */
public static final short ATTRIBUTE_DOUBLE = 109;
/** Defines an attribute expression with a declared integer type. */
public static final short ATTRIBUTE_INTEGER = 110;
/** Defines an attribute expression with a declared string type. */
public static final short ATTRIBUTE_STRING = 111;
/** Defines an attribute expression with a declared string type. */
public static final short ATTRIBUTE_GEOMETRY = 112;
/** Defines an attribute expression with a declared string type. */
public static final short ATTRIBUTE_UNDECLARED = 115;
/** Defines an attribute expression with a declared string type. */
public static final short ATTRIBUTE = 113;
/** Defines a function expression */
public static final short FUNCTION = 114;
}