EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.pcm.parameter.impl]

COVERAGE SUMMARY FOR SOURCE FILE [VariableUsageImpl.java]

nameclass, %method, %block, %line, %
VariableUsageImpl.java0%   (0/1)0%   (0/40)0%   (0/1417)0%   (0/308)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VariableUsageImpl0%   (0/1)0%   (0/40)0%   (0/1417)0%   (0/308)
VariableUsageImpl (): void 0%   (0/1)0%   (0/3)0%   (0/2)
basicSetAssemblyContext__VariableUsage (AssemblyContext, NotificationChain): ... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetCallAction__VariableUsage (CallAction, NotificationChain): Notificati... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetCallReturnAction__VariableUsage (CallReturnAction, NotificationChain)... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetEntryLevelSystemCall_InputParameterUsage (EntryLevelSystemCall, Notif... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetEntryLevelSystemCall_OutputParameterUsage (EntryLevelSystemCall, Noti... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetNamedReference__VariableUsage (AbstractNamedReference, NotificationCh... 0%   (0/1)0%   (0/29)0%   (0/6)
basicSetSetVariableAction_VariableUsage (SetVariableAction, NotificationChain... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableU... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetSynchronisationPoint_VariableUsage (SynchronisationPoint, Notificatio... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetUserData_VariableUsage (UserData, NotificationChain): NotificationChain 0%   (0/1)0%   (0/9)0%   (0/2)
eBasicRemoveFromContainerFeature (NotificationChain): NotificationChain 0%   (0/1)0%   (0/79)0%   (0/11)
eGet (int, boolean, boolean): Object 0%   (0/1)0%   (0/41)0%   (0/13)
eInverseAdd (InternalEObject, int, NotificationChain): NotificationChain 0%   (0/1)0%   (0/132)0%   (0/30)
eInverseRemove (InternalEObject, int, NotificationChain): NotificationChain 0%   (0/1)0%   (0/65)0%   (0/13)
eIsSet (int): boolean 0%   (0/1)0%   (0/87)0%   (0/13)
eSet (int, Object): void 0%   (0/1)0%   (0/67)0%   (0/26)
eStaticClass (): EClass 0%   (0/1)0%   (0/2)0%   (0/1)
eUnset (int): void 0%   (0/1)0%   (0/50)0%   (0/25)
getAssemblyContext__VariableUsage (): AssemblyContext 0%   (0/1)0%   (0/10)0%   (0/2)
getCallAction__VariableUsage (): CallAction 0%   (0/1)0%   (0/10)0%   (0/2)
getCallReturnAction__VariableUsage (): CallReturnAction 0%   (0/1)0%   (0/10)0%   (0/2)
getEntryLevelSystemCall_InputParameterUsage (): EntryLevelSystemCall 0%   (0/1)0%   (0/10)0%   (0/2)
getEntryLevelSystemCall_OutputParameterUsage (): EntryLevelSystemCall 0%   (0/1)0%   (0/10)0%   (0/2)
getNamedReference__VariableUsage (): AbstractNamedReference 0%   (0/1)0%   (0/3)0%   (0/1)
getSetVariableAction_VariableUsage (): SetVariableAction 0%   (0/1)0%   (0/10)0%   (0/2)
getSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage ... 0%   (0/1)0%   (0/10)0%   (0/2)
getSynchronisationPoint_VariableUsage (): SynchronisationPoint 0%   (0/1)0%   (0/10)0%   (0/2)
getUserData_VariableUsage (): UserData 0%   (0/1)0%   (0/10)0%   (0/2)
getVariableCharacterisation_VariableUsage (): EList 0%   (0/1)0%   (0/15)0%   (0/3)
setAssemblyContext__VariableUsage (AssemblyContext): void 0%   (0/1)0%   (0/69)0%   (0/13)
setCallAction__VariableUsage (CallAction): void 0%   (0/1)0%   (0/69)0%   (0/13)
setCallReturnAction__VariableUsage (CallReturnAction): void 0%   (0/1)0%   (0/69)0%   (0/13)
setEntryLevelSystemCall_InputParameterUsage (EntryLevelSystemCall): void 0%   (0/1)0%   (0/69)0%   (0/13)
setEntryLevelSystemCall_OutputParameterUsage (EntryLevelSystemCall): void 0%   (0/1)0%   (0/69)0%   (0/13)
setNamedReference__VariableUsage (AbstractNamedReference): void 0%   (0/1)0%   (0/52)0%   (0/11)
setSetVariableAction_VariableUsage (SetVariableAction): void 0%   (0/1)0%   (0/69)0%   (0/13)
setSpecifiedOutputParameterAbstraction_expectedExternalOutputs_VariableUsage ... 0%   (0/1)0%   (0/69)0%   (0/13)
setSynchronisationPoint_VariableUsage (SynchronisationPoint): void 0%   (0/1)0%   (0/69)0%   (0/13)
setUserData_VariableUsage (UserData): void 0%   (0/1)0%   (0/69)0%   (0/13)

1/**
2 * Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany
3 *
4 * $Id$
5 */
6package de.uka.ipd.sdq.pcm.parameter.impl;
7 
8import java.util.Collection;
9 
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12import org.eclipse.emf.common.util.EList;
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.EObjectImpl;
17import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
18import org.eclipse.emf.ecore.util.EcoreUtil;
19import org.eclipse.emf.ecore.util.InternalEList;
20 
21import de.uka.ipd.sdq.pcm.core.composition.AssemblyContext;
22import de.uka.ipd.sdq.pcm.core.composition.CompositionPackage;
23import de.uka.ipd.sdq.pcm.parameter.ParameterPackage;
24import de.uka.ipd.sdq.pcm.parameter.VariableCharacterisation;
25import de.uka.ipd.sdq.pcm.parameter.VariableUsage;
26import de.uka.ipd.sdq.pcm.qosannotations.QosannotationsPackage;
27import de.uka.ipd.sdq.pcm.qosannotations.SpecifiedOutputParameterAbstraction;
28import de.uka.ipd.sdq.pcm.seff.CallAction;
29import de.uka.ipd.sdq.pcm.seff.CallReturnAction;
30import de.uka.ipd.sdq.pcm.seff.SeffPackage;
31import de.uka.ipd.sdq.pcm.seff.SetVariableAction;
32import de.uka.ipd.sdq.pcm.seff.SynchronisationPoint;
33import de.uka.ipd.sdq.pcm.usagemodel.EntryLevelSystemCall;
34import de.uka.ipd.sdq.pcm.usagemodel.UsagemodelPackage;
35import de.uka.ipd.sdq.pcm.usagemodel.UserData;
36import 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 */
61public 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

[all classes][de.uka.ipd.sdq.pcm.parameter.impl]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov