/modules/ogc/net.opengis.wcs/src/net/opengis/wcs10/impl/ServiceTypeImpl.java

https://github.com/geotools/geotools · Java · 495 lines · 249 code · 41 blank · 205 comment · 51 complexity · 62fb05171cb449a04a84cf66b0e0dcd1 MD5 · raw file

  1. /**
  2. * <copyright>
  3. * </copyright>
  4. *
  5. * $Id$
  6. */
  7. package net.opengis.wcs10.impl;
  8. import java.util.Collection;
  9. import net.opengis.gml.CodeListType;
  10. import net.opengis.wcs10.KeywordsType;
  11. import net.opengis.wcs10.ResponsiblePartyType;
  12. import net.opengis.wcs10.ServiceType;
  13. import net.opengis.wcs10.Wcs10Package;
  14. import org.eclipse.emf.common.notify.Notification;
  15. import org.eclipse.emf.common.notify.NotificationChain;
  16. import org.eclipse.emf.common.util.EList;
  17. import org.eclipse.emf.ecore.EClass;
  18. import org.eclipse.emf.ecore.InternalEObject;
  19. import org.eclipse.emf.ecore.impl.ENotificationImpl;
  20. import org.eclipse.emf.ecore.util.EObjectContainmentEList;
  21. import org.eclipse.emf.ecore.util.InternalEList;
  22. /**
  23. * <!-- begin-user-doc -->
  24. * An implementation of the model object '<em><b>Service Type</b></em>'.
  25. * <!-- end-user-doc -->
  26. * <p>
  27. * The following features are implemented:
  28. * <ul>
  29. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getKeywords <em>Keywords</em>}</li>
  30. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getResponsibleParty <em>Responsible Party</em>}</li>
  31. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getFees <em>Fees</em>}</li>
  32. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getAccessConstraints <em>Access Constraints</em>}</li>
  33. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getUpdateSequence <em>Update Sequence</em>}</li>
  34. * <li>{@link net.opengis.wcs10.impl.ServiceTypeImpl#getVersion <em>Version</em>}</li>
  35. * </ul>
  36. * </p>
  37. *
  38. * @generated
  39. */
  40. public class ServiceTypeImpl extends AbstractDescriptionTypeImpl implements ServiceType {
  41. /**
  42. * The cached value of the '{@link #getKeywords() <em>Keywords</em>}' containment reference list.
  43. * <!-- begin-user-doc -->
  44. * <!-- end-user-doc -->
  45. * @see #getKeywords()
  46. * @generated
  47. * @ordered
  48. */
  49. protected EList keywords;
  50. /**
  51. * The cached value of the '{@link #getResponsibleParty() <em>Responsible Party</em>}' containment reference.
  52. * <!-- begin-user-doc -->
  53. * <!-- end-user-doc -->
  54. * @see #getResponsibleParty()
  55. * @generated
  56. * @ordered
  57. */
  58. protected ResponsiblePartyType responsibleParty;
  59. /**
  60. * The cached value of the '{@link #getFees() <em>Fees</em>}' containment reference.
  61. * <!-- begin-user-doc -->
  62. * <!-- end-user-doc -->
  63. * @see #getFees()
  64. * @generated
  65. * @ordered
  66. */
  67. protected CodeListType fees;
  68. /**
  69. * The cached value of the '{@link #getAccessConstraints() <em>Access Constraints</em>}' containment reference list.
  70. * <!-- begin-user-doc -->
  71. * <!-- end-user-doc -->
  72. * @see #getAccessConstraints()
  73. * @generated
  74. * @ordered
  75. */
  76. protected EList accessConstraints;
  77. /**
  78. * The default value of the '{@link #getUpdateSequence() <em>Update Sequence</em>}' attribute.
  79. * <!-- begin-user-doc -->
  80. * <!-- end-user-doc -->
  81. * @see #getUpdateSequence()
  82. * @generated
  83. * @ordered
  84. */
  85. protected static final String UPDATE_SEQUENCE_EDEFAULT = null;
  86. /**
  87. * The cached value of the '{@link #getUpdateSequence() <em>Update Sequence</em>}' attribute.
  88. * <!-- begin-user-doc -->
  89. * <!-- end-user-doc -->
  90. * @see #getUpdateSequence()
  91. * @generated
  92. * @ordered
  93. */
  94. protected String updateSequence = UPDATE_SEQUENCE_EDEFAULT;
  95. /**
  96. * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
  97. * <!-- begin-user-doc -->
  98. * <!-- end-user-doc -->
  99. * @see #getVersion()
  100. * @generated
  101. * @ordered
  102. */
  103. protected static final String VERSION_EDEFAULT = "1.0.0";
  104. /**
  105. * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
  106. * <!-- begin-user-doc -->
  107. * <!-- end-user-doc -->
  108. * @see #getVersion()
  109. * @generated
  110. * @ordered
  111. */
  112. protected String version = VERSION_EDEFAULT;
  113. /**
  114. * This is true if the Version attribute has been set.
  115. * <!-- begin-user-doc -->
  116. * <!-- end-user-doc -->
  117. * @generated
  118. * @ordered
  119. */
  120. protected boolean versionESet;
  121. /**
  122. * <!-- begin-user-doc -->
  123. * <!-- end-user-doc -->
  124. * @generated
  125. */
  126. protected ServiceTypeImpl() {
  127. super();
  128. }
  129. /**
  130. * <!-- begin-user-doc -->
  131. * <!-- end-user-doc -->
  132. * @generated
  133. */
  134. @Override
  135. protected EClass eStaticClass() {
  136. return Wcs10Package.Literals.SERVICE_TYPE;
  137. }
  138. /**
  139. * <!-- begin-user-doc -->
  140. * <!-- end-user-doc -->
  141. * @generated
  142. */
  143. @Override
  144. public EList getKeywords() {
  145. if (keywords == null) {
  146. keywords = new EObjectContainmentEList(KeywordsType.class, this, Wcs10Package.SERVICE_TYPE__KEYWORDS);
  147. }
  148. return keywords;
  149. }
  150. /**
  151. * <!-- begin-user-doc -->
  152. * <!-- end-user-doc -->
  153. * @generated
  154. */
  155. @Override
  156. public ResponsiblePartyType getResponsibleParty() {
  157. return responsibleParty;
  158. }
  159. /**
  160. * <!-- begin-user-doc -->
  161. * <!-- end-user-doc -->
  162. * @generated
  163. */
  164. public NotificationChain basicSetResponsibleParty(ResponsiblePartyType newResponsibleParty, NotificationChain msgs) {
  165. ResponsiblePartyType oldResponsibleParty = responsibleParty;
  166. responsibleParty = newResponsibleParty;
  167. if (eNotificationRequired()) {
  168. ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY, oldResponsibleParty, newResponsibleParty);
  169. if (msgs == null) msgs = notification; else msgs.add(notification);
  170. }
  171. return msgs;
  172. }
  173. /**
  174. * <!-- begin-user-doc -->
  175. * <!-- end-user-doc -->
  176. * @generated
  177. */
  178. @Override
  179. public void setResponsibleParty(ResponsiblePartyType newResponsibleParty) {
  180. if (newResponsibleParty != responsibleParty) {
  181. NotificationChain msgs = null;
  182. if (responsibleParty != null)
  183. msgs = ((InternalEObject)responsibleParty).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY, null, msgs);
  184. if (newResponsibleParty != null)
  185. msgs = ((InternalEObject)newResponsibleParty).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY, null, msgs);
  186. msgs = basicSetResponsibleParty(newResponsibleParty, msgs);
  187. if (msgs != null) msgs.dispatch();
  188. }
  189. else if (eNotificationRequired())
  190. eNotify(new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY, newResponsibleParty, newResponsibleParty));
  191. }
  192. /**
  193. * <!-- begin-user-doc -->
  194. * <!-- end-user-doc -->
  195. * @generated
  196. */
  197. @Override
  198. public CodeListType getFees() {
  199. return fees;
  200. }
  201. /**
  202. * <!-- begin-user-doc -->
  203. * <!-- end-user-doc -->
  204. * @generated
  205. */
  206. public NotificationChain basicSetFees(CodeListType newFees, NotificationChain msgs) {
  207. CodeListType oldFees = fees;
  208. fees = newFees;
  209. if (eNotificationRequired()) {
  210. ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__FEES, oldFees, newFees);
  211. if (msgs == null) msgs = notification; else msgs.add(notification);
  212. }
  213. return msgs;
  214. }
  215. /**
  216. * <!-- begin-user-doc -->
  217. * <!-- end-user-doc -->
  218. * @generated
  219. */
  220. @Override
  221. public void setFees(CodeListType newFees) {
  222. if (newFees != fees) {
  223. NotificationChain msgs = null;
  224. if (fees != null)
  225. msgs = ((InternalEObject)fees).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Wcs10Package.SERVICE_TYPE__FEES, null, msgs);
  226. if (newFees != null)
  227. msgs = ((InternalEObject)newFees).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Wcs10Package.SERVICE_TYPE__FEES, null, msgs);
  228. msgs = basicSetFees(newFees, msgs);
  229. if (msgs != null) msgs.dispatch();
  230. }
  231. else if (eNotificationRequired())
  232. eNotify(new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__FEES, newFees, newFees));
  233. }
  234. /**
  235. * <!-- begin-user-doc -->
  236. * <!-- end-user-doc -->
  237. * @generated
  238. */
  239. @Override
  240. public EList getAccessConstraints() {
  241. if (accessConstraints == null) {
  242. accessConstraints = new EObjectContainmentEList(CodeListType.class, this, Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS);
  243. }
  244. return accessConstraints;
  245. }
  246. /**
  247. * <!-- begin-user-doc -->
  248. * <!-- end-user-doc -->
  249. * @generated
  250. */
  251. @Override
  252. public String getUpdateSequence() {
  253. return updateSequence;
  254. }
  255. /**
  256. * <!-- begin-user-doc -->
  257. * <!-- end-user-doc -->
  258. * @generated
  259. */
  260. @Override
  261. public void setUpdateSequence(String newUpdateSequence) {
  262. String oldUpdateSequence = updateSequence;
  263. updateSequence = newUpdateSequence;
  264. if (eNotificationRequired())
  265. eNotify(new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__UPDATE_SEQUENCE, oldUpdateSequence, updateSequence));
  266. }
  267. /**
  268. * <!-- begin-user-doc -->
  269. * <!-- end-user-doc -->
  270. * @generated
  271. */
  272. @Override
  273. public String getVersion() {
  274. return version;
  275. }
  276. /**
  277. * <!-- begin-user-doc -->
  278. * <!-- end-user-doc -->
  279. * @generated
  280. */
  281. @Override
  282. public void setVersion(String newVersion) {
  283. String oldVersion = version;
  284. version = newVersion;
  285. boolean oldVersionESet = versionESet;
  286. versionESet = true;
  287. if (eNotificationRequired())
  288. eNotify(new ENotificationImpl(this, Notification.SET, Wcs10Package.SERVICE_TYPE__VERSION, oldVersion, version, !oldVersionESet));
  289. }
  290. /**
  291. * <!-- begin-user-doc -->
  292. * <!-- end-user-doc -->
  293. * @generated
  294. */
  295. @Override
  296. public void unsetVersion() {
  297. String oldVersion = version;
  298. boolean oldVersionESet = versionESet;
  299. version = VERSION_EDEFAULT;
  300. versionESet = false;
  301. if (eNotificationRequired())
  302. eNotify(new ENotificationImpl(this, Notification.UNSET, Wcs10Package.SERVICE_TYPE__VERSION, oldVersion, VERSION_EDEFAULT, oldVersionESet));
  303. }
  304. /**
  305. * <!-- begin-user-doc -->
  306. * <!-- end-user-doc -->
  307. * @generated
  308. */
  309. @Override
  310. public boolean isSetVersion() {
  311. return versionESet;
  312. }
  313. /**
  314. * <!-- begin-user-doc -->
  315. * <!-- end-user-doc -->
  316. * @generated
  317. */
  318. @Override
  319. public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
  320. switch (featureID) {
  321. case Wcs10Package.SERVICE_TYPE__KEYWORDS:
  322. return ((InternalEList)getKeywords()).basicRemove(otherEnd, msgs);
  323. case Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY:
  324. return basicSetResponsibleParty(null, msgs);
  325. case Wcs10Package.SERVICE_TYPE__FEES:
  326. return basicSetFees(null, msgs);
  327. case Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS:
  328. return ((InternalEList)getAccessConstraints()).basicRemove(otherEnd, msgs);
  329. }
  330. return super.eInverseRemove(otherEnd, featureID, msgs);
  331. }
  332. /**
  333. * <!-- begin-user-doc -->
  334. * <!-- end-user-doc -->
  335. * @generated
  336. */
  337. @Override
  338. public Object eGet(int featureID, boolean resolve, boolean coreType) {
  339. switch (featureID) {
  340. case Wcs10Package.SERVICE_TYPE__KEYWORDS:
  341. return getKeywords();
  342. case Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY:
  343. return getResponsibleParty();
  344. case Wcs10Package.SERVICE_TYPE__FEES:
  345. return getFees();
  346. case Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS:
  347. return getAccessConstraints();
  348. case Wcs10Package.SERVICE_TYPE__UPDATE_SEQUENCE:
  349. return getUpdateSequence();
  350. case Wcs10Package.SERVICE_TYPE__VERSION:
  351. return getVersion();
  352. }
  353. return super.eGet(featureID, resolve, coreType);
  354. }
  355. /**
  356. * <!-- begin-user-doc -->
  357. * <!-- end-user-doc -->
  358. * @generated
  359. */
  360. @Override
  361. public void eSet(int featureID, Object newValue) {
  362. switch (featureID) {
  363. case Wcs10Package.SERVICE_TYPE__KEYWORDS:
  364. getKeywords().clear();
  365. getKeywords().addAll((Collection)newValue);
  366. return;
  367. case Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY:
  368. setResponsibleParty((ResponsiblePartyType)newValue);
  369. return;
  370. case Wcs10Package.SERVICE_TYPE__FEES:
  371. setFees((CodeListType)newValue);
  372. return;
  373. case Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS:
  374. getAccessConstraints().clear();
  375. getAccessConstraints().addAll((Collection)newValue);
  376. return;
  377. case Wcs10Package.SERVICE_TYPE__UPDATE_SEQUENCE:
  378. setUpdateSequence((String)newValue);
  379. return;
  380. case Wcs10Package.SERVICE_TYPE__VERSION:
  381. setVersion((String)newValue);
  382. return;
  383. }
  384. super.eSet(featureID, newValue);
  385. }
  386. /**
  387. * <!-- begin-user-doc -->
  388. * <!-- end-user-doc -->
  389. * @generated
  390. */
  391. @Override
  392. public void eUnset(int featureID) {
  393. switch (featureID) {
  394. case Wcs10Package.SERVICE_TYPE__KEYWORDS:
  395. getKeywords().clear();
  396. return;
  397. case Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY:
  398. setResponsibleParty((ResponsiblePartyType)null);
  399. return;
  400. case Wcs10Package.SERVICE_TYPE__FEES:
  401. setFees((CodeListType)null);
  402. return;
  403. case Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS:
  404. getAccessConstraints().clear();
  405. return;
  406. case Wcs10Package.SERVICE_TYPE__UPDATE_SEQUENCE:
  407. setUpdateSequence(UPDATE_SEQUENCE_EDEFAULT);
  408. return;
  409. case Wcs10Package.SERVICE_TYPE__VERSION:
  410. unsetVersion();
  411. return;
  412. }
  413. super.eUnset(featureID);
  414. }
  415. /**
  416. * <!-- begin-user-doc -->
  417. * <!-- end-user-doc -->
  418. * @generated
  419. */
  420. @Override
  421. public boolean eIsSet(int featureID) {
  422. switch (featureID) {
  423. case Wcs10Package.SERVICE_TYPE__KEYWORDS:
  424. return keywords != null && !keywords.isEmpty();
  425. case Wcs10Package.SERVICE_TYPE__RESPONSIBLE_PARTY:
  426. return responsibleParty != null;
  427. case Wcs10Package.SERVICE_TYPE__FEES:
  428. return fees != null;
  429. case Wcs10Package.SERVICE_TYPE__ACCESS_CONSTRAINTS:
  430. return accessConstraints != null && !accessConstraints.isEmpty();
  431. case Wcs10Package.SERVICE_TYPE__UPDATE_SEQUENCE:
  432. return UPDATE_SEQUENCE_EDEFAULT == null ? updateSequence != null : !UPDATE_SEQUENCE_EDEFAULT.equals(updateSequence);
  433. case Wcs10Package.SERVICE_TYPE__VERSION:
  434. return isSetVersion();
  435. }
  436. return super.eIsSet(featureID);
  437. }
  438. /**
  439. * <!-- begin-user-doc -->
  440. * <!-- end-user-doc -->
  441. * @generated
  442. */
  443. @Override
  444. public String toString() {
  445. if (eIsProxy()) return super.toString();
  446. StringBuffer result = new StringBuffer(super.toString());
  447. result.append(" (updateSequence: ");
  448. result.append(updateSequence);
  449. result.append(", version: ");
  450. if (versionESet) result.append(version); else result.append("<unset>");
  451. result.append(')');
  452. return result.toString();
  453. }
  454. } //ServiceTypeImpl