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.expression;
17:
18: import org.geotools.factory.Hints;
19:
20: /**
21: * Factory used to create instances of {@link PropertyAccessor}
22: *
23: * @author Justin Deoliveira, The Open Planning Project
24: *
25: */
26: public interface PropertyAccessorFactory {
27: /**
28: * Creates a property accessor for a particular class.
29: *
30: * @param type The type of object to be accessed.
31: * @param xpath The xpath expression to evaluate.
32: * @param target The kind of result we are expecting (ie Geometry)
33: * @param hints Hints to be used when creatign the accessor.
34: *
35: * @return The property accessor, or <code>null</code> if this factory cannot create
36: * an accessor for the specified type.
37: */
38: PropertyAccessor createPropertyAccessor(Class type, String xpath,
39: Class target, Hints hints);
40: }
|