001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: ServiceProviderTypeImpl.java 7522 2007-09-12 22:00:10Z saul.farber $
006: */package net.opengis.ows.impl;
007:
008: import net.opengis.ows.OnlineResourceType;
009: import net.opengis.ows.OwsPackage;
010: import net.opengis.ows.ResponsiblePartySubsetType;
011: import net.opengis.ows.ServiceProviderType;
012:
013: import org.eclipse.emf.common.notify.Notification;
014: import org.eclipse.emf.common.notify.NotificationChain;
015:
016: import org.eclipse.emf.ecore.EClass;
017: import org.eclipse.emf.ecore.InternalEObject;
018:
019: import org.eclipse.emf.ecore.impl.ENotificationImpl;
020: import org.eclipse.emf.ecore.impl.EObjectImpl;
021:
022: /**
023: * <!-- begin-user-doc -->
024: * An implementation of the model object '<em><b>Service Provider Type</b></em>'.
025: * <!-- end-user-doc -->
026: * <p>
027: * The following features are implemented:
028: * <ul>
029: * <li>{@link net.opengis.ows.impl.ServiceProviderTypeImpl#getProviderName <em>Provider Name</em>}</li>
030: * <li>{@link net.opengis.ows.impl.ServiceProviderTypeImpl#getProviderSite <em>Provider Site</em>}</li>
031: * <li>{@link net.opengis.ows.impl.ServiceProviderTypeImpl#getServiceContact <em>Service Contact</em>}</li>
032: * </ul>
033: * </p>
034: *
035: * @generated
036: */
037: public class ServiceProviderTypeImpl extends EObjectImpl implements
038: ServiceProviderType {
039: /**
040: * The default value of the '{@link #getProviderName() <em>Provider Name</em>}' attribute.
041: * <!-- begin-user-doc -->
042: * <!-- end-user-doc -->
043: * @see #getProviderName()
044: * @generated
045: * @ordered
046: */
047: protected static final String PROVIDER_NAME_EDEFAULT = null;
048:
049: /**
050: * The cached value of the '{@link #getProviderName() <em>Provider Name</em>}' attribute.
051: * <!-- begin-user-doc -->
052: * <!-- end-user-doc -->
053: * @see #getProviderName()
054: * @generated
055: * @ordered
056: */
057: protected String providerName = PROVIDER_NAME_EDEFAULT;
058:
059: /**
060: * The cached value of the '{@link #getProviderSite() <em>Provider Site</em>}' containment reference.
061: * <!-- begin-user-doc -->
062: * <!-- end-user-doc -->
063: * @see #getProviderSite()
064: * @generated
065: * @ordered
066: */
067: protected OnlineResourceType providerSite;
068:
069: /**
070: * The cached value of the '{@link #getServiceContact() <em>Service Contact</em>}' containment reference.
071: * <!-- begin-user-doc -->
072: * <!-- end-user-doc -->
073: * @see #getServiceContact()
074: * @generated
075: * @ordered
076: */
077: protected ResponsiblePartySubsetType serviceContact;
078:
079: /**
080: * <!-- begin-user-doc -->
081: * <!-- end-user-doc -->
082: * @generated
083: */
084: protected ServiceProviderTypeImpl() {
085: super ();
086: }
087:
088: /**
089: * <!-- begin-user-doc -->
090: * <!-- end-user-doc -->
091: * @generated
092: */
093: protected EClass eStaticClass() {
094: return OwsPackage.Literals.SERVICE_PROVIDER_TYPE;
095: }
096:
097: /**
098: * <!-- begin-user-doc -->
099: * <!-- end-user-doc -->
100: * @generated
101: */
102: public String getProviderName() {
103: return providerName;
104: }
105:
106: /**
107: * <!-- begin-user-doc -->
108: * <!-- end-user-doc -->
109: * @generated
110: */
111: public void setProviderName(String newProviderName) {
112: String oldProviderName = providerName;
113: providerName = newProviderName;
114: if (eNotificationRequired())
115: eNotify(new ENotificationImpl(this , Notification.SET,
116: OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_NAME,
117: oldProviderName, providerName));
118: }
119:
120: /**
121: * <!-- begin-user-doc -->
122: * <!-- end-user-doc -->
123: * @generated
124: */
125: public OnlineResourceType getProviderSite() {
126: return providerSite;
127: }
128:
129: /**
130: * <!-- begin-user-doc -->
131: * <!-- end-user-doc -->
132: * @generated
133: */
134: public NotificationChain basicSetProviderSite(
135: OnlineResourceType newProviderSite, NotificationChain msgs) {
136: OnlineResourceType oldProviderSite = providerSite;
137: providerSite = newProviderSite;
138: if (eNotificationRequired()) {
139: ENotificationImpl notification = new ENotificationImpl(
140: this , Notification.SET,
141: OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE,
142: oldProviderSite, newProviderSite);
143: if (msgs == null)
144: msgs = notification;
145: else
146: msgs.add(notification);
147: }
148: return msgs;
149: }
150:
151: /**
152: * <!-- begin-user-doc -->
153: * <!-- end-user-doc -->
154: * @generated
155: */
156: public void setProviderSite(OnlineResourceType newProviderSite) {
157: if (newProviderSite != providerSite) {
158: NotificationChain msgs = null;
159: if (providerSite != null)
160: msgs = ((InternalEObject) providerSite)
161: .eInverseRemove(
162: this ,
163: EOPPOSITE_FEATURE_BASE
164: - OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE,
165: null, msgs);
166: if (newProviderSite != null)
167: msgs = ((InternalEObject) newProviderSite)
168: .eInverseAdd(
169: this ,
170: EOPPOSITE_FEATURE_BASE
171: - OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE,
172: null, msgs);
173: msgs = basicSetProviderSite(newProviderSite, msgs);
174: if (msgs != null)
175: msgs.dispatch();
176: } else if (eNotificationRequired())
177: eNotify(new ENotificationImpl(this , Notification.SET,
178: OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE,
179: newProviderSite, newProviderSite));
180: }
181:
182: /**
183: * <!-- begin-user-doc -->
184: * <!-- end-user-doc -->
185: * @generated
186: */
187: public ResponsiblePartySubsetType getServiceContact() {
188: return serviceContact;
189: }
190:
191: /**
192: * <!-- begin-user-doc -->
193: * <!-- end-user-doc -->
194: * @generated
195: */
196: public NotificationChain basicSetServiceContact(
197: ResponsiblePartySubsetType newServiceContact,
198: NotificationChain msgs) {
199: ResponsiblePartySubsetType oldServiceContact = serviceContact;
200: serviceContact = newServiceContact;
201: if (eNotificationRequired()) {
202: ENotificationImpl notification = new ENotificationImpl(
203: this , Notification.SET,
204: OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT,
205: oldServiceContact, newServiceContact);
206: if (msgs == null)
207: msgs = notification;
208: else
209: msgs.add(notification);
210: }
211: return msgs;
212: }
213:
214: /**
215: * <!-- begin-user-doc -->
216: * <!-- end-user-doc -->
217: * @generated
218: */
219: public void setServiceContact(
220: ResponsiblePartySubsetType newServiceContact) {
221: if (newServiceContact != serviceContact) {
222: NotificationChain msgs = null;
223: if (serviceContact != null)
224: msgs = ((InternalEObject) serviceContact)
225: .eInverseRemove(
226: this ,
227: EOPPOSITE_FEATURE_BASE
228: - OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT,
229: null, msgs);
230: if (newServiceContact != null)
231: msgs = ((InternalEObject) newServiceContact)
232: .eInverseAdd(
233: this ,
234: EOPPOSITE_FEATURE_BASE
235: - OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT,
236: null, msgs);
237: msgs = basicSetServiceContact(newServiceContact, msgs);
238: if (msgs != null)
239: msgs.dispatch();
240: } else if (eNotificationRequired())
241: eNotify(new ENotificationImpl(this , Notification.SET,
242: OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT,
243: newServiceContact, newServiceContact));
244: }
245:
246: /**
247: * <!-- begin-user-doc -->
248: * <!-- end-user-doc -->
249: * @generated
250: */
251: public NotificationChain eInverseRemove(InternalEObject otherEnd,
252: int featureID, NotificationChain msgs) {
253: switch (featureID) {
254: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE:
255: return basicSetProviderSite(null, msgs);
256: case OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT:
257: return basicSetServiceContact(null, msgs);
258: }
259: return super .eInverseRemove(otherEnd, featureID, msgs);
260: }
261:
262: /**
263: * <!-- begin-user-doc -->
264: * <!-- end-user-doc -->
265: * @generated
266: */
267: public Object eGet(int featureID, boolean resolve, boolean coreType) {
268: switch (featureID) {
269: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_NAME:
270: return getProviderName();
271: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE:
272: return getProviderSite();
273: case OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT:
274: return getServiceContact();
275: }
276: return super .eGet(featureID, resolve, coreType);
277: }
278:
279: /**
280: * <!-- begin-user-doc -->
281: * <!-- end-user-doc -->
282: * @generated
283: */
284: public void eSet(int featureID, Object newValue) {
285: switch (featureID) {
286: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_NAME:
287: setProviderName((String) newValue);
288: return;
289: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE:
290: setProviderSite((OnlineResourceType) newValue);
291: return;
292: case OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT:
293: setServiceContact((ResponsiblePartySubsetType) newValue);
294: return;
295: }
296: super .eSet(featureID, newValue);
297: }
298:
299: /**
300: * <!-- begin-user-doc -->
301: * <!-- end-user-doc -->
302: * @generated
303: */
304: public void eUnset(int featureID) {
305: switch (featureID) {
306: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_NAME:
307: setProviderName(PROVIDER_NAME_EDEFAULT);
308: return;
309: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE:
310: setProviderSite((OnlineResourceType) null);
311: return;
312: case OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT:
313: setServiceContact((ResponsiblePartySubsetType) null);
314: return;
315: }
316: super .eUnset(featureID);
317: }
318:
319: /**
320: * <!-- begin-user-doc -->
321: * <!-- end-user-doc -->
322: * @generated
323: */
324: public boolean eIsSet(int featureID) {
325: switch (featureID) {
326: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_NAME:
327: return PROVIDER_NAME_EDEFAULT == null ? providerName != null
328: : !PROVIDER_NAME_EDEFAULT.equals(providerName);
329: case OwsPackage.SERVICE_PROVIDER_TYPE__PROVIDER_SITE:
330: return providerSite != null;
331: case OwsPackage.SERVICE_PROVIDER_TYPE__SERVICE_CONTACT:
332: return serviceContact != null;
333: }
334: return super .eIsSet(featureID);
335: }
336:
337: /**
338: * <!-- begin-user-doc -->
339: * <!-- end-user-doc -->
340: * @generated
341: */
342: public String toString() {
343: if (eIsProxy())
344: return super .toString();
345:
346: StringBuffer result = new StringBuffer(super .toString());
347: result.append(" (providerName: ");
348: result.append(providerName);
349: result.append(')');
350: return result.toString();
351: }
352:
353: } //ServiceProviderTypeImpl
|