01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.filter;
17:
18: import java.util.Map;
19: import java.util.Collections;
20:
21: import org.geotools.factory.CommonFactoryFinder;
22: import org.geotools.factory.Factory;
23: import org.geotools.factory.FactoryConfigurationError;
24: import org.geotools.factory.GeoTools;
25: import org.geotools.factory.Hints;
26: import org.geotools.feature.AttributeType;
27: import org.geotools.feature.FeatureType;
28:
29: import com.vividsolutions.jts.geom.Envelope;
30:
31: /**
32: * This specifies the interface to create filters.
33: *
34: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/main/src/main/java/org/geotools/filter/FilterFactoryFinder.java $
35: * @version $Id: FilterFactoryFinder.java 25009 2007-04-04 03:35:49Z jgarnett $
36: *
37: * @task TODO: This needs to be massively overhauled. This should be the
38: * source of immutability of filters. See {@link FeatureTypeFactory},
39: * as that provides a good example of what this should look like. The
40: * mutable factory to create immutable objects is a good model for this.
41: * The creation methods should only create fully formed filters. This
42: * in turn means that all the set functions in the filters should be
43: * eliminated. When rewriting this class/package, keep in mind
44: * FilterSAXParser in the filter module, as the factory should fit
45: * cleanly with that, and should handle sax parsing without too much
46: * memory overhead.
47: * @task REVISIT: resolve errors, should all throw errors?
48: *
49: * @deprecated Replaced by {@link org.geotools.factory.CommonFactoryFinder#getFilterFactory}.
50: */
51: public abstract class FilterFactoryFinder {
52:
53: /**
54: * Creates an instance of a Filter factory.
55: *
56: * @return An instance of the Filter factory.
57: *
58: * @throws FactoryConfigurationError If a factory is not found.
59: */
60: public static FilterFactory createFilterFactory()
61: throws FactoryConfigurationError {
62: Hints hints = GeoTools.getDefaultHints();
63: return (FilterFactory) CommonFactoryFinder
64: .getFilterFactory(hints);
65: }
66:
67: }
|