001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: WFSCapabilitiesTypeImpl.java 7522 2007-09-12 22:00:10Z saul.farber $
006: */package net.opengis.wfs.impl;
007:
008: import net.opengis.ows.impl.CapabilitiesBaseTypeImpl;
009:
010: import net.opengis.wfs.FeatureTypeListType;
011: import net.opengis.wfs.GMLObjectTypeListType;
012: import net.opengis.wfs.WFSCapabilitiesType;
013: import net.opengis.wfs.WfsPackage;
014:
015: import org.eclipse.emf.common.notify.Notification;
016: import org.eclipse.emf.common.notify.NotificationChain;
017:
018: import org.eclipse.emf.ecore.EClass;
019: import org.eclipse.emf.ecore.InternalEObject;
020:
021: import org.eclipse.emf.ecore.impl.ENotificationImpl;
022:
023: /**
024: * <!-- begin-user-doc -->
025: * An implementation of the model object '<em><b>WFS Capabilities Type</b></em>'.
026: * <!-- end-user-doc -->
027: * <p>
028: * The following features are implemented:
029: * <ul>
030: * <li>{@link net.opengis.wfs.impl.WFSCapabilitiesTypeImpl#getFeatureTypeList <em>Feature Type List</em>}</li>
031: * <li>{@link net.opengis.wfs.impl.WFSCapabilitiesTypeImpl#getServesGMLObjectTypeList <em>Serves GML Object Type List</em>}</li>
032: * <li>{@link net.opengis.wfs.impl.WFSCapabilitiesTypeImpl#getSupportsGMLObjectTypeList <em>Supports GML Object Type List</em>}</li>
033: * <li>{@link net.opengis.wfs.impl.WFSCapabilitiesTypeImpl#getFilterCapabilities <em>Filter Capabilities</em>}</li>
034: * </ul>
035: * </p>
036: *
037: * @generated
038: */
039: public class WFSCapabilitiesTypeImpl extends CapabilitiesBaseTypeImpl
040: implements WFSCapabilitiesType {
041: /**
042: * The cached value of the '{@link #getFeatureTypeList() <em>Feature Type List</em>}' containment reference.
043: * <!-- begin-user-doc -->
044: * <!-- end-user-doc -->
045: * @see #getFeatureTypeList()
046: * @generated
047: * @ordered
048: */
049: protected FeatureTypeListType featureTypeList;
050:
051: /**
052: * The cached value of the '{@link #getServesGMLObjectTypeList() <em>Serves GML Object Type List</em>}' containment reference.
053: * <!-- begin-user-doc -->
054: * <!-- end-user-doc -->
055: * @see #getServesGMLObjectTypeList()
056: * @generated
057: * @ordered
058: */
059: protected GMLObjectTypeListType servesGMLObjectTypeList;
060:
061: /**
062: * The cached value of the '{@link #getSupportsGMLObjectTypeList() <em>Supports GML Object Type List</em>}' containment reference.
063: * <!-- begin-user-doc -->
064: * <!-- end-user-doc -->
065: * @see #getSupportsGMLObjectTypeList()
066: * @generated
067: * @ordered
068: */
069: protected GMLObjectTypeListType supportsGMLObjectTypeList;
070:
071: /**
072: * The default value of the '{@link #getFilterCapabilities() <em>Filter Capabilities</em>}' attribute.
073: * <!-- begin-user-doc -->
074: * <!-- end-user-doc -->
075: * @see #getFilterCapabilities()
076: * @generated
077: * @ordered
078: */
079: protected static final Object FILTER_CAPABILITIES_EDEFAULT = null;
080:
081: /**
082: * The cached value of the '{@link #getFilterCapabilities() <em>Filter Capabilities</em>}' attribute.
083: * <!-- begin-user-doc -->
084: * <!-- end-user-doc -->
085: * @see #getFilterCapabilities()
086: * @generated
087: * @ordered
088: */
089: protected Object filterCapabilities = FILTER_CAPABILITIES_EDEFAULT;
090:
091: /**
092: * <!-- begin-user-doc -->
093: * <!-- end-user-doc -->
094: * @generated
095: */
096: protected WFSCapabilitiesTypeImpl() {
097: super ();
098: }
099:
100: /**
101: * <!-- begin-user-doc -->
102: * <!-- end-user-doc -->
103: * @generated
104: */
105: protected EClass eStaticClass() {
106: return WfsPackage.Literals.WFS_CAPABILITIES_TYPE;
107: }
108:
109: /**
110: * <!-- begin-user-doc -->
111: * <!-- end-user-doc -->
112: * @generated
113: */
114: public FeatureTypeListType getFeatureTypeList() {
115: return featureTypeList;
116: }
117:
118: /**
119: * <!-- begin-user-doc -->
120: * <!-- end-user-doc -->
121: * @generated
122: */
123: public NotificationChain basicSetFeatureTypeList(
124: FeatureTypeListType newFeatureTypeList,
125: NotificationChain msgs) {
126: FeatureTypeListType oldFeatureTypeList = featureTypeList;
127: featureTypeList = newFeatureTypeList;
128: if (eNotificationRequired()) {
129: ENotificationImpl notification = new ENotificationImpl(
130: this ,
131: Notification.SET,
132: WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST,
133: oldFeatureTypeList, newFeatureTypeList);
134: if (msgs == null)
135: msgs = notification;
136: else
137: msgs.add(notification);
138: }
139: return msgs;
140: }
141:
142: /**
143: * <!-- begin-user-doc -->
144: * <!-- end-user-doc -->
145: * @generated
146: */
147: public void setFeatureTypeList(
148: FeatureTypeListType newFeatureTypeList) {
149: if (newFeatureTypeList != featureTypeList) {
150: NotificationChain msgs = null;
151: if (featureTypeList != null)
152: msgs = ((InternalEObject) featureTypeList)
153: .eInverseRemove(
154: this ,
155: EOPPOSITE_FEATURE_BASE
156: - WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST,
157: null, msgs);
158: if (newFeatureTypeList != null)
159: msgs = ((InternalEObject) newFeatureTypeList)
160: .eInverseAdd(
161: this ,
162: EOPPOSITE_FEATURE_BASE
163: - WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST,
164: null, msgs);
165: msgs = basicSetFeatureTypeList(newFeatureTypeList, msgs);
166: if (msgs != null)
167: msgs.dispatch();
168: } else if (eNotificationRequired())
169: eNotify(new ENotificationImpl(
170: this ,
171: Notification.SET,
172: WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST,
173: newFeatureTypeList, newFeatureTypeList));
174: }
175:
176: /**
177: * <!-- begin-user-doc -->
178: * <!-- end-user-doc -->
179: * @generated
180: */
181: public GMLObjectTypeListType getServesGMLObjectTypeList() {
182: return servesGMLObjectTypeList;
183: }
184:
185: /**
186: * <!-- begin-user-doc -->
187: * <!-- end-user-doc -->
188: * @generated
189: */
190: public NotificationChain basicSetServesGMLObjectTypeList(
191: GMLObjectTypeListType newServesGMLObjectTypeList,
192: NotificationChain msgs) {
193: GMLObjectTypeListType oldServesGMLObjectTypeList = servesGMLObjectTypeList;
194: servesGMLObjectTypeList = newServesGMLObjectTypeList;
195: if (eNotificationRequired()) {
196: ENotificationImpl notification = new ENotificationImpl(
197: this ,
198: Notification.SET,
199: WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST,
200: oldServesGMLObjectTypeList,
201: newServesGMLObjectTypeList);
202: if (msgs == null)
203: msgs = notification;
204: else
205: msgs.add(notification);
206: }
207: return msgs;
208: }
209:
210: /**
211: * <!-- begin-user-doc -->
212: * <!-- end-user-doc -->
213: * @generated
214: */
215: public void setServesGMLObjectTypeList(
216: GMLObjectTypeListType newServesGMLObjectTypeList) {
217: if (newServesGMLObjectTypeList != servesGMLObjectTypeList) {
218: NotificationChain msgs = null;
219: if (servesGMLObjectTypeList != null)
220: msgs = ((InternalEObject) servesGMLObjectTypeList)
221: .eInverseRemove(
222: this ,
223: EOPPOSITE_FEATURE_BASE
224: - WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST,
225: null, msgs);
226: if (newServesGMLObjectTypeList != null)
227: msgs = ((InternalEObject) newServesGMLObjectTypeList)
228: .eInverseAdd(
229: this ,
230: EOPPOSITE_FEATURE_BASE
231: - WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST,
232: null, msgs);
233: msgs = basicSetServesGMLObjectTypeList(
234: newServesGMLObjectTypeList, msgs);
235: if (msgs != null)
236: msgs.dispatch();
237: } else if (eNotificationRequired())
238: eNotify(new ENotificationImpl(
239: this ,
240: Notification.SET,
241: WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST,
242: newServesGMLObjectTypeList,
243: newServesGMLObjectTypeList));
244: }
245:
246: /**
247: * <!-- begin-user-doc -->
248: * <!-- end-user-doc -->
249: * @generated
250: */
251: public GMLObjectTypeListType getSupportsGMLObjectTypeList() {
252: return supportsGMLObjectTypeList;
253: }
254:
255: /**
256: * <!-- begin-user-doc -->
257: * <!-- end-user-doc -->
258: * @generated
259: */
260: public NotificationChain basicSetSupportsGMLObjectTypeList(
261: GMLObjectTypeListType newSupportsGMLObjectTypeList,
262: NotificationChain msgs) {
263: GMLObjectTypeListType oldSupportsGMLObjectTypeList = supportsGMLObjectTypeList;
264: supportsGMLObjectTypeList = newSupportsGMLObjectTypeList;
265: if (eNotificationRequired()) {
266: ENotificationImpl notification = new ENotificationImpl(
267: this ,
268: Notification.SET,
269: WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST,
270: oldSupportsGMLObjectTypeList,
271: newSupportsGMLObjectTypeList);
272: if (msgs == null)
273: msgs = notification;
274: else
275: msgs.add(notification);
276: }
277: return msgs;
278: }
279:
280: /**
281: * <!-- begin-user-doc -->
282: * <!-- end-user-doc -->
283: * @generated
284: */
285: public void setSupportsGMLObjectTypeList(
286: GMLObjectTypeListType newSupportsGMLObjectTypeList) {
287: if (newSupportsGMLObjectTypeList != supportsGMLObjectTypeList) {
288: NotificationChain msgs = null;
289: if (supportsGMLObjectTypeList != null)
290: msgs = ((InternalEObject) supportsGMLObjectTypeList)
291: .eInverseRemove(
292: this ,
293: EOPPOSITE_FEATURE_BASE
294: - WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST,
295: null, msgs);
296: if (newSupportsGMLObjectTypeList != null)
297: msgs = ((InternalEObject) newSupportsGMLObjectTypeList)
298: .eInverseAdd(
299: this ,
300: EOPPOSITE_FEATURE_BASE
301: - WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST,
302: null, msgs);
303: msgs = basicSetSupportsGMLObjectTypeList(
304: newSupportsGMLObjectTypeList, msgs);
305: if (msgs != null)
306: msgs.dispatch();
307: } else if (eNotificationRequired())
308: eNotify(new ENotificationImpl(
309: this ,
310: Notification.SET,
311: WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST,
312: newSupportsGMLObjectTypeList,
313: newSupportsGMLObjectTypeList));
314: }
315:
316: /**
317: * <!-- begin-user-doc -->
318: * <!-- end-user-doc -->
319: * @generated
320: */
321: public Object getFilterCapabilities() {
322: return filterCapabilities;
323: }
324:
325: /**
326: * <!-- begin-user-doc -->
327: * <!-- end-user-doc -->
328: * @generated
329: */
330: public void setFilterCapabilities(Object newFilterCapabilities) {
331: Object oldFilterCapabilities = filterCapabilities;
332: filterCapabilities = newFilterCapabilities;
333: if (eNotificationRequired())
334: eNotify(new ENotificationImpl(
335: this ,
336: Notification.SET,
337: WfsPackage.WFS_CAPABILITIES_TYPE__FILTER_CAPABILITIES,
338: oldFilterCapabilities, filterCapabilities));
339: }
340:
341: /**
342: * <!-- begin-user-doc -->
343: * <!-- end-user-doc -->
344: * @generated
345: */
346: public NotificationChain eInverseRemove(InternalEObject otherEnd,
347: int featureID, NotificationChain msgs) {
348: switch (featureID) {
349: case WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST:
350: return basicSetFeatureTypeList(null, msgs);
351: case WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST:
352: return basicSetServesGMLObjectTypeList(null, msgs);
353: case WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST:
354: return basicSetSupportsGMLObjectTypeList(null, msgs);
355: }
356: return super .eInverseRemove(otherEnd, featureID, msgs);
357: }
358:
359: /**
360: * <!-- begin-user-doc -->
361: * <!-- end-user-doc -->
362: * @generated
363: */
364: public Object eGet(int featureID, boolean resolve, boolean coreType) {
365: switch (featureID) {
366: case WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST:
367: return getFeatureTypeList();
368: case WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST:
369: return getServesGMLObjectTypeList();
370: case WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST:
371: return getSupportsGMLObjectTypeList();
372: case WfsPackage.WFS_CAPABILITIES_TYPE__FILTER_CAPABILITIES:
373: return getFilterCapabilities();
374: }
375: return super .eGet(featureID, resolve, coreType);
376: }
377:
378: /**
379: * <!-- begin-user-doc -->
380: * <!-- end-user-doc -->
381: * @generated
382: */
383: public void eSet(int featureID, Object newValue) {
384: switch (featureID) {
385: case WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST:
386: setFeatureTypeList((FeatureTypeListType) newValue);
387: return;
388: case WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST:
389: setServesGMLObjectTypeList((GMLObjectTypeListType) newValue);
390: return;
391: case WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST:
392: setSupportsGMLObjectTypeList((GMLObjectTypeListType) newValue);
393: return;
394: case WfsPackage.WFS_CAPABILITIES_TYPE__FILTER_CAPABILITIES:
395: setFilterCapabilities(newValue);
396: return;
397: }
398: super .eSet(featureID, newValue);
399: }
400:
401: /**
402: * <!-- begin-user-doc -->
403: * <!-- end-user-doc -->
404: * @generated
405: */
406: public void eUnset(int featureID) {
407: switch (featureID) {
408: case WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST:
409: setFeatureTypeList((FeatureTypeListType) null);
410: return;
411: case WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST:
412: setServesGMLObjectTypeList((GMLObjectTypeListType) null);
413: return;
414: case WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST:
415: setSupportsGMLObjectTypeList((GMLObjectTypeListType) null);
416: return;
417: case WfsPackage.WFS_CAPABILITIES_TYPE__FILTER_CAPABILITIES:
418: setFilterCapabilities(FILTER_CAPABILITIES_EDEFAULT);
419: return;
420: }
421: super .eUnset(featureID);
422: }
423:
424: /**
425: * <!-- begin-user-doc -->
426: * <!-- end-user-doc -->
427: * @generated
428: */
429: public boolean eIsSet(int featureID) {
430: switch (featureID) {
431: case WfsPackage.WFS_CAPABILITIES_TYPE__FEATURE_TYPE_LIST:
432: return featureTypeList != null;
433: case WfsPackage.WFS_CAPABILITIES_TYPE__SERVES_GML_OBJECT_TYPE_LIST:
434: return servesGMLObjectTypeList != null;
435: case WfsPackage.WFS_CAPABILITIES_TYPE__SUPPORTS_GML_OBJECT_TYPE_LIST:
436: return supportsGMLObjectTypeList != null;
437: case WfsPackage.WFS_CAPABILITIES_TYPE__FILTER_CAPABILITIES:
438: return FILTER_CAPABILITIES_EDEFAULT == null ? filterCapabilities != null
439: : !FILTER_CAPABILITIES_EDEFAULT
440: .equals(filterCapabilities);
441: }
442: return super .eIsSet(featureID);
443: }
444:
445: /**
446: * <!-- begin-user-doc -->
447: * <!-- end-user-doc -->
448: * @generated
449: */
450: public String toString() {
451: if (eIsProxy())
452: return super .toString();
453:
454: StringBuffer result = new StringBuffer(super .toString());
455: result.append(" (filterCapabilities: ");
456: result.append(filterCapabilities);
457: result.append(')');
458: return result.toString();
459: }
460:
461: } //WFSCapabilitiesTypeImpl
|