1 | /** |
2 | * Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany |
3 | * |
4 | * $Id$ |
5 | */ |
6 | package de.uka.ipd.sdq.pcm.parameter.impl; |
7 | |
8 | import java.util.Collection; |
9 | |
10 | import org.eclipse.emf.common.notify.Notification; |
11 | import org.eclipse.emf.common.notify.NotificationChain; |
12 | import org.eclipse.emf.common.util.EList; |
13 | import org.eclipse.emf.ecore.EClass; |
14 | import org.eclipse.emf.ecore.InternalEObject; |
15 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
16 | import org.eclipse.emf.ecore.impl.EObjectImpl; |
17 | import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; |
18 | import org.eclipse.emf.ecore.util.EcoreUtil; |
19 | import org.eclipse.emf.ecore.util.InternalEList; |
20 | |
21 | import de.uka.ipd.sdq.pcm.core.composition.AssemblyContext; |
22 | import de.uka.ipd.sdq.pcm.core.composition.CompositionPackage; |
23 | import de.uka.ipd.sdq.pcm.parameter.ParameterPackage; |
24 | import de.uka.ipd.sdq.pcm.parameter.VariableCharacterisation; |
25 | import de.uka.ipd.sdq.pcm.parameter.VariableUsage; |
26 | import de.uka.ipd.sdq.pcm.qosannotations.QosannotationsPackage; |
27 | import de.uka.ipd.sdq.pcm.qosannotations.SpecifiedOutputParameterAbstraction; |
28 | import de.uka.ipd.sdq.pcm.seff.CallAction; |
29 | import de.uka.ipd.sdq.pcm.seff.CallReturnAction; |
30 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
31 | import de.uka.ipd.sdq.pcm.seff.SetVariableAction; |
32 | import de.uka.ipd.sdq.pcm.seff.SynchronisationPoint; |
33 | import de.uka.ipd.sdq.pcm.usagemodel.EntryLevelSystemCall; |
34 | import de.uka.ipd.sdq.pcm.usagemodel.UsagemodelPackage; |
35 | import de.uka.ipd.sdq.pcm.usagemodel.UserData; |
36 | import de.uka.ipd.sdq.stoex.AbstractNamedReference; |
37 | |
38 | /** |
39 | * <!-- begin-user-doc --> |
40 | * An implementation of the model object '<em><b>Variable Usage</b></em>'. |
41 | * <!-- end-user-doc --> |
42 | * <p> |
43 | * The following features are implemented: |
44 | * <ul> |
45 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getVariableCharacterisation_VariableUsage <em>Variable Characterisation Variable Usage</em>}</li> |
46 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getUserData_VariableUsage <em>User Data Variable Usage</em>}</li> |
47 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getCallAction__VariableUsage <em>Call Action Variable Usage</em>}</li> |
48 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getSynchronisationPoint_VariableUsage <em>Synchronisation Point Variable Usage</em>}</li> |
49 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getCallReturnAction__VariableUsage <em>Call Return Action Variable Usage</em>}</li> |
50 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getSetVariableAction_VariableUsage <em>Set Variable Action Variable Usage</em>}</li> |
51 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage <em>Specified Output Parameter Abstraction expected External Outputs Variable Usage</em>}</li> |
52 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getAssemblyContext__VariableUsage <em>Assembly Context Variable Usage</em>}</li> |
53 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getEntryLevelSystemCall_InputParameterUsage <em>Entry Level System Call Input Parameter Usage</em>}</li> |
54 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getEntryLevelSystemCall_OutputParameterUsage <em>Entry Level System Call Output Parameter Usage</em>}</li> |
55 | * <li>{@link de.uka.ipd.sdq.pcm.parameter.impl.VariableUsageImpl#getNamedReference__VariableUsage <em>Named Reference Variable Usage</em>}</li> |
56 | * </ul> |
57 | * </p> |
58 | * |
59 | * @generated |
60 | */ |
61 | public class VariableUsageImpl extends EObjectImpl implements VariableUsage { |
62 | /** |
63 | * <!-- begin-user-doc --> |
64 | * <!-- end-user-doc --> |
65 | * @generated |
66 | */ |
67 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
68 | |
69 | /** |
70 | * The cached value of the '{@link #getVariableCharacterisation_VariableUsage() <em>Variable Characterisation Variable Usage</em>}' containment reference list. |
71 | * <!-- begin-user-doc --> |
72 | * <!-- end-user-doc --> |
73 | * @see #getVariableCharacterisation_VariableUsage() |
74 | * @generated |
75 | * @ordered |
76 | */ |
77 | protected EList<VariableCharacterisation> variableCharacterisation_VariableUsage; |
78 | |
79 | /** |
80 | * The cached value of the '{@link #getNamedReference__VariableUsage() <em>Named Reference Variable Usage</em>}' containment reference. |
81 | * <!-- begin-user-doc --> |
82 | * <!-- end-user-doc --> |
83 | * @see #getNamedReference__VariableUsage() |
84 | * @generated |
85 | * @ordered |
86 | */ |
87 | protected AbstractNamedReference namedReference__VariableUsage; |
88 | |
89 | /** |
90 | * <!-- begin-user-doc --> |
91 | * <!-- end-user-doc --> |
92 | * @generated |
93 | */ |
94 | protected VariableUsageImpl() { |
95 | super(); |
96 | } |
97 | |
98 | /** |
99 | * <!-- begin-user-doc --> |
100 | * <!-- end-user-doc --> |
101 | * @generated |
102 | */ |
103 | @Override |
104 | protected EClass eStaticClass() { |
105 | return ParameterPackage.Literals.VARIABLE_USAGE; |
106 | } |
107 | |
108 | /** |
109 | * <!-- begin-user-doc --> |
110 | * <!-- end-user-doc --> |
111 | * @generated |
112 | */ |
113 | public EList<VariableCharacterisation> getVariableCharacterisation_VariableUsage() { |
114 | if (variableCharacterisation_VariableUsage == null) { |
115 | variableCharacterisation_VariableUsage = new EObjectContainmentWithInverseEList<VariableCharacterisation>(VariableCharacterisation.class, this, ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE, ParameterPackage.VARIABLE_CHARACTERISATION__VARIABLE_USAGE_VARIABLE_CHARACTERISATION); |
116 | } |
117 | return variableCharacterisation_VariableUsage; |
118 | } |
119 | |
120 | /** |
121 | * <!-- begin-user-doc --> |
122 | * <!-- end-user-doc --> |
123 | * @generated |
124 | */ |
125 | public UserData getUserData_VariableUsage() { |
126 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE) return null; |
127 | return (UserData)eContainer(); |
128 | } |
129 | |
130 | /** |
131 | * <!-- begin-user-doc --> |
132 | * <!-- end-user-doc --> |
133 | * @generated |
134 | */ |
135 | public NotificationChain basicSetUserData_VariableUsage(UserData newUserData_VariableUsage, NotificationChain msgs) { |
136 | msgs = eBasicSetContainer((InternalEObject)newUserData_VariableUsage, ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE, msgs); |
137 | return msgs; |
138 | } |
139 | |
140 | /** |
141 | * <!-- begin-user-doc --> |
142 | * <!-- end-user-doc --> |
143 | * @generated |
144 | */ |
145 | public void setUserData_VariableUsage(UserData newUserData_VariableUsage) { |
146 | if (newUserData_VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE && newUserData_VariableUsage != null)) { |
147 | if (EcoreUtil.isAncestor(this, newUserData_VariableUsage)) |
148 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
149 | NotificationChain msgs = null; |
150 | if (eInternalContainer() != null) |
151 | msgs = eBasicRemoveFromContainer(msgs); |
152 | if (newUserData_VariableUsage != null) |
153 | msgs = ((InternalEObject)newUserData_VariableUsage).eInverseAdd(this, UsagemodelPackage.USER_DATA__USER_DATA_PARAMETER_USAGES_USER_DATA, UserData.class, msgs); |
154 | msgs = basicSetUserData_VariableUsage(newUserData_VariableUsage, msgs); |
155 | if (msgs != null) msgs.dispatch(); |
156 | } |
157 | else if (eNotificationRequired()) |
158 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE, newUserData_VariableUsage, newUserData_VariableUsage)); |
159 | } |
160 | |
161 | /** |
162 | * <!-- begin-user-doc --> |
163 | * <!-- end-user-doc --> |
164 | * @generated |
165 | */ |
166 | public SynchronisationPoint getSynchronisationPoint_VariableUsage() { |
167 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE) return null; |
168 | return (SynchronisationPoint)eContainer(); |
169 | } |
170 | |
171 | /** |
172 | * <!-- begin-user-doc --> |
173 | * <!-- end-user-doc --> |
174 | * @generated |
175 | */ |
176 | public NotificationChain basicSetSynchronisationPoint_VariableUsage(SynchronisationPoint newSynchronisationPoint_VariableUsage, NotificationChain msgs) { |
177 | msgs = eBasicSetContainer((InternalEObject)newSynchronisationPoint_VariableUsage, ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE, msgs); |
178 | return msgs; |
179 | } |
180 | |
181 | /** |
182 | * <!-- begin-user-doc --> |
183 | * <!-- end-user-doc --> |
184 | * @generated |
185 | */ |
186 | public void setSynchronisationPoint_VariableUsage(SynchronisationPoint newSynchronisationPoint_VariableUsage) { |
187 | if (newSynchronisationPoint_VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE && newSynchronisationPoint_VariableUsage != null)) { |
188 | if (EcoreUtil.isAncestor(this, newSynchronisationPoint_VariableUsage)) |
189 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
190 | NotificationChain msgs = null; |
191 | if (eInternalContainer() != null) |
192 | msgs = eBasicRemoveFromContainer(msgs); |
193 | if (newSynchronisationPoint_VariableUsage != null) |
194 | msgs = ((InternalEObject)newSynchronisationPoint_VariableUsage).eInverseAdd(this, SeffPackage.SYNCHRONISATION_POINT__OUTPUT_PARAMETER_USAGE_SYNCHRONISATION_POINT, SynchronisationPoint.class, msgs); |
195 | msgs = basicSetSynchronisationPoint_VariableUsage(newSynchronisationPoint_VariableUsage, msgs); |
196 | if (msgs != null) msgs.dispatch(); |
197 | } |
198 | else if (eNotificationRequired()) |
199 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE, newSynchronisationPoint_VariableUsage, newSynchronisationPoint_VariableUsage)); |
200 | } |
201 | |
202 | /** |
203 | * <!-- begin-user-doc --> |
204 | * <!-- end-user-doc --> |
205 | * @generated |
206 | */ |
207 | public CallAction getCallAction__VariableUsage() { |
208 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE) return null; |
209 | return (CallAction)eContainer(); |
210 | } |
211 | |
212 | /** |
213 | * <!-- begin-user-doc --> |
214 | * <!-- end-user-doc --> |
215 | * @generated |
216 | */ |
217 | public NotificationChain basicSetCallAction__VariableUsage(CallAction newCallAction__VariableUsage, NotificationChain msgs) { |
218 | msgs = eBasicSetContainer((InternalEObject)newCallAction__VariableUsage, ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE, msgs); |
219 | return msgs; |
220 | } |
221 | |
222 | /** |
223 | * <!-- begin-user-doc --> |
224 | * <!-- end-user-doc --> |
225 | * @generated |
226 | */ |
227 | public void setCallAction__VariableUsage(CallAction newCallAction__VariableUsage) { |
228 | if (newCallAction__VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE && newCallAction__VariableUsage != null)) { |
229 | if (EcoreUtil.isAncestor(this, newCallAction__VariableUsage)) |
230 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
231 | NotificationChain msgs = null; |
232 | if (eInternalContainer() != null) |
233 | msgs = eBasicRemoveFromContainer(msgs); |
234 | if (newCallAction__VariableUsage != null) |
235 | msgs = ((InternalEObject)newCallAction__VariableUsage).eInverseAdd(this, SeffPackage.CALL_ACTION__INPUT_VARIABLE_USAGES_CALL_ACTION, CallAction.class, msgs); |
236 | msgs = basicSetCallAction__VariableUsage(newCallAction__VariableUsage, msgs); |
237 | if (msgs != null) msgs.dispatch(); |
238 | } |
239 | else if (eNotificationRequired()) |
240 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE, newCallAction__VariableUsage, newCallAction__VariableUsage)); |
241 | } |
242 | |
243 | /** |
244 | * <!-- begin-user-doc --> |
245 | * <!-- end-user-doc --> |
246 | * @generated |
247 | */ |
248 | public CallReturnAction getCallReturnAction__VariableUsage() { |
249 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE) return null; |
250 | return (CallReturnAction)eContainer(); |
251 | } |
252 | |
253 | /** |
254 | * <!-- begin-user-doc --> |
255 | * <!-- end-user-doc --> |
256 | * @generated |
257 | */ |
258 | public NotificationChain basicSetCallReturnAction__VariableUsage(CallReturnAction newCallReturnAction__VariableUsage, NotificationChain msgs) { |
259 | msgs = eBasicSetContainer((InternalEObject)newCallReturnAction__VariableUsage, ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE, msgs); |
260 | return msgs; |
261 | } |
262 | |
263 | /** |
264 | * <!-- begin-user-doc --> |
265 | * <!-- end-user-doc --> |
266 | * @generated |
267 | */ |
268 | public void setCallReturnAction__VariableUsage(CallReturnAction newCallReturnAction__VariableUsage) { |
269 | if (newCallReturnAction__VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE && newCallReturnAction__VariableUsage != null)) { |
270 | if (EcoreUtil.isAncestor(this, newCallReturnAction__VariableUsage)) |
271 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
272 | NotificationChain msgs = null; |
273 | if (eInternalContainer() != null) |
274 | msgs = eBasicRemoveFromContainer(msgs); |
275 | if (newCallReturnAction__VariableUsage != null) |
276 | msgs = ((InternalEObject)newCallReturnAction__VariableUsage).eInverseAdd(this, SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION, CallReturnAction.class, msgs); |
277 | msgs = basicSetCallReturnAction__VariableUsage(newCallReturnAction__VariableUsage, msgs); |
278 | if (msgs != null) msgs.dispatch(); |
279 | } |
280 | else if (eNotificationRequired()) |
281 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE, newCallReturnAction__VariableUsage, newCallReturnAction__VariableUsage)); |
282 | } |
283 | |
284 | /** |
285 | * <!-- begin-user-doc --> |
286 | * <!-- end-user-doc --> |
287 | * @generated |
288 | */ |
289 | public SetVariableAction getSetVariableAction_VariableUsage() { |
290 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE) return null; |
291 | return (SetVariableAction)eContainer(); |
292 | } |
293 | |
294 | /** |
295 | * <!-- begin-user-doc --> |
296 | * <!-- end-user-doc --> |
297 | * @generated |
298 | */ |
299 | public NotificationChain basicSetSetVariableAction_VariableUsage(SetVariableAction newSetVariableAction_VariableUsage, NotificationChain msgs) { |
300 | msgs = eBasicSetContainer((InternalEObject)newSetVariableAction_VariableUsage, ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE, msgs); |
301 | return msgs; |
302 | } |
303 | |
304 | /** |
305 | * <!-- begin-user-doc --> |
306 | * <!-- end-user-doc --> |
307 | * @generated |
308 | */ |
309 | public void setSetVariableAction_VariableUsage(SetVariableAction newSetVariableAction_VariableUsage) { |
310 | if (newSetVariableAction_VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE && newSetVariableAction_VariableUsage != null)) { |
311 | if (EcoreUtil.isAncestor(this, newSetVariableAction_VariableUsage)) |
312 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
313 | NotificationChain msgs = null; |
314 | if (eInternalContainer() != null) |
315 | msgs = eBasicRemoveFromContainer(msgs); |
316 | if (newSetVariableAction_VariableUsage != null) |
317 | msgs = ((InternalEObject)newSetVariableAction_VariableUsage).eInverseAdd(this, SeffPackage.SET_VARIABLE_ACTION__LOCAL_VARIABLE_USAGES_SET_VARIABLE_ACTION, SetVariableAction.class, msgs); |
318 | msgs = basicSetSetVariableAction_VariableUsage(newSetVariableAction_VariableUsage, msgs); |
319 | if (msgs != null) msgs.dispatch(); |
320 | } |
321 | else if (eNotificationRequired()) |
322 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE, newSetVariableAction_VariableUsage, newSetVariableAction_VariableUsage)); |
323 | } |
324 | |
325 | /** |
326 | * <!-- begin-user-doc --> |
327 | * <!-- end-user-doc --> |
328 | * @generated |
329 | */ |
330 | public AssemblyContext getAssemblyContext__VariableUsage() { |
331 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE) return null; |
332 | return (AssemblyContext)eContainer(); |
333 | } |
334 | |
335 | /** |
336 | * <!-- begin-user-doc --> |
337 | * <!-- end-user-doc --> |
338 | * @generated |
339 | */ |
340 | public NotificationChain basicSetAssemblyContext__VariableUsage(AssemblyContext newAssemblyContext__VariableUsage, NotificationChain msgs) { |
341 | msgs = eBasicSetContainer((InternalEObject)newAssemblyContext__VariableUsage, ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE, msgs); |
342 | return msgs; |
343 | } |
344 | |
345 | /** |
346 | * <!-- begin-user-doc --> |
347 | * <!-- end-user-doc --> |
348 | * @generated |
349 | */ |
350 | public void setAssemblyContext__VariableUsage(AssemblyContext newAssemblyContext__VariableUsage) { |
351 | if (newAssemblyContext__VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE && newAssemblyContext__VariableUsage != null)) { |
352 | if (EcoreUtil.isAncestor(this, newAssemblyContext__VariableUsage)) |
353 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
354 | NotificationChain msgs = null; |
355 | if (eInternalContainer() != null) |
356 | msgs = eBasicRemoveFromContainer(msgs); |
357 | if (newAssemblyContext__VariableUsage != null) |
358 | msgs = ((InternalEObject)newAssemblyContext__VariableUsage).eInverseAdd(this, CompositionPackage.ASSEMBLY_CONTEXT__CONFIG_PARAMETER_USAGES_ASSEMBLY_CONTEXT, AssemblyContext.class, msgs); |
359 | msgs = basicSetAssemblyContext__VariableUsage(newAssemblyContext__VariableUsage, msgs); |
360 | if (msgs != null) msgs.dispatch(); |
361 | } |
362 | else if (eNotificationRequired()) |
363 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE, newAssemblyContext__VariableUsage, newAssemblyContext__VariableUsage)); |
364 | } |
365 | |
366 | /** |
367 | * <!-- begin-user-doc --> |
368 | * <!-- end-user-doc --> |
369 | * @generated |
370 | */ |
371 | public EntryLevelSystemCall getEntryLevelSystemCall_InputParameterUsage() { |
372 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE) return null; |
373 | return (EntryLevelSystemCall)eContainer(); |
374 | } |
375 | |
376 | /** |
377 | * <!-- begin-user-doc --> |
378 | * <!-- end-user-doc --> |
379 | * @generated |
380 | */ |
381 | public NotificationChain basicSetEntryLevelSystemCall_InputParameterUsage(EntryLevelSystemCall newEntryLevelSystemCall_InputParameterUsage, NotificationChain msgs) { |
382 | msgs = eBasicSetContainer((InternalEObject)newEntryLevelSystemCall_InputParameterUsage, ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE, msgs); |
383 | return msgs; |
384 | } |
385 | |
386 | /** |
387 | * <!-- begin-user-doc --> |
388 | * <!-- end-user-doc --> |
389 | * @generated |
390 | */ |
391 | public void setEntryLevelSystemCall_InputParameterUsage(EntryLevelSystemCall newEntryLevelSystemCall_InputParameterUsage) { |
392 | if (newEntryLevelSystemCall_InputParameterUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE && newEntryLevelSystemCall_InputParameterUsage != null)) { |
393 | if (EcoreUtil.isAncestor(this, newEntryLevelSystemCall_InputParameterUsage)) |
394 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
395 | NotificationChain msgs = null; |
396 | if (eInternalContainer() != null) |
397 | msgs = eBasicRemoveFromContainer(msgs); |
398 | if (newEntryLevelSystemCall_InputParameterUsage != null) |
399 | msgs = ((InternalEObject)newEntryLevelSystemCall_InputParameterUsage).eInverseAdd(this, UsagemodelPackage.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_USAGES_ENTRY_LEVEL_SYSTEM_CALL, EntryLevelSystemCall.class, msgs); |
400 | msgs = basicSetEntryLevelSystemCall_InputParameterUsage(newEntryLevelSystemCall_InputParameterUsage, msgs); |
401 | if (msgs != null) msgs.dispatch(); |
402 | } |
403 | else if (eNotificationRequired()) |
404 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE, newEntryLevelSystemCall_InputParameterUsage, newEntryLevelSystemCall_InputParameterUsage)); |
405 | } |
406 | |
407 | /** |
408 | * <!-- begin-user-doc --> |
409 | * <!-- end-user-doc --> |
410 | * @generated |
411 | */ |
412 | public EntryLevelSystemCall getEntryLevelSystemCall_OutputParameterUsage() { |
413 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE) return null; |
414 | return (EntryLevelSystemCall)eContainer(); |
415 | } |
416 | |
417 | /** |
418 | * <!-- begin-user-doc --> |
419 | * <!-- end-user-doc --> |
420 | * @generated |
421 | */ |
422 | public NotificationChain basicSetEntryLevelSystemCall_OutputParameterUsage(EntryLevelSystemCall newEntryLevelSystemCall_OutputParameterUsage, NotificationChain msgs) { |
423 | msgs = eBasicSetContainer((InternalEObject)newEntryLevelSystemCall_OutputParameterUsage, ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE, msgs); |
424 | return msgs; |
425 | } |
426 | |
427 | /** |
428 | * <!-- begin-user-doc --> |
429 | * <!-- end-user-doc --> |
430 | * @generated |
431 | */ |
432 | public void setEntryLevelSystemCall_OutputParameterUsage(EntryLevelSystemCall newEntryLevelSystemCall_OutputParameterUsage) { |
433 | if (newEntryLevelSystemCall_OutputParameterUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE && newEntryLevelSystemCall_OutputParameterUsage != null)) { |
434 | if (EcoreUtil.isAncestor(this, newEntryLevelSystemCall_OutputParameterUsage)) |
435 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
436 | NotificationChain msgs = null; |
437 | if (eInternalContainer() != null) |
438 | msgs = eBasicRemoveFromContainer(msgs); |
439 | if (newEntryLevelSystemCall_OutputParameterUsage != null) |
440 | msgs = ((InternalEObject)newEntryLevelSystemCall_OutputParameterUsage).eInverseAdd(this, UsagemodelPackage.ENTRY_LEVEL_SYSTEM_CALL__OUTPUT_PARAMETER_USAGES_ENTRY_LEVEL_SYSTEM_CALL, EntryLevelSystemCall.class, msgs); |
441 | msgs = basicSetEntryLevelSystemCall_OutputParameterUsage(newEntryLevelSystemCall_OutputParameterUsage, msgs); |
442 | if (msgs != null) msgs.dispatch(); |
443 | } |
444 | else if (eNotificationRequired()) |
445 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE, newEntryLevelSystemCall_OutputParameterUsage, newEntryLevelSystemCall_OutputParameterUsage)); |
446 | } |
447 | |
448 | /** |
449 | * <!-- begin-user-doc --> |
450 | * <!-- end-user-doc --> |
451 | * @generated |
452 | */ |
453 | public SpecifiedOutputParameterAbstraction getSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage() { |
454 | if (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE) return null; |
455 | return (SpecifiedOutputParameterAbstraction)eContainer(); |
456 | } |
457 | |
458 | /** |
459 | * <!-- begin-user-doc --> |
460 | * <!-- end-user-doc --> |
461 | * @generated |
462 | */ |
463 | public NotificationChain basicSetSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage(SpecifiedOutputParameterAbstraction newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage, NotificationChain msgs) { |
464 | msgs = eBasicSetContainer((InternalEObject)newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage, ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE, msgs); |
465 | return msgs; |
466 | } |
467 | |
468 | /** |
469 | * <!-- begin-user-doc --> |
470 | * <!-- end-user-doc --> |
471 | * @generated |
472 | */ |
473 | public void setSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage(SpecifiedOutputParameterAbstraction newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage) { |
474 | if (newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage != eInternalContainer() || (eContainerFeatureID() != ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE && newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage != null)) { |
475 | if (EcoreUtil.isAncestor(this, newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage)) |
476 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
477 | NotificationChain msgs = null; |
478 | if (eInternalContainer() != null) |
479 | msgs = eBasicRemoveFromContainer(msgs); |
480 | if (newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage != null) |
481 | msgs = ((InternalEObject)newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage).eInverseAdd(this, QosannotationsPackage.SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION__EXPECTED_EXTERNAL_OUTPUTS_SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION, SpecifiedOutputParameterAbstraction.class, msgs); |
482 | msgs = basicSetSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage(newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage, msgs); |
483 | if (msgs != null) msgs.dispatch(); |
484 | } |
485 | else if (eNotificationRequired()) |
486 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE, newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage, newSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage)); |
487 | } |
488 | |
489 | /** |
490 | * <!-- begin-user-doc --> |
491 | * <!-- end-user-doc --> |
492 | * @generated |
493 | */ |
494 | public AbstractNamedReference getNamedReference__VariableUsage() { |
495 | return namedReference__VariableUsage; |
496 | } |
497 | |
498 | /** |
499 | * <!-- begin-user-doc --> |
500 | * <!-- end-user-doc --> |
501 | * @generated |
502 | */ |
503 | public NotificationChain basicSetNamedReference__VariableUsage(AbstractNamedReference newNamedReference__VariableUsage, NotificationChain msgs) { |
504 | AbstractNamedReference oldNamedReference__VariableUsage = namedReference__VariableUsage; |
505 | namedReference__VariableUsage = newNamedReference__VariableUsage; |
506 | if (eNotificationRequired()) { |
507 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE, oldNamedReference__VariableUsage, newNamedReference__VariableUsage); |
508 | if (msgs == null) msgs = notification; else msgs.add(notification); |
509 | } |
510 | return msgs; |
511 | } |
512 | |
513 | /** |
514 | * <!-- begin-user-doc --> |
515 | * <!-- end-user-doc --> |
516 | * @generated |
517 | */ |
518 | public void setNamedReference__VariableUsage(AbstractNamedReference newNamedReference__VariableUsage) { |
519 | if (newNamedReference__VariableUsage != namedReference__VariableUsage) { |
520 | NotificationChain msgs = null; |
521 | if (namedReference__VariableUsage != null) |
522 | msgs = ((InternalEObject)namedReference__VariableUsage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE, null, msgs); |
523 | if (newNamedReference__VariableUsage != null) |
524 | msgs = ((InternalEObject)newNamedReference__VariableUsage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE, null, msgs); |
525 | msgs = basicSetNamedReference__VariableUsage(newNamedReference__VariableUsage, msgs); |
526 | if (msgs != null) msgs.dispatch(); |
527 | } |
528 | else if (eNotificationRequired()) |
529 | eNotify(new ENotificationImpl(this, Notification.SET, ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE, newNamedReference__VariableUsage, newNamedReference__VariableUsage)); |
530 | } |
531 | |
532 | /** |
533 | * <!-- begin-user-doc --> |
534 | * <!-- end-user-doc --> |
535 | * @generated |
536 | */ |
537 | @SuppressWarnings("unchecked") |
538 | @Override |
539 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
540 | switch (featureID) { |
541 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
542 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getVariableCharacterisation_VariableUsage()).basicAdd(otherEnd, msgs); |
543 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
544 | if (eInternalContainer() != null) |
545 | msgs = eBasicRemoveFromContainer(msgs); |
546 | return basicSetUserData_VariableUsage((UserData)otherEnd, msgs); |
547 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
548 | if (eInternalContainer() != null) |
549 | msgs = eBasicRemoveFromContainer(msgs); |
550 | return basicSetCallAction__VariableUsage((CallAction)otherEnd, msgs); |
551 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
552 | if (eInternalContainer() != null) |
553 | msgs = eBasicRemoveFromContainer(msgs); |
554 | return basicSetSynchronisationPoint_VariableUsage((SynchronisationPoint)otherEnd, msgs); |
555 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
556 | if (eInternalContainer() != null) |
557 | msgs = eBasicRemoveFromContainer(msgs); |
558 | return basicSetCallReturnAction__VariableUsage((CallReturnAction)otherEnd, msgs); |
559 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
560 | if (eInternalContainer() != null) |
561 | msgs = eBasicRemoveFromContainer(msgs); |
562 | return basicSetSetVariableAction_VariableUsage((SetVariableAction)otherEnd, msgs); |
563 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
564 | if (eInternalContainer() != null) |
565 | msgs = eBasicRemoveFromContainer(msgs); |
566 | return basicSetSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage((SpecifiedOutputParameterAbstraction)otherEnd, msgs); |
567 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
568 | if (eInternalContainer() != null) |
569 | msgs = eBasicRemoveFromContainer(msgs); |
570 | return basicSetAssemblyContext__VariableUsage((AssemblyContext)otherEnd, msgs); |
571 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
572 | if (eInternalContainer() != null) |
573 | msgs = eBasicRemoveFromContainer(msgs); |
574 | return basicSetEntryLevelSystemCall_InputParameterUsage((EntryLevelSystemCall)otherEnd, msgs); |
575 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
576 | if (eInternalContainer() != null) |
577 | msgs = eBasicRemoveFromContainer(msgs); |
578 | return basicSetEntryLevelSystemCall_OutputParameterUsage((EntryLevelSystemCall)otherEnd, msgs); |
579 | } |
580 | return super.eInverseAdd(otherEnd, featureID, msgs); |
581 | } |
582 | |
583 | /** |
584 | * <!-- begin-user-doc --> |
585 | * <!-- end-user-doc --> |
586 | * @generated |
587 | */ |
588 | @Override |
589 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
590 | switch (featureID) { |
591 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
592 | return ((InternalEList<?>)getVariableCharacterisation_VariableUsage()).basicRemove(otherEnd, msgs); |
593 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
594 | return basicSetUserData_VariableUsage(null, msgs); |
595 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
596 | return basicSetCallAction__VariableUsage(null, msgs); |
597 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
598 | return basicSetSynchronisationPoint_VariableUsage(null, msgs); |
599 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
600 | return basicSetCallReturnAction__VariableUsage(null, msgs); |
601 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
602 | return basicSetSetVariableAction_VariableUsage(null, msgs); |
603 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
604 | return basicSetSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage(null, msgs); |
605 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
606 | return basicSetAssemblyContext__VariableUsage(null, msgs); |
607 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
608 | return basicSetEntryLevelSystemCall_InputParameterUsage(null, msgs); |
609 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
610 | return basicSetEntryLevelSystemCall_OutputParameterUsage(null, msgs); |
611 | case ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE: |
612 | return basicSetNamedReference__VariableUsage(null, msgs); |
613 | } |
614 | return super.eInverseRemove(otherEnd, featureID, msgs); |
615 | } |
616 | |
617 | /** |
618 | * <!-- begin-user-doc --> |
619 | * <!-- end-user-doc --> |
620 | * @generated |
621 | */ |
622 | @Override |
623 | public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { |
624 | switch (eContainerFeatureID()) { |
625 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
626 | return eInternalContainer().eInverseRemove(this, UsagemodelPackage.USER_DATA__USER_DATA_PARAMETER_USAGES_USER_DATA, UserData.class, msgs); |
627 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
628 | return eInternalContainer().eInverseRemove(this, SeffPackage.CALL_ACTION__INPUT_VARIABLE_USAGES_CALL_ACTION, CallAction.class, msgs); |
629 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
630 | return eInternalContainer().eInverseRemove(this, SeffPackage.SYNCHRONISATION_POINT__OUTPUT_PARAMETER_USAGE_SYNCHRONISATION_POINT, SynchronisationPoint.class, msgs); |
631 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
632 | return eInternalContainer().eInverseRemove(this, SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION, CallReturnAction.class, msgs); |
633 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
634 | return eInternalContainer().eInverseRemove(this, SeffPackage.SET_VARIABLE_ACTION__LOCAL_VARIABLE_USAGES_SET_VARIABLE_ACTION, SetVariableAction.class, msgs); |
635 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
636 | return eInternalContainer().eInverseRemove(this, QosannotationsPackage.SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION__EXPECTED_EXTERNAL_OUTPUTS_SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION, SpecifiedOutputParameterAbstraction.class, msgs); |
637 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
638 | return eInternalContainer().eInverseRemove(this, CompositionPackage.ASSEMBLY_CONTEXT__CONFIG_PARAMETER_USAGES_ASSEMBLY_CONTEXT, AssemblyContext.class, msgs); |
639 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
640 | return eInternalContainer().eInverseRemove(this, UsagemodelPackage.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_USAGES_ENTRY_LEVEL_SYSTEM_CALL, EntryLevelSystemCall.class, msgs); |
641 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
642 | return eInternalContainer().eInverseRemove(this, UsagemodelPackage.ENTRY_LEVEL_SYSTEM_CALL__OUTPUT_PARAMETER_USAGES_ENTRY_LEVEL_SYSTEM_CALL, EntryLevelSystemCall.class, msgs); |
643 | } |
644 | return super.eBasicRemoveFromContainerFeature(msgs); |
645 | } |
646 | |
647 | /** |
648 | * <!-- begin-user-doc --> |
649 | * <!-- end-user-doc --> |
650 | * @generated |
651 | */ |
652 | @Override |
653 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
654 | switch (featureID) { |
655 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
656 | return getVariableCharacterisation_VariableUsage(); |
657 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
658 | return getUserData_VariableUsage(); |
659 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
660 | return getCallAction__VariableUsage(); |
661 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
662 | return getSynchronisationPoint_VariableUsage(); |
663 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
664 | return getCallReturnAction__VariableUsage(); |
665 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
666 | return getSetVariableAction_VariableUsage(); |
667 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
668 | return getSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage(); |
669 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
670 | return getAssemblyContext__VariableUsage(); |
671 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
672 | return getEntryLevelSystemCall_InputParameterUsage(); |
673 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
674 | return getEntryLevelSystemCall_OutputParameterUsage(); |
675 | case ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE: |
676 | return getNamedReference__VariableUsage(); |
677 | } |
678 | return super.eGet(featureID, resolve, coreType); |
679 | } |
680 | |
681 | /** |
682 | * <!-- begin-user-doc --> |
683 | * <!-- end-user-doc --> |
684 | * @generated |
685 | */ |
686 | @SuppressWarnings("unchecked") |
687 | @Override |
688 | public void eSet(int featureID, Object newValue) { |
689 | switch (featureID) { |
690 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
691 | getVariableCharacterisation_VariableUsage().clear(); |
692 | getVariableCharacterisation_VariableUsage().addAll((Collection<? extends VariableCharacterisation>)newValue); |
693 | return; |
694 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
695 | setUserData_VariableUsage((UserData)newValue); |
696 | return; |
697 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
698 | setCallAction__VariableUsage((CallAction)newValue); |
699 | return; |
700 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
701 | setSynchronisationPoint_VariableUsage((SynchronisationPoint)newValue); |
702 | return; |
703 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
704 | setCallReturnAction__VariableUsage((CallReturnAction)newValue); |
705 | return; |
706 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
707 | setSetVariableAction_VariableUsage((SetVariableAction)newValue); |
708 | return; |
709 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
710 | setSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage((SpecifiedOutputParameterAbstraction)newValue); |
711 | return; |
712 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
713 | setAssemblyContext__VariableUsage((AssemblyContext)newValue); |
714 | return; |
715 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
716 | setEntryLevelSystemCall_InputParameterUsage((EntryLevelSystemCall)newValue); |
717 | return; |
718 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
719 | setEntryLevelSystemCall_OutputParameterUsage((EntryLevelSystemCall)newValue); |
720 | return; |
721 | case ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE: |
722 | setNamedReference__VariableUsage((AbstractNamedReference)newValue); |
723 | return; |
724 | } |
725 | super.eSet(featureID, newValue); |
726 | } |
727 | |
728 | /** |
729 | * <!-- begin-user-doc --> |
730 | * <!-- end-user-doc --> |
731 | * @generated |
732 | */ |
733 | @Override |
734 | public void eUnset(int featureID) { |
735 | switch (featureID) { |
736 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
737 | getVariableCharacterisation_VariableUsage().clear(); |
738 | return; |
739 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
740 | setUserData_VariableUsage((UserData)null); |
741 | return; |
742 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
743 | setCallAction__VariableUsage((CallAction)null); |
744 | return; |
745 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
746 | setSynchronisationPoint_VariableUsage((SynchronisationPoint)null); |
747 | return; |
748 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
749 | setCallReturnAction__VariableUsage((CallReturnAction)null); |
750 | return; |
751 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
752 | setSetVariableAction_VariableUsage((SetVariableAction)null); |
753 | return; |
754 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
755 | setSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage((SpecifiedOutputParameterAbstraction)null); |
756 | return; |
757 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
758 | setAssemblyContext__VariableUsage((AssemblyContext)null); |
759 | return; |
760 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
761 | setEntryLevelSystemCall_InputParameterUsage((EntryLevelSystemCall)null); |
762 | return; |
763 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
764 | setEntryLevelSystemCall_OutputParameterUsage((EntryLevelSystemCall)null); |
765 | return; |
766 | case ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE: |
767 | setNamedReference__VariableUsage((AbstractNamedReference)null); |
768 | return; |
769 | } |
770 | super.eUnset(featureID); |
771 | } |
772 | |
773 | /** |
774 | * <!-- begin-user-doc --> |
775 | * <!-- end-user-doc --> |
776 | * @generated |
777 | */ |
778 | @Override |
779 | public boolean eIsSet(int featureID) { |
780 | switch (featureID) { |
781 | case ParameterPackage.VARIABLE_USAGE__VARIABLE_CHARACTERISATION_VARIABLE_USAGE: |
782 | return variableCharacterisation_VariableUsage != null && !variableCharacterisation_VariableUsage.isEmpty(); |
783 | case ParameterPackage.VARIABLE_USAGE__USER_DATA_VARIABLE_USAGE: |
784 | return getUserData_VariableUsage() != null; |
785 | case ParameterPackage.VARIABLE_USAGE__CALL_ACTION_VARIABLE_USAGE: |
786 | return getCallAction__VariableUsage() != null; |
787 | case ParameterPackage.VARIABLE_USAGE__SYNCHRONISATION_POINT_VARIABLE_USAGE: |
788 | return getSynchronisationPoint_VariableUsage() != null; |
789 | case ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE: |
790 | return getCallReturnAction__VariableUsage() != null; |
791 | case ParameterPackage.VARIABLE_USAGE__SET_VARIABLE_ACTION_VARIABLE_USAGE: |
792 | return getSetVariableAction_VariableUsage() != null; |
793 | case ParameterPackage.VARIABLE_USAGE__SPECIFIED_OUTPUT_PARAMETER_ABSTRACTION_EXPECTED_EXTERNAL_OUTPUTS_VARIABLE_USAGE: |
794 | return getSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage() != null; |
795 | case ParameterPackage.VARIABLE_USAGE__ASSEMBLY_CONTEXT_VARIABLE_USAGE: |
796 | return getAssemblyContext__VariableUsage() != null; |
797 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_INPUT_PARAMETER_USAGE: |
798 | return getEntryLevelSystemCall_InputParameterUsage() != null; |
799 | case ParameterPackage.VARIABLE_USAGE__ENTRY_LEVEL_SYSTEM_CALL_OUTPUT_PARAMETER_USAGE: |
800 | return getEntryLevelSystemCall_OutputParameterUsage() != null; |
801 | case ParameterPackage.VARIABLE_USAGE__NAMED_REFERENCE_VARIABLE_USAGE: |
802 | return namedReference__VariableUsage != null; |
803 | } |
804 | return super.eIsSet(featureID); |
805 | } |
806 | |
807 | } //VariableUsageImpl |