001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: FeatureCollectionTypeImpl.java 7522 2007-09-12 22:00:10Z saul.farber $
006: */package net.opengis.wfs.impl;
007:
008: import java.math.BigInteger;
009:
010: import java.util.Calendar;
011: import java.util.Collection;
012:
013: import net.opengis.wfs.FeatureCollectionType;
014: import net.opengis.wfs.WfsPackage;
015:
016: import org.eclipse.emf.common.notify.Notification;
017:
018: import org.eclipse.emf.common.util.EList;
019:
020: import org.eclipse.emf.ecore.EClass;
021:
022: import org.eclipse.emf.ecore.impl.ENotificationImpl;
023: import org.eclipse.emf.ecore.impl.EObjectImpl;
024:
025: import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
026:
027: import org.geotools.feature.FeatureCollection;
028:
029: /**
030: * <!-- begin-user-doc -->
031: * An implementation of the model object '<em><b>Feature Collection Type</b></em>'.
032: * <!-- end-user-doc -->
033: * <p>
034: * The following features are implemented:
035: * <ul>
036: * <li>{@link net.opengis.wfs.impl.FeatureCollectionTypeImpl#getLockId <em>Lock Id</em>}</li>
037: * <li>{@link net.opengis.wfs.impl.FeatureCollectionTypeImpl#getTimeStamp <em>Time Stamp</em>}</li>
038: * <li>{@link net.opengis.wfs.impl.FeatureCollectionTypeImpl#getNumberOfFeatures <em>Number Of Features</em>}</li>
039: * <li>{@link net.opengis.wfs.impl.FeatureCollectionTypeImpl#getFeature <em>Feature</em>}</li>
040: * </ul>
041: * </p>
042: *
043: * @generated
044: */
045: public class FeatureCollectionTypeImpl extends EObjectImpl implements
046: FeatureCollectionType {
047: /**
048: * The default value of the '{@link #getLockId() <em>Lock Id</em>}' attribute.
049: * <!-- begin-user-doc -->
050: * <!-- end-user-doc -->
051: * @see #getLockId()
052: * @generated
053: * @ordered
054: */
055: protected static final String LOCK_ID_EDEFAULT = null;
056:
057: /**
058: * The cached value of the '{@link #getLockId() <em>Lock Id</em>}' attribute.
059: * <!-- begin-user-doc -->
060: * <!-- end-user-doc -->
061: * @see #getLockId()
062: * @generated
063: * @ordered
064: */
065: protected String lockId = LOCK_ID_EDEFAULT;
066:
067: /**
068: * The default value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
069: * <!-- begin-user-doc -->
070: * <!-- end-user-doc -->
071: * @see #getTimeStamp()
072: * @generated
073: * @ordered
074: */
075: protected static final Calendar TIME_STAMP_EDEFAULT = null;
076:
077: /**
078: * The cached value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
079: * <!-- begin-user-doc -->
080: * <!-- end-user-doc -->
081: * @see #getTimeStamp()
082: * @generated
083: * @ordered
084: */
085: protected Calendar timeStamp = TIME_STAMP_EDEFAULT;
086:
087: /**
088: * The default value of the '{@link #getNumberOfFeatures() <em>Number Of Features</em>}' attribute.
089: * <!-- begin-user-doc -->
090: * <!-- end-user-doc -->
091: * @see #getNumberOfFeatures()
092: * @generated
093: * @ordered
094: */
095: protected static final BigInteger NUMBER_OF_FEATURES_EDEFAULT = null;
096:
097: /**
098: * The cached value of the '{@link #getNumberOfFeatures() <em>Number Of Features</em>}' attribute.
099: * <!-- begin-user-doc -->
100: * <!-- end-user-doc -->
101: * @see #getNumberOfFeatures()
102: * @generated
103: * @ordered
104: */
105: protected BigInteger numberOfFeatures = NUMBER_OF_FEATURES_EDEFAULT;
106:
107: /**
108: * The cached value of the '{@link #getFeature() <em>Feature</em>}' attribute list.
109: * <!-- begin-user-doc -->
110: * <!-- end-user-doc -->
111: * @see #getFeature()
112: * @generated
113: * @ordered
114: */
115: protected EList feature;
116:
117: /**
118: * <!-- begin-user-doc -->
119: * <!-- end-user-doc -->
120: * @generated
121: */
122: protected FeatureCollectionTypeImpl() {
123: super ();
124: }
125:
126: /**
127: * <!-- begin-user-doc -->
128: * <!-- end-user-doc -->
129: * @generated
130: */
131: protected EClass eStaticClass() {
132: return WfsPackage.Literals.FEATURE_COLLECTION_TYPE;
133: }
134:
135: /**
136: * <!-- begin-user-doc -->
137: * <!-- end-user-doc -->
138: * @generated
139: */
140: public String getLockId() {
141: return lockId;
142: }
143:
144: /**
145: * <!-- begin-user-doc -->
146: * <!-- end-user-doc -->
147: * @generated
148: */
149: public void setLockId(String newLockId) {
150: String oldLockId = lockId;
151: lockId = newLockId;
152: if (eNotificationRequired())
153: eNotify(new ENotificationImpl(this , Notification.SET,
154: WfsPackage.FEATURE_COLLECTION_TYPE__LOCK_ID,
155: oldLockId, lockId));
156: }
157:
158: /**
159: * <!-- begin-user-doc -->
160: * <!-- end-user-doc -->
161: * @generated
162: */
163: public Calendar getTimeStamp() {
164: return timeStamp;
165: }
166:
167: /**
168: * <!-- begin-user-doc -->
169: * <!-- end-user-doc -->
170: * @generated
171: */
172: public void setTimeStamp(Calendar newTimeStamp) {
173: Calendar oldTimeStamp = timeStamp;
174: timeStamp = newTimeStamp;
175: if (eNotificationRequired())
176: eNotify(new ENotificationImpl(this , Notification.SET,
177: WfsPackage.FEATURE_COLLECTION_TYPE__TIME_STAMP,
178: oldTimeStamp, timeStamp));
179: }
180:
181: /**
182: * <!-- begin-user-doc -->
183: * <!-- end-user-doc -->
184: * @generated
185: */
186: public BigInteger getNumberOfFeatures() {
187: return numberOfFeatures;
188: }
189:
190: /**
191: * <!-- begin-user-doc -->
192: * <!-- end-user-doc -->
193: * @generated
194: */
195: public void setNumberOfFeatures(BigInteger newNumberOfFeatures) {
196: BigInteger oldNumberOfFeatures = numberOfFeatures;
197: numberOfFeatures = newNumberOfFeatures;
198: if (eNotificationRequired())
199: eNotify(new ENotificationImpl(
200: this ,
201: Notification.SET,
202: WfsPackage.FEATURE_COLLECTION_TYPE__NUMBER_OF_FEATURES,
203: oldNumberOfFeatures, numberOfFeatures));
204: }
205:
206: /**
207: * <!-- begin-user-doc -->
208: * <!-- end-user-doc -->
209: * @generated
210: */
211: public EList getFeature() {
212: if (feature == null) {
213: feature = new EDataTypeUniqueEList(FeatureCollection.class,
214: this , WfsPackage.FEATURE_COLLECTION_TYPE__FEATURE);
215: }
216: return feature;
217: }
218:
219: /**
220: * <!-- begin-user-doc -->
221: * <!-- end-user-doc -->
222: * @generated
223: */
224: public Object eGet(int featureID, boolean resolve, boolean coreType) {
225: switch (featureID) {
226: case WfsPackage.FEATURE_COLLECTION_TYPE__LOCK_ID:
227: return getLockId();
228: case WfsPackage.FEATURE_COLLECTION_TYPE__TIME_STAMP:
229: return getTimeStamp();
230: case WfsPackage.FEATURE_COLLECTION_TYPE__NUMBER_OF_FEATURES:
231: return getNumberOfFeatures();
232: case WfsPackage.FEATURE_COLLECTION_TYPE__FEATURE:
233: return getFeature();
234: }
235: return super .eGet(featureID, resolve, coreType);
236: }
237:
238: /**
239: * <!-- begin-user-doc -->
240: * <!-- end-user-doc -->
241: * @generated
242: */
243: public void eSet(int featureID, Object newValue) {
244: switch (featureID) {
245: case WfsPackage.FEATURE_COLLECTION_TYPE__LOCK_ID:
246: setLockId((String) newValue);
247: return;
248: case WfsPackage.FEATURE_COLLECTION_TYPE__TIME_STAMP:
249: setTimeStamp((Calendar) newValue);
250: return;
251: case WfsPackage.FEATURE_COLLECTION_TYPE__NUMBER_OF_FEATURES:
252: setNumberOfFeatures((BigInteger) newValue);
253: return;
254: case WfsPackage.FEATURE_COLLECTION_TYPE__FEATURE:
255: getFeature().clear();
256: getFeature().addAll((Collection) newValue);
257: return;
258: }
259: super .eSet(featureID, newValue);
260: }
261:
262: /**
263: * <!-- begin-user-doc -->
264: * <!-- end-user-doc -->
265: * @generated
266: */
267: public void eUnset(int featureID) {
268: switch (featureID) {
269: case WfsPackage.FEATURE_COLLECTION_TYPE__LOCK_ID:
270: setLockId(LOCK_ID_EDEFAULT);
271: return;
272: case WfsPackage.FEATURE_COLLECTION_TYPE__TIME_STAMP:
273: setTimeStamp(TIME_STAMP_EDEFAULT);
274: return;
275: case WfsPackage.FEATURE_COLLECTION_TYPE__NUMBER_OF_FEATURES:
276: setNumberOfFeatures(NUMBER_OF_FEATURES_EDEFAULT);
277: return;
278: case WfsPackage.FEATURE_COLLECTION_TYPE__FEATURE:
279: getFeature().clear();
280: return;
281: }
282: super .eUnset(featureID);
283: }
284:
285: /**
286: * <!-- begin-user-doc -->
287: * <!-- end-user-doc -->
288: * @generated
289: */
290: public boolean eIsSet(int featureID) {
291: switch (featureID) {
292: case WfsPackage.FEATURE_COLLECTION_TYPE__LOCK_ID:
293: return LOCK_ID_EDEFAULT == null ? lockId != null
294: : !LOCK_ID_EDEFAULT.equals(lockId);
295: case WfsPackage.FEATURE_COLLECTION_TYPE__TIME_STAMP:
296: return TIME_STAMP_EDEFAULT == null ? timeStamp != null
297: : !TIME_STAMP_EDEFAULT.equals(timeStamp);
298: case WfsPackage.FEATURE_COLLECTION_TYPE__NUMBER_OF_FEATURES:
299: return NUMBER_OF_FEATURES_EDEFAULT == null ? numberOfFeatures != null
300: : !NUMBER_OF_FEATURES_EDEFAULT
301: .equals(numberOfFeatures);
302: case WfsPackage.FEATURE_COLLECTION_TYPE__FEATURE:
303: return feature != null && !feature.isEmpty();
304: }
305: return super .eIsSet(featureID);
306: }
307:
308: /**
309: * <!-- begin-user-doc -->
310: * <!-- end-user-doc -->
311: * @generated
312: */
313: public String toString() {
314: if (eIsProxy())
315: return super .toString();
316:
317: StringBuffer result = new StringBuffer(super .toString());
318: result.append(" (lockId: ");
319: result.append(lockId);
320: result.append(", timeStamp: ");
321: result.append(timeStamp);
322: result.append(", numberOfFeatures: ");
323: result.append(numberOfFeatures);
324: result.append(", feature: ");
325: result.append(feature);
326: result.append(')');
327: return result.toString();
328: }
329:
330: } //FeatureCollectionTypeImpl
|