Switch to unified view

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