01: package org.geotools.feature.iso;
02:
03: import java.util.Collection;
04:
05: import org.geotools.feature.iso.attribute.GeometricAttribute;
06: import org.opengis.feature.Association;
07: import org.opengis.feature.Attribute;
08: import org.opengis.feature.ComplexAttribute;
09: import org.opengis.feature.Feature;
10: import org.opengis.feature.FeatureCollection;
11: import org.opengis.feature.FeatureFactory;
12: import org.opengis.feature.GeometryAttribute;
13: import org.opengis.feature.type.AssociationDescriptor;
14: import org.opengis.feature.type.AttributeDescriptor;
15: import org.opengis.feature.type.ComplexType;
16: import org.opengis.feature.type.FeatureCollectionType;
17: import org.opengis.feature.type.FeatureType;
18: import org.opengis.geometry.coordinate.GeometryFactory;
19: import org.opengis.referencing.crs.CRSFactory;
20: import org.opengis.referencing.crs.CoordinateReferenceSystem;
21:
22: /**
23: * Factory for creating instances of the Attribute family of classes.
24: *
25: * @author Ian Schneider
26: * @author Gabriel Roldan
27: * @author Justin Deoliveira
28: *
29: * @version $Id: AttributeFactoryImpl.java 25075 2007-04-09 19:20:46Z desruisseaux $
30: */
31: public class AttributeFactoryImpl implements FeatureFactory {
32:
33: CRSFactory crsFactory;
34: GeometryFactory geometryFactory;
35:
36: public CRSFactory getCRSFactory() {
37: return crsFactory;
38: }
39:
40: public void setCRSFactory(CRSFactory crsFactory) {
41: this .crsFactory = crsFactory;
42: }
43:
44: public GeometryFactory getGeometryFactory() {
45: return geometryFactory;
46: }
47:
48: public void setGeometryFactory(GeometryFactory geometryFactory) {
49: this .geometryFactory = geometryFactory;
50: }
51:
52: public Association createAssociation(Attribute related,
53: AssociationDescriptor descriptor) {
54: return new AssociationImpl(related, descriptor);
55: }
56:
57: public Attribute createAttribute(Object value,
58: AttributeDescriptor descriptor, String id) {
59: return new AttributeImpl(value, descriptor, id);
60: }
61:
62: public GeometryAttribute createGeometryAttribute(Object value,
63: AttributeDescriptor desc, String id,
64: CoordinateReferenceSystem crs) {
65:
66: return new GeometricAttribute(value, desc, id, crs);
67: }
68:
69: public ComplexAttribute createComplexAttribute(Collection value,
70: AttributeDescriptor desc, String id) {
71: return new ComplexAttributeImpl(value, desc, id);
72: }
73:
74: public ComplexAttribute createComplexAttribute(Collection value,
75: ComplexType type, String id) {
76: return new ComplexAttributeImpl(value, type, id);
77: }
78:
79: public Feature createFeature(Collection value,
80: AttributeDescriptor desc, String id) {
81: return new FeatureImpl(value, desc, id);
82: }
83:
84: public Feature createFeature(Collection value, FeatureType type,
85: String id) {
86: return new FeatureImpl(value, type, id);
87: }
88:
89: public FeatureCollection createFeatureCollection(Collection value,
90: AttributeDescriptor desc, String id) {
91: return new FeatureCollectionImpl(value, desc, id);
92: }
93:
94: public FeatureCollection createFeatureCollection(Collection value,
95: FeatureCollectionType type, String id) {
96: return new FeatureCollectionImpl(value, type, id);
97: }
98:
99: }
|