1
2
3
4
5
6
7 package BusinessDomainDsl.impl;
8
9 import BusinessDomainDsl.AbstractType;
10 import BusinessDomainDsl.BusinessDomainDslPackage;
11 import BusinessDomainDsl.PersistencyMode;
12 import BusinessDomainDsl.Property;
13
14 import org.eclipse.emf.common.notify.Notification;
15 import org.eclipse.emf.common.notify.NotificationChain;
16
17 import org.eclipse.emf.ecore.EClass;
18 import org.eclipse.emf.ecore.InternalEObject;
19
20 import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22 import org.eclipse.emf.ecore.util.EcoreUtil;
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class PropertyImpl extends ModelElementImpl implements Property {
44
45
46
47
48
49
50
51
52 protected static final String DATA_TYPE_EDEFAULT = null;
53
54
55
56
57
58
59
60
61
62 protected String dataType = DATA_TYPE_EDEFAULT;
63
64
65
66
67
68
69
70
71
72 protected static final boolean NULLABLE_EDEFAULT = false;
73
74
75
76
77
78
79
80
81
82 protected boolean nullable = NULLABLE_EDEFAULT;
83
84
85
86
87
88
89
90
91
92 protected static final boolean DERIVED_EDEFAULT = false;
93
94
95
96
97
98
99
100
101
102 protected boolean derived = DERIVED_EDEFAULT;
103
104
105
106
107
108
109
110
111
112 protected static final boolean WRITABLE_EDEFAULT = false;
113
114
115
116
117
118
119
120
121
122 protected boolean writable = WRITABLE_EDEFAULT;
123
124
125
126
127
128
129
130
131
132 protected static final PersistencyMode PERSISTENCY_EDEFAULT = PersistencyMode.READ_WRITE;
133
134
135
136
137
138
139
140
141
142 protected PersistencyMode persistency = PERSISTENCY_EDEFAULT;
143
144
145
146
147
148
149
150
151
152 protected static final boolean HAS_DEFAULT_EDEFAULT = false;
153
154
155
156
157
158
159
160
161
162 protected boolean hasDefault = HAS_DEFAULT_EDEFAULT;
163
164
165
166
167
168
169 protected PropertyImpl() {
170 super();
171 }
172
173
174
175
176
177
178 @Override
179 protected EClass eStaticClass() {
180 return BusinessDomainDslPackage.Literals.PROPERTY;
181 }
182
183
184
185
186
187
188 public String getDataType() {
189 return dataType;
190 }
191
192
193
194
195
196
197 public void setDataType(String newDataType) {
198 String oldDataType = dataType;
199 dataType = newDataType;
200 if (eNotificationRequired())
201 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__DATA_TYPE, oldDataType, dataType));
202 }
203
204
205
206
207
208
209 public boolean isNullable() {
210 return nullable;
211 }
212
213
214
215
216
217
218 public void setNullable(boolean newNullable) {
219 boolean oldNullable = nullable;
220 nullable = newNullable;
221 if (eNotificationRequired())
222 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__NULLABLE, oldNullable, nullable));
223 }
224
225
226
227
228
229
230 public boolean isDerived() {
231 return derived;
232 }
233
234
235
236
237
238
239 public void setDerived(boolean newDerived) {
240 boolean oldDerived = derived;
241 derived = newDerived;
242 if (eNotificationRequired())
243 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__DERIVED, oldDerived, derived));
244 }
245
246
247
248
249
250
251 public boolean isWritable() {
252 return writable;
253 }
254
255
256
257
258
259
260 public void setWritable(boolean newWritable) {
261 boolean oldWritable = writable;
262 writable = newWritable;
263 if (eNotificationRequired())
264 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__WRITABLE, oldWritable, writable));
265 }
266
267
268
269
270
271
272 public PersistencyMode getPersistency() {
273 return persistency;
274 }
275
276
277
278
279
280
281 public void setPersistency(PersistencyMode newPersistency) {
282 PersistencyMode oldPersistency = persistency;
283 persistency = newPersistency == null ? PERSISTENCY_EDEFAULT : newPersistency;
284 if (eNotificationRequired())
285 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__PERSISTENCY, oldPersistency, persistency));
286 }
287
288
289
290
291
292
293 public boolean isHasDefault() {
294 return hasDefault;
295 }
296
297
298
299
300
301
302 public void setHasDefault(boolean newHasDefault) {
303 boolean oldHasDefault = hasDefault;
304 hasDefault = newHasDefault;
305 if (eNotificationRequired())
306 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__HAS_DEFAULT, oldHasDefault, hasDefault));
307 }
308
309
310
311
312
313
314 public AbstractType getOwningType() {
315 if (eContainerFeatureID() != BusinessDomainDslPackage.PROPERTY__OWNING_TYPE) return null;
316 return (AbstractType)eContainer();
317 }
318
319
320
321
322
323
324 public NotificationChain basicSetOwningType(AbstractType newOwningType, NotificationChain msgs) {
325 msgs = eBasicSetContainer((InternalEObject)newOwningType, BusinessDomainDslPackage.PROPERTY__OWNING_TYPE, msgs);
326 return msgs;
327 }
328
329
330
331
332
333
334 public void setOwningType(AbstractType newOwningType) {
335 if (newOwningType != eInternalContainer() || (eContainerFeatureID() != BusinessDomainDslPackage.PROPERTY__OWNING_TYPE && newOwningType != null)) {
336 if (EcoreUtil.isAncestor(this, newOwningType))
337 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
338 NotificationChain msgs = null;
339 if (eInternalContainer() != null)
340 msgs = eBasicRemoveFromContainer(msgs);
341 if (newOwningType != null)
342 msgs = ((InternalEObject)newOwningType).eInverseAdd(this, BusinessDomainDslPackage.ABSTRACT_TYPE__PROPERTIES, AbstractType.class, msgs);
343 msgs = basicSetOwningType(newOwningType, msgs);
344 if (msgs != null) msgs.dispatch();
345 }
346 else if (eNotificationRequired())
347 eNotify(new ENotificationImpl(this, Notification.SET, BusinessDomainDslPackage.PROPERTY__OWNING_TYPE, newOwningType, newOwningType));
348 }
349
350
351
352
353
354
355 @Override
356 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
357 switch (featureID) {
358 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
359 if (eInternalContainer() != null)
360 msgs = eBasicRemoveFromContainer(msgs);
361 return basicSetOwningType((AbstractType)otherEnd, msgs);
362 }
363 return super.eInverseAdd(otherEnd, featureID, msgs);
364 }
365
366
367
368
369
370
371 @Override
372 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
373 switch (featureID) {
374 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
375 return basicSetOwningType(null, msgs);
376 }
377 return super.eInverseRemove(otherEnd, featureID, msgs);
378 }
379
380
381
382
383
384
385 @Override
386 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
387 switch (eContainerFeatureID()) {
388 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
389 return eInternalContainer().eInverseRemove(this, BusinessDomainDslPackage.ABSTRACT_TYPE__PROPERTIES, AbstractType.class, msgs);
390 }
391 return super.eBasicRemoveFromContainerFeature(msgs);
392 }
393
394
395
396
397
398
399 @Override
400 public Object eGet(int featureID, boolean resolve, boolean coreType) {
401 switch (featureID) {
402 case BusinessDomainDslPackage.PROPERTY__DATA_TYPE:
403 return getDataType();
404 case BusinessDomainDslPackage.PROPERTY__NULLABLE:
405 return isNullable();
406 case BusinessDomainDslPackage.PROPERTY__DERIVED:
407 return isDerived();
408 case BusinessDomainDslPackage.PROPERTY__WRITABLE:
409 return isWritable();
410 case BusinessDomainDslPackage.PROPERTY__PERSISTENCY:
411 return getPersistency();
412 case BusinessDomainDslPackage.PROPERTY__HAS_DEFAULT:
413 return isHasDefault();
414 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
415 return getOwningType();
416 }
417 return super.eGet(featureID, resolve, coreType);
418 }
419
420
421
422
423
424
425 @Override
426 public void eSet(int featureID, Object newValue) {
427 switch (featureID) {
428 case BusinessDomainDslPackage.PROPERTY__DATA_TYPE:
429 setDataType((String)newValue);
430 return;
431 case BusinessDomainDslPackage.PROPERTY__NULLABLE:
432 setNullable((Boolean)newValue);
433 return;
434 case BusinessDomainDslPackage.PROPERTY__DERIVED:
435 setDerived((Boolean)newValue);
436 return;
437 case BusinessDomainDslPackage.PROPERTY__WRITABLE:
438 setWritable((Boolean)newValue);
439 return;
440 case BusinessDomainDslPackage.PROPERTY__PERSISTENCY:
441 setPersistency((PersistencyMode)newValue);
442 return;
443 case BusinessDomainDslPackage.PROPERTY__HAS_DEFAULT:
444 setHasDefault((Boolean)newValue);
445 return;
446 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
447 setOwningType((AbstractType)newValue);
448 return;
449 }
450 super.eSet(featureID, newValue);
451 }
452
453
454
455
456
457
458 @Override
459 public void eUnset(int featureID) {
460 switch (featureID) {
461 case BusinessDomainDslPackage.PROPERTY__DATA_TYPE:
462 setDataType(DATA_TYPE_EDEFAULT);
463 return;
464 case BusinessDomainDslPackage.PROPERTY__NULLABLE:
465 setNullable(NULLABLE_EDEFAULT);
466 return;
467 case BusinessDomainDslPackage.PROPERTY__DERIVED:
468 setDerived(DERIVED_EDEFAULT);
469 return;
470 case BusinessDomainDslPackage.PROPERTY__WRITABLE:
471 setWritable(WRITABLE_EDEFAULT);
472 return;
473 case BusinessDomainDslPackage.PROPERTY__PERSISTENCY:
474 setPersistency(PERSISTENCY_EDEFAULT);
475 return;
476 case BusinessDomainDslPackage.PROPERTY__HAS_DEFAULT:
477 setHasDefault(HAS_DEFAULT_EDEFAULT);
478 return;
479 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
480 setOwningType((AbstractType)null);
481 return;
482 }
483 super.eUnset(featureID);
484 }
485
486
487
488
489
490
491 @Override
492 public boolean eIsSet(int featureID) {
493 switch (featureID) {
494 case BusinessDomainDslPackage.PROPERTY__DATA_TYPE:
495 return DATA_TYPE_EDEFAULT == null ? dataType != null : !DATA_TYPE_EDEFAULT.equals(dataType);
496 case BusinessDomainDslPackage.PROPERTY__NULLABLE:
497 return nullable != NULLABLE_EDEFAULT;
498 case BusinessDomainDslPackage.PROPERTY__DERIVED:
499 return derived != DERIVED_EDEFAULT;
500 case BusinessDomainDslPackage.PROPERTY__WRITABLE:
501 return writable != WRITABLE_EDEFAULT;
502 case BusinessDomainDslPackage.PROPERTY__PERSISTENCY:
503 return persistency != PERSISTENCY_EDEFAULT;
504 case BusinessDomainDslPackage.PROPERTY__HAS_DEFAULT:
505 return hasDefault != HAS_DEFAULT_EDEFAULT;
506 case BusinessDomainDslPackage.PROPERTY__OWNING_TYPE:
507 return getOwningType() != null;
508 }
509 return super.eIsSet(featureID);
510 }
511
512
513
514
515
516
517 @Override
518 public String toString() {
519 if (eIsProxy()) return super.toString();
520
521 StringBuffer result = new StringBuffer(super.toString());
522 result.append(" (dataType: ");
523 result.append(dataType);
524 result.append(", nullable: ");
525 result.append(nullable);
526 result.append(", derived: ");
527 result.append(derived);
528 result.append(", writable: ");
529 result.append(writable);
530 result.append(", persistency: ");
531 result.append(persistency);
532 result.append(", hasDefault: ");
533 result.append(hasDefault);
534 result.append(')');
535 return result.toString();
536 }
537
538 }