Revision 29326 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/spi/AbstractFeatureStoreProvider.java

View differences:

AbstractFeatureStoreProvider.java
13 13
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
14 14
import org.gvsig.fmap.dal.feature.FeatureLocks;
15 15
import org.gvsig.fmap.dal.feature.FeatureSelection;
16
import org.gvsig.fmap.dal.feature.FeatureStore;
16 17
import org.gvsig.fmap.dal.feature.FeatureType;
17 18
import org.gvsig.fmap.dal.resource.ResourceManager;
18 19
import org.gvsig.fmap.dal.resource.spi.ResourceManagerProviderServices;
19 20
import org.gvsig.fmap.dal.resource.spi.ResourceProvider;
21
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
20 22
import org.gvsig.fmap.geom.primitive.Envelope;
21 23
import org.gvsig.tools.dynobject.DelegatedDynObject;
22 24
import org.gvsig.tools.dynobject.DynClass;
......
28 30
public abstract class AbstractFeatureStoreProvider implements
29 31
		FeatureStoreProvider {
30 32

  
31
	protected FeatureStoreProviderServices store;
32
	protected DelegatedDynObject metadata;
33
	protected DataStoreParameters parameters;
33
	private FeatureStoreProviderServices store;
34
	private DelegatedDynObject metadata;
35
	private DataStoreParameters parameters;
34 36

  
35
	public AbstractFeatureStoreProvider() {
36
		this.store = null;
37
	/**
38
	 * Default Constructor.
39
	 *
40
	 * @param params
41
	 * @param storeServices
42
	 * @param metadata
43
	 */
44
	protected AbstractFeatureStoreProvider(DataStoreParameters params,
45
			DataStoreProviderServices storeServices, DynObject metadata) {
46
		this.store = (FeatureStoreProviderServices) storeServices;
47
		this.metadata = (DelegatedDynObject) metadata;
48
		this.parameters = params;
49
	}
50

  
51
	/**
52
	 * Constructor when cannot create metada in constrution time. <br>
53
	 * <br>
54
	 * <strong>Note: </strong> Don't use it if not is necesary. Set metada
55
	 * <strong>as soon as posible</strong> by
56
	 * {@link AbstractFeatureStoreProvider#setMetadata(DynObject)}
57
	 *
58
	 * @param params
59
	 * @param storeServices
60
	 */
61
	protected AbstractFeatureStoreProvider(DataStoreParameters params,
62
			DataStoreProviderServices storeServices) {
63
		this.store = (FeatureStoreProviderServices) storeServices;
37 64
		this.metadata = null;
38
		this.parameters = null;
65
		this.parameters = params;
39 66
	}
40 67

  
41

  
42
	public FeatureStoreProvider initialize(FeatureStoreProviderServices store)
43
			throws InitializeException {
44
		this.store = store;
45
		return this;
68
	/**
69
	 * Set metada container if this not set at construction time and only in one
70
	 * time. In other case an Exception will be throw
71
	 *
72
	 * @param metadata
73
	 */
74
	protected void setMetadata(DynObject metadata) {
75
		if (this.metadata != null) {
76
			// FIXME Exception
77
			throw new IllegalStateException();
78
		}
79
		this.metadata = (DelegatedDynObject) metadata;
46 80
	}
47 81

  
48 82
	/**
......
79 113
		return this.store;
80 114
	}
81 115

  
116
	public FeatureStore getFeatureStore() {
117
		return this.store.getFeatureStore();
118
	}
119

  
82 120
	/**
83 121
	 * unsupported by default, override this otherwise
84 122
	 *

Also available in: Unified diff