1 | /** |
2 | * Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany |
3 | * |
4 | * $Id$ |
5 | */ |
6 | package de.uka.ipd.sdq.pcm.seff.impl; |
7 | |
8 | import java.util.Collection; |
9 | |
10 | import org.eclipse.emf.common.notify.NotificationChain; |
11 | import org.eclipse.emf.common.util.EList; |
12 | import org.eclipse.emf.ecore.EClass; |
13 | import org.eclipse.emf.ecore.InternalEObject; |
14 | import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; |
15 | import org.eclipse.emf.ecore.util.InternalEList; |
16 | |
17 | import de.uka.ipd.sdq.pcm.parameter.ParameterPackage; |
18 | import de.uka.ipd.sdq.pcm.parameter.VariableUsage; |
19 | import de.uka.ipd.sdq.pcm.seff.CallReturnAction; |
20 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
21 | |
22 | /** |
23 | * <!-- begin-user-doc --> |
24 | * An implementation of the model object '<em><b>Call Return Action</b></em>'. |
25 | * <!-- end-user-doc --> |
26 | * <p> |
27 | * The following features are implemented: |
28 | * <ul> |
29 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.CallReturnActionImpl#getReturnVariableUsage__CallReturnAction <em>Return Variable Usage Call Return Action</em>}</li> |
30 | * </ul> |
31 | * </p> |
32 | * |
33 | * @generated |
34 | */ |
35 | public class CallReturnActionImpl extends CallActionImpl implements CallReturnAction { |
36 | /** |
37 | * <!-- begin-user-doc --> |
38 | * <!-- end-user-doc --> |
39 | * @generated |
40 | */ |
41 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
42 | |
43 | /** |
44 | * The cached value of the '{@link #getReturnVariableUsage__CallReturnAction() <em>Return Variable Usage Call Return Action</em>}' containment reference list. |
45 | * <!-- begin-user-doc --> |
46 | * <!-- end-user-doc --> |
47 | * @see #getReturnVariableUsage__CallReturnAction() |
48 | * @generated |
49 | * @ordered |
50 | */ |
51 | protected EList<VariableUsage> returnVariableUsage__CallReturnAction; |
52 | |
53 | /** |
54 | * <!-- begin-user-doc --> |
55 | * <!-- end-user-doc --> |
56 | * @generated |
57 | */ |
58 | protected CallReturnActionImpl() { |
59 | super(); |
60 | } |
61 | |
62 | /** |
63 | * <!-- begin-user-doc --> |
64 | * <!-- end-user-doc --> |
65 | * @generated |
66 | */ |
67 | @Override |
68 | protected EClass eStaticClass() { |
69 | return SeffPackage.Literals.CALL_RETURN_ACTION; |
70 | } |
71 | |
72 | /** |
73 | * <!-- begin-user-doc --> |
74 | * <!-- end-user-doc --> |
75 | * @generated |
76 | */ |
77 | public EList<VariableUsage> getReturnVariableUsage__CallReturnAction() { |
78 | if (returnVariableUsage__CallReturnAction == null) { |
79 | returnVariableUsage__CallReturnAction = new EObjectContainmentWithInverseEList<VariableUsage>(VariableUsage.class, this, SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION, ParameterPackage.VARIABLE_USAGE__CALL_RETURN_ACTION_VARIABLE_USAGE); |
80 | } |
81 | return returnVariableUsage__CallReturnAction; |
82 | } |
83 | |
84 | /** |
85 | * <!-- begin-user-doc --> |
86 | * <!-- end-user-doc --> |
87 | * @generated |
88 | */ |
89 | @SuppressWarnings("unchecked") |
90 | @Override |
91 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
92 | switch (featureID) { |
93 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
94 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getReturnVariableUsage__CallReturnAction()).basicAdd(otherEnd, msgs); |
95 | } |
96 | return super.eInverseAdd(otherEnd, featureID, msgs); |
97 | } |
98 | |
99 | /** |
100 | * <!-- begin-user-doc --> |
101 | * <!-- end-user-doc --> |
102 | * @generated |
103 | */ |
104 | @Override |
105 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
106 | switch (featureID) { |
107 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
108 | return ((InternalEList<?>)getReturnVariableUsage__CallReturnAction()).basicRemove(otherEnd, msgs); |
109 | } |
110 | return super.eInverseRemove(otherEnd, featureID, msgs); |
111 | } |
112 | |
113 | /** |
114 | * <!-- begin-user-doc --> |
115 | * <!-- end-user-doc --> |
116 | * @generated |
117 | */ |
118 | @Override |
119 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
120 | switch (featureID) { |
121 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
122 | return getReturnVariableUsage__CallReturnAction(); |
123 | } |
124 | return super.eGet(featureID, resolve, coreType); |
125 | } |
126 | |
127 | /** |
128 | * <!-- begin-user-doc --> |
129 | * <!-- end-user-doc --> |
130 | * @generated |
131 | */ |
132 | @SuppressWarnings("unchecked") |
133 | @Override |
134 | public void eSet(int featureID, Object newValue) { |
135 | switch (featureID) { |
136 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
137 | getReturnVariableUsage__CallReturnAction().clear(); |
138 | getReturnVariableUsage__CallReturnAction().addAll((Collection<? extends VariableUsage>)newValue); |
139 | return; |
140 | } |
141 | super.eSet(featureID, newValue); |
142 | } |
143 | |
144 | /** |
145 | * <!-- begin-user-doc --> |
146 | * <!-- end-user-doc --> |
147 | * @generated |
148 | */ |
149 | @Override |
150 | public void eUnset(int featureID) { |
151 | switch (featureID) { |
152 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
153 | getReturnVariableUsage__CallReturnAction().clear(); |
154 | return; |
155 | } |
156 | super.eUnset(featureID); |
157 | } |
158 | |
159 | /** |
160 | * <!-- begin-user-doc --> |
161 | * <!-- end-user-doc --> |
162 | * @generated |
163 | */ |
164 | @Override |
165 | public boolean eIsSet(int featureID) { |
166 | switch (featureID) { |
167 | case SeffPackage.CALL_RETURN_ACTION__RETURN_VARIABLE_USAGE_CALL_RETURN_ACTION: |
168 | return returnVariableUsage__CallReturnAction != null && !returnVariableUsage__CallReturnAction.isEmpty(); |
169 | } |
170 | return super.eIsSet(featureID); |
171 | } |
172 | |
173 | } //CallReturnActionImpl |