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.DegreeOfFreedomInstance; |
10 | |
11 | import de.uka.ipd.sdq.pcm.designdecision.GDoF.DegreeOfFreedom; |
12 | |
13 | import de.uka.ipd.sdq.pcm.designdecision.designdecisionPackage; |
14 | |
15 | import java.util.Collection; |
16 | |
17 | import org.eclipse.emf.common.notify.Notification; |
18 | |
19 | import org.eclipse.emf.common.util.EList; |
20 | |
21 | import org.eclipse.emf.ecore.EClass; |
22 | import org.eclipse.emf.ecore.EObject; |
23 | import org.eclipse.emf.ecore.InternalEObject; |
24 | |
25 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
26 | import org.eclipse.emf.ecore.impl.EObjectImpl; |
27 | |
28 | /** |
29 | * <!-- begin-user-doc --> |
30 | * An implementation of the model object '<em><b>Degree Of Freedom Instance</b></em>'. |
31 | * <!-- end-user-doc --> |
32 | * <p> |
33 | * The following features are implemented: |
34 | * <ul> |
35 | * <li>{@link de.uka.ipd.sdq.pcm.designdecision.impl.DegreeOfFreedomInstanceImpl#getPrimaryChanged <em>Primary Changed</em>}</li> |
36 | * <li>{@link de.uka.ipd.sdq.pcm.designdecision.impl.DegreeOfFreedomInstanceImpl#getDof <em>Dof</em>}</li> |
37 | * </ul> |
38 | * </p> |
39 | * |
40 | * @generated |
41 | */ |
42 | public abstract class DegreeOfFreedomInstanceImpl extends EObjectImpl implements DegreeOfFreedomInstance { |
43 | /** |
44 | * The cached value of the '{@link #getPrimaryChanged() <em>Primary Changed</em>}' reference. |
45 | * <!-- begin-user-doc --> |
46 | * <!-- end-user-doc --> |
47 | * @see #getPrimaryChanged() |
48 | * @generated |
49 | * @ordered |
50 | */ |
51 | protected EObject primaryChanged; |
52 | |
53 | /** |
54 | * The cached value of the '{@link #getDof() <em>Dof</em>}' reference. |
55 | * <!-- begin-user-doc --> |
56 | * <!-- end-user-doc --> |
57 | * @see #getDof() |
58 | * @generated |
59 | * @ordered |
60 | */ |
61 | protected DegreeOfFreedom dof; |
62 | |
63 | /** |
64 | * <!-- begin-user-doc --> |
65 | * <!-- end-user-doc --> |
66 | * @generated |
67 | */ |
68 | protected DegreeOfFreedomInstanceImpl() { |
69 | super(); |
70 | } |
71 | |
72 | /** |
73 | * <!-- begin-user-doc --> |
74 | * <!-- end-user-doc --> |
75 | * @generated |
76 | */ |
77 | @Override |
78 | protected EClass eStaticClass() { |
79 | return designdecisionPackage.Literals.DEGREE_OF_FREEDOM_INSTANCE; |
80 | } |
81 | |
82 | /** |
83 | * <!-- begin-user-doc --> |
84 | * <!-- end-user-doc --> |
85 | * @generated |
86 | */ |
87 | public EObject getPrimaryChanged() { |
88 | if (primaryChanged != null && primaryChanged.eIsProxy()) { |
89 | InternalEObject oldPrimaryChanged = (InternalEObject)primaryChanged; |
90 | primaryChanged = eResolveProxy(oldPrimaryChanged); |
91 | if (primaryChanged != oldPrimaryChanged) { |
92 | if (eNotificationRequired()) |
93 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED, oldPrimaryChanged, primaryChanged)); |
94 | } |
95 | } |
96 | return primaryChanged; |
97 | } |
98 | |
99 | /** |
100 | * <!-- begin-user-doc --> |
101 | * <!-- end-user-doc --> |
102 | * @generated |
103 | */ |
104 | public EObject basicGetPrimaryChanged() { |
105 | return primaryChanged; |
106 | } |
107 | |
108 | /** |
109 | * <!-- begin-user-doc --> |
110 | * <!-- end-user-doc --> |
111 | * @generated |
112 | */ |
113 | public void setPrimaryChanged(EObject newPrimaryChanged) { |
114 | EObject oldPrimaryChanged = primaryChanged; |
115 | primaryChanged = newPrimaryChanged; |
116 | if (eNotificationRequired()) |
117 | eNotify(new ENotificationImpl(this, Notification.SET, designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED, oldPrimaryChanged, primaryChanged)); |
118 | } |
119 | |
120 | /** |
121 | * <!-- begin-user-doc --> |
122 | * <!-- end-user-doc --> |
123 | * @generated |
124 | */ |
125 | public DegreeOfFreedom getDof() { |
126 | if (dof != null && dof.eIsProxy()) { |
127 | InternalEObject oldDof = (InternalEObject)dof; |
128 | dof = (DegreeOfFreedom)eResolveProxy(oldDof); |
129 | if (dof != oldDof) { |
130 | if (eNotificationRequired()) |
131 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF, oldDof, dof)); |
132 | } |
133 | } |
134 | return dof; |
135 | } |
136 | |
137 | /** |
138 | * <!-- begin-user-doc --> |
139 | * <!-- end-user-doc --> |
140 | * @generated |
141 | */ |
142 | public DegreeOfFreedom basicGetDof() { |
143 | return dof; |
144 | } |
145 | |
146 | /** |
147 | * <!-- begin-user-doc --> |
148 | * <!-- end-user-doc --> |
149 | * @generated |
150 | */ |
151 | public void setDof(DegreeOfFreedom newDof) { |
152 | DegreeOfFreedom oldDof = dof; |
153 | dof = newDof; |
154 | if (eNotificationRequired()) |
155 | eNotify(new ENotificationImpl(this, Notification.SET, designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF, oldDof, dof)); |
156 | } |
157 | |
158 | /** |
159 | * <!-- begin-user-doc --> |
160 | * <!-- end-user-doc --> |
161 | * @generated |
162 | */ |
163 | @Override |
164 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
165 | switch (featureID) { |
166 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED: |
167 | if (resolve) return getPrimaryChanged(); |
168 | return basicGetPrimaryChanged(); |
169 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF: |
170 | if (resolve) return getDof(); |
171 | return basicGetDof(); |
172 | } |
173 | return super.eGet(featureID, resolve, coreType); |
174 | } |
175 | |
176 | /** |
177 | * <!-- begin-user-doc --> |
178 | * <!-- end-user-doc --> |
179 | * @generated |
180 | */ |
181 | @SuppressWarnings("unchecked") |
182 | @Override |
183 | public void eSet(int featureID, Object newValue) { |
184 | switch (featureID) { |
185 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED: |
186 | setPrimaryChanged((EObject)newValue); |
187 | return; |
188 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF: |
189 | setDof((DegreeOfFreedom)newValue); |
190 | return; |
191 | } |
192 | super.eSet(featureID, newValue); |
193 | } |
194 | |
195 | /** |
196 | * <!-- begin-user-doc --> |
197 | * <!-- end-user-doc --> |
198 | * @generated |
199 | */ |
200 | @Override |
201 | public void eUnset(int featureID) { |
202 | switch (featureID) { |
203 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED: |
204 | setPrimaryChanged((EObject)null); |
205 | return; |
206 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF: |
207 | setDof((DegreeOfFreedom)null); |
208 | return; |
209 | } |
210 | super.eUnset(featureID); |
211 | } |
212 | |
213 | /** |
214 | * <!-- begin-user-doc --> |
215 | * <!-- end-user-doc --> |
216 | * @generated |
217 | */ |
218 | @Override |
219 | public boolean eIsSet(int featureID) { |
220 | switch (featureID) { |
221 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__PRIMARY_CHANGED: |
222 | return primaryChanged != null; |
223 | case designdecisionPackage.DEGREE_OF_FREEDOM_INSTANCE__DOF: |
224 | return dof != null; |
225 | } |
226 | return super.eIsSet(featureID); |
227 | } |
228 | |
229 | } //DegreeOfFreedomInstanceImpl |