1
2
3
4
5
6
7 package org.mod4j.dsl.datacontract.mm.DataContractDsl.impl;
8
9 import org.eclipse.emf.common.notify.Notification;
10 import org.eclipse.emf.common.notify.NotificationChain;
11
12 import org.eclipse.emf.ecore.EClass;
13 import org.eclipse.emf.ecore.InternalEObject;
14
15 import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17 import org.eclipse.emf.ecore.util.EcoreUtil;
18
19 import org.mod4j.dsl.datacontract.mm.DataContractDsl.DataContractDslPackage;
20 import org.mod4j.dsl.datacontract.mm.DataContractDsl.DataContractModel;
21 import org.mod4j.dsl.datacontract.mm.DataContractDsl.ExternalReference;
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class ExternalReferenceImpl extends ModelElementImpl implements ExternalReference {
39
40
41
42
43
44
45
46
47 protected static final String MODELNAME_EDEFAULT = "";
48
49
50
51
52
53
54
55
56
57 protected String modelname = MODELNAME_EDEFAULT;
58
59
60
61
62
63
64
65
66
67 protected static final String KEYWORD_EDEFAULT = null;
68
69
70
71
72
73
74
75
76
77 protected String keyword = KEYWORD_EDEFAULT;
78
79
80
81
82
83
84 protected ExternalReferenceImpl() {
85 super();
86 }
87
88
89
90
91
92
93 @Override
94 protected EClass eStaticClass() {
95 return DataContractDslPackage.Literals.EXTERNAL_REFERENCE;
96 }
97
98
99
100
101
102
103 public String getModelname() {
104 return modelname;
105 }
106
107
108
109
110
111
112 public void setModelname(String newModelname) {
113 String oldModelname = modelname;
114 modelname = newModelname;
115 if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, DataContractDslPackage.EXTERNAL_REFERENCE__MODELNAME, oldModelname, modelname));
117 }
118
119
120
121
122
123
124 public DataContractModel getDatacontractModel() {
125 if (eContainerFeatureID() != DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL) return null;
126 return (DataContractModel)eContainer();
127 }
128
129
130
131
132
133
134 public NotificationChain basicSetDatacontractModel(DataContractModel newDatacontractModel, NotificationChain msgs) {
135 msgs = eBasicSetContainer((InternalEObject)newDatacontractModel, DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL, msgs);
136 return msgs;
137 }
138
139
140
141
142
143
144 public void setDatacontractModel(DataContractModel newDatacontractModel) {
145 if (newDatacontractModel != eInternalContainer() || (eContainerFeatureID() != DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL && newDatacontractModel != null)) {
146 if (EcoreUtil.isAncestor(this, newDatacontractModel))
147 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
148 NotificationChain msgs = null;
149 if (eInternalContainer() != null)
150 msgs = eBasicRemoveFromContainer(msgs);
151 if (newDatacontractModel != null)
152 msgs = ((InternalEObject)newDatacontractModel).eInverseAdd(this, DataContractDslPackage.DATA_CONTRACT_MODEL__EXTERNAL_REFERENCES, DataContractModel.class, msgs);
153 msgs = basicSetDatacontractModel(newDatacontractModel, msgs);
154 if (msgs != null) msgs.dispatch();
155 }
156 else if (eNotificationRequired())
157 eNotify(new ENotificationImpl(this, Notification.SET, DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL, newDatacontractModel, newDatacontractModel));
158 }
159
160
161
162
163
164
165 public String getKeyword() {
166 return keyword;
167 }
168
169
170
171
172
173
174 public void setKeyword(String newKeyword) {
175 String oldKeyword = keyword;
176 keyword = newKeyword;
177 if (eNotificationRequired())
178 eNotify(new ENotificationImpl(this, Notification.SET, DataContractDslPackage.EXTERNAL_REFERENCE__KEYWORD, oldKeyword, keyword));
179 }
180
181
182
183
184
185
186 @Override
187 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
188 switch (featureID) {
189 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
190 if (eInternalContainer() != null)
191 msgs = eBasicRemoveFromContainer(msgs);
192 return basicSetDatacontractModel((DataContractModel)otherEnd, msgs);
193 }
194 return super.eInverseAdd(otherEnd, featureID, msgs);
195 }
196
197
198
199
200
201
202 @Override
203 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
204 switch (featureID) {
205 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
206 return basicSetDatacontractModel(null, msgs);
207 }
208 return super.eInverseRemove(otherEnd, featureID, msgs);
209 }
210
211
212
213
214
215
216 @Override
217 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
218 switch (eContainerFeatureID()) {
219 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
220 return eInternalContainer().eInverseRemove(this, DataContractDslPackage.DATA_CONTRACT_MODEL__EXTERNAL_REFERENCES, DataContractModel.class, msgs);
221 }
222 return super.eBasicRemoveFromContainerFeature(msgs);
223 }
224
225
226
227
228
229
230 @Override
231 public Object eGet(int featureID, boolean resolve, boolean coreType) {
232 switch (featureID) {
233 case DataContractDslPackage.EXTERNAL_REFERENCE__MODELNAME:
234 return getModelname();
235 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
236 return getDatacontractModel();
237 case DataContractDslPackage.EXTERNAL_REFERENCE__KEYWORD:
238 return getKeyword();
239 }
240 return super.eGet(featureID, resolve, coreType);
241 }
242
243
244
245
246
247
248 @Override
249 public void eSet(int featureID, Object newValue) {
250 switch (featureID) {
251 case DataContractDslPackage.EXTERNAL_REFERENCE__MODELNAME:
252 setModelname((String)newValue);
253 return;
254 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
255 setDatacontractModel((DataContractModel)newValue);
256 return;
257 case DataContractDslPackage.EXTERNAL_REFERENCE__KEYWORD:
258 setKeyword((String)newValue);
259 return;
260 }
261 super.eSet(featureID, newValue);
262 }
263
264
265
266
267
268
269 @Override
270 public void eUnset(int featureID) {
271 switch (featureID) {
272 case DataContractDslPackage.EXTERNAL_REFERENCE__MODELNAME:
273 setModelname(MODELNAME_EDEFAULT);
274 return;
275 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
276 setDatacontractModel((DataContractModel)null);
277 return;
278 case DataContractDslPackage.EXTERNAL_REFERENCE__KEYWORD:
279 setKeyword(KEYWORD_EDEFAULT);
280 return;
281 }
282 super.eUnset(featureID);
283 }
284
285
286
287
288
289
290 @Override
291 public boolean eIsSet(int featureID) {
292 switch (featureID) {
293 case DataContractDslPackage.EXTERNAL_REFERENCE__MODELNAME:
294 return MODELNAME_EDEFAULT == null ? modelname != null : !MODELNAME_EDEFAULT.equals(modelname);
295 case DataContractDslPackage.EXTERNAL_REFERENCE__DATACONTRACT_MODEL:
296 return getDatacontractModel() != null;
297 case DataContractDslPackage.EXTERNAL_REFERENCE__KEYWORD:
298 return KEYWORD_EDEFAULT == null ? keyword != null : !KEYWORD_EDEFAULT.equals(keyword);
299 }
300 return super.eIsSet(featureID);
301 }
302
303
304
305
306
307
308 @Override
309 public String toString() {
310 if (eIsProxy()) return super.toString();
311
312 StringBuffer result = new StringBuffer(super.toString());
313 result.append(" (modelname: ");
314 result.append(modelname);
315 result.append(", keyword: ");
316 result.append(keyword);
317 result.append(')');
318 return result.toString();
319 }
320
321 }