1 | /** |
2 | * <copyright> |
3 | * </copyright> |
4 | * |
5 | * $Id$ |
6 | */ |
7 | package de.uka.ipd.sdq.pcm.designdecision.impl; |
8 | |
9 | import de.uka.ipd.sdq.pcm.designdecision.ClassDegree; |
10 | import de.uka.ipd.sdq.pcm.designdecision.designdecisionPackage; |
11 | |
12 | import java.util.Collection; |
13 | |
14 | import org.eclipse.emf.common.util.EList; |
15 | |
16 | import org.eclipse.emf.ecore.EClass; |
17 | import org.eclipse.emf.ecore.EObject; |
18 | |
19 | import org.eclipse.emf.ecore.util.EObjectResolvingEList; |
20 | |
21 | /** |
22 | * <!-- begin-user-doc --> |
23 | * An implementation of the model object '<em><b>Class Degree</b></em>'. |
24 | * <!-- end-user-doc --> |
25 | * <p> |
26 | * The following features are implemented: |
27 | * <ul> |
28 | * <li>{@link de.uka.ipd.sdq.pcm.designdecision.impl.ClassDegreeImpl#getClassDesignOptions <em>Class Design Options</em>}</li> |
29 | * </ul> |
30 | * </p> |
31 | * |
32 | * @generated |
33 | */ |
34 | public abstract class ClassDegreeImpl extends DegreeOfFreedomInstanceImpl implements ClassDegree { |
35 | /** |
36 | * The cached value of the '{@link #getClassDesignOptions() <em>Class Design Options</em>}' reference list. |
37 | * <!-- begin-user-doc --> |
38 | * <!-- end-user-doc --> |
39 | * @see #getClassDesignOptions() |
40 | * @generated |
41 | * @ordered |
42 | */ |
43 | protected EList<EObject> classDesignOptions; |
44 | |
45 | /** |
46 | * <!-- begin-user-doc --> |
47 | * <!-- end-user-doc --> |
48 | * @generated |
49 | */ |
50 | protected ClassDegreeImpl() { |
51 | super(); |
52 | } |
53 | |
54 | /** |
55 | * <!-- begin-user-doc --> |
56 | * <!-- end-user-doc --> |
57 | * @generated |
58 | */ |
59 | @Override |
60 | protected EClass eStaticClass() { |
61 | return designdecisionPackage.Literals.CLASS_DEGREE; |
62 | } |
63 | |
64 | /** |
65 | * <!-- begin-user-doc --> |
66 | * <!-- end-user-doc --> |
67 | * @generated |
68 | */ |
69 | public EList<EObject> getClassDesignOptions() { |
70 | if (classDesignOptions == null) { |
71 | classDesignOptions = new EObjectResolvingEList<EObject>(EObject.class, this, designdecisionPackage.CLASS_DEGREE__CLASS_DESIGN_OPTIONS); |
72 | } |
73 | return classDesignOptions; |
74 | } |
75 | |
76 | /** |
77 | * <!-- begin-user-doc --> |
78 | * <!-- end-user-doc --> |
79 | * @generated |
80 | */ |
81 | @Override |
82 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
83 | switch (featureID) { |
84 | case designdecisionPackage.CLASS_DEGREE__CLASS_DESIGN_OPTIONS: |
85 | return getClassDesignOptions(); |
86 | } |
87 | return super.eGet(featureID, resolve, coreType); |
88 | } |
89 | |
90 | /** |
91 | * <!-- begin-user-doc --> |
92 | * <!-- end-user-doc --> |
93 | * @generated |
94 | */ |
95 | @SuppressWarnings("unchecked") |
96 | @Override |
97 | public void eSet(int featureID, Object newValue) { |
98 | switch (featureID) { |
99 | case designdecisionPackage.CLASS_DEGREE__CLASS_DESIGN_OPTIONS: |
100 | getClassDesignOptions().clear(); |
101 | getClassDesignOptions().addAll((Collection<? extends EObject>)newValue); |
102 | return; |
103 | } |
104 | super.eSet(featureID, newValue); |
105 | } |
106 | |
107 | /** |
108 | * <!-- begin-user-doc --> |
109 | * <!-- end-user-doc --> |
110 | * @generated |
111 | */ |
112 | @Override |
113 | public void eUnset(int featureID) { |
114 | switch (featureID) { |
115 | case designdecisionPackage.CLASS_DEGREE__CLASS_DESIGN_OPTIONS: |
116 | getClassDesignOptions().clear(); |
117 | return; |
118 | } |
119 | super.eUnset(featureID); |
120 | } |
121 | |
122 | /** |
123 | * <!-- begin-user-doc --> |
124 | * <!-- end-user-doc --> |
125 | * @generated |
126 | */ |
127 | @Override |
128 | public boolean eIsSet(int featureID) { |
129 | switch (featureID) { |
130 | case designdecisionPackage.CLASS_DEGREE__CLASS_DESIGN_OPTIONS: |
131 | return classDesignOptions != null && !classDesignOptions.isEmpty(); |
132 | } |
133 | return super.eIsSet(featureID); |
134 | } |
135 | |
136 | } //ClassDegreeImpl |