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.seff.AbstractInternalControlFlowAction; |
18 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
19 | import de.uka.ipd.sdq.pcm.seff.seff_performance.InfrastructureCall; |
20 | import de.uka.ipd.sdq.pcm.seff.seff_performance.ParametricResourceDemand; |
21 | import de.uka.ipd.sdq.pcm.seff.seff_performance.ResourceCall; |
22 | import de.uka.ipd.sdq.pcm.seff.seff_performance.Seff_performancePackage; |
23 | |
24 | /** |
25 | * <!-- begin-user-doc --> |
26 | * An implementation of the model object '<em><b>Abstract Internal Control Flow Action</b></em>'. |
27 | * <!-- end-user-doc --> |
28 | * <p> |
29 | * The following features are implemented: |
30 | * <ul> |
31 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.AbstractInternalControlFlowActionImpl#getResourceDemand_Action <em>Resource Demand Action</em>}</li> |
32 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.AbstractInternalControlFlowActionImpl#getInfrastructureCall__Action <em>Infrastructure Call Action</em>}</li> |
33 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.AbstractInternalControlFlowActionImpl#getResourceCall__Action <em>Resource Call Action</em>}</li> |
34 | * </ul> |
35 | * </p> |
36 | * |
37 | * @generated |
38 | */ |
39 | public abstract class AbstractInternalControlFlowActionImpl extends AbstractActionImpl implements AbstractInternalControlFlowAction { |
40 | /** |
41 | * <!-- begin-user-doc --> |
42 | * <!-- end-user-doc --> |
43 | * @generated |
44 | */ |
45 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
46 | |
47 | /** |
48 | * The cached value of the '{@link #getResourceDemand_Action() <em>Resource Demand Action</em>}' containment reference list. |
49 | * <!-- begin-user-doc --> |
50 | * <!-- end-user-doc --> |
51 | * @see #getResourceDemand_Action() |
52 | * @generated |
53 | * @ordered |
54 | */ |
55 | protected EList<ParametricResourceDemand> resourceDemand_Action; |
56 | |
57 | /** |
58 | * The cached value of the '{@link #getInfrastructureCall__Action() <em>Infrastructure Call Action</em>}' containment reference list. |
59 | * <!-- begin-user-doc --> |
60 | * <!-- end-user-doc --> |
61 | * @see #getInfrastructureCall__Action() |
62 | * @generated |
63 | * @ordered |
64 | */ |
65 | protected EList<InfrastructureCall> infrastructureCall__Action; |
66 | |
67 | /** |
68 | * The cached value of the '{@link #getResourceCall__Action() <em>Resource Call Action</em>}' containment reference list. |
69 | * <!-- begin-user-doc --> |
70 | * <!-- end-user-doc --> |
71 | * @see #getResourceCall__Action() |
72 | * @generated |
73 | * @ordered |
74 | */ |
75 | protected EList<ResourceCall> resourceCall__Action; |
76 | |
77 | /** |
78 | * <!-- begin-user-doc --> |
79 | * <!-- end-user-doc --> |
80 | * @generated |
81 | */ |
82 | protected AbstractInternalControlFlowActionImpl() { |
83 | super(); |
84 | } |
85 | |
86 | /** |
87 | * <!-- begin-user-doc --> |
88 | * <!-- end-user-doc --> |
89 | * @generated |
90 | */ |
91 | @Override |
92 | protected EClass eStaticClass() { |
93 | return SeffPackage.Literals.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION; |
94 | } |
95 | |
96 | /** |
97 | * <!-- begin-user-doc --> |
98 | * <!-- end-user-doc --> |
99 | * @generated |
100 | */ |
101 | public EList<ParametricResourceDemand> getResourceDemand_Action() { |
102 | if (resourceDemand_Action == null) { |
103 | resourceDemand_Action = new EObjectContainmentWithInverseEList<ParametricResourceDemand>(ParametricResourceDemand.class, this, SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION, Seff_performancePackage.PARAMETRIC_RESOURCE_DEMAND__ACTION_PARAMETRIC_RESOURCE_DEMAND); |
104 | } |
105 | return resourceDemand_Action; |
106 | } |
107 | |
108 | /** |
109 | * <!-- begin-user-doc --> |
110 | * <!-- end-user-doc --> |
111 | * @generated |
112 | */ |
113 | public EList<InfrastructureCall> getInfrastructureCall__Action() { |
114 | if (infrastructureCall__Action == null) { |
115 | infrastructureCall__Action = new EObjectContainmentWithInverseEList<InfrastructureCall>(InfrastructureCall.class, this, SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION, Seff_performancePackage.INFRASTRUCTURE_CALL__ACTION_INFRASTRUCTURE_CALL); |
116 | } |
117 | return infrastructureCall__Action; |
118 | } |
119 | |
120 | /** |
121 | * <!-- begin-user-doc --> |
122 | * <!-- end-user-doc --> |
123 | * @generated |
124 | */ |
125 | public EList<ResourceCall> getResourceCall__Action() { |
126 | if (resourceCall__Action == null) { |
127 | resourceCall__Action = new EObjectContainmentWithInverseEList<ResourceCall>(ResourceCall.class, this, SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION, Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL); |
128 | } |
129 | return resourceCall__Action; |
130 | } |
131 | |
132 | /** |
133 | * <!-- begin-user-doc --> |
134 | * <!-- end-user-doc --> |
135 | * @generated |
136 | */ |
137 | @SuppressWarnings("unchecked") |
138 | @Override |
139 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
140 | switch (featureID) { |
141 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
142 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getResourceDemand_Action()).basicAdd(otherEnd, msgs); |
143 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
144 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getInfrastructureCall__Action()).basicAdd(otherEnd, msgs); |
145 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
146 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getResourceCall__Action()).basicAdd(otherEnd, msgs); |
147 | } |
148 | return super.eInverseAdd(otherEnd, featureID, msgs); |
149 | } |
150 | |
151 | /** |
152 | * <!-- begin-user-doc --> |
153 | * <!-- end-user-doc --> |
154 | * @generated |
155 | */ |
156 | @Override |
157 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
158 | switch (featureID) { |
159 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
160 | return ((InternalEList<?>)getResourceDemand_Action()).basicRemove(otherEnd, msgs); |
161 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
162 | return ((InternalEList<?>)getInfrastructureCall__Action()).basicRemove(otherEnd, msgs); |
163 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
164 | return ((InternalEList<?>)getResourceCall__Action()).basicRemove(otherEnd, msgs); |
165 | } |
166 | return super.eInverseRemove(otherEnd, featureID, msgs); |
167 | } |
168 | |
169 | /** |
170 | * <!-- begin-user-doc --> |
171 | * <!-- end-user-doc --> |
172 | * @generated |
173 | */ |
174 | @Override |
175 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
176 | switch (featureID) { |
177 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
178 | return getResourceDemand_Action(); |
179 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
180 | return getInfrastructureCall__Action(); |
181 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
182 | return getResourceCall__Action(); |
183 | } |
184 | return super.eGet(featureID, resolve, coreType); |
185 | } |
186 | |
187 | /** |
188 | * <!-- begin-user-doc --> |
189 | * <!-- end-user-doc --> |
190 | * @generated |
191 | */ |
192 | @SuppressWarnings("unchecked") |
193 | @Override |
194 | public void eSet(int featureID, Object newValue) { |
195 | switch (featureID) { |
196 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
197 | getResourceDemand_Action().clear(); |
198 | getResourceDemand_Action().addAll((Collection<? extends ParametricResourceDemand>)newValue); |
199 | return; |
200 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
201 | getInfrastructureCall__Action().clear(); |
202 | getInfrastructureCall__Action().addAll((Collection<? extends InfrastructureCall>)newValue); |
203 | return; |
204 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
205 | getResourceCall__Action().clear(); |
206 | getResourceCall__Action().addAll((Collection<? extends ResourceCall>)newValue); |
207 | return; |
208 | } |
209 | super.eSet(featureID, newValue); |
210 | } |
211 | |
212 | /** |
213 | * <!-- begin-user-doc --> |
214 | * <!-- end-user-doc --> |
215 | * @generated |
216 | */ |
217 | @Override |
218 | public void eUnset(int featureID) { |
219 | switch (featureID) { |
220 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
221 | getResourceDemand_Action().clear(); |
222 | return; |
223 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
224 | getInfrastructureCall__Action().clear(); |
225 | return; |
226 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
227 | getResourceCall__Action().clear(); |
228 | return; |
229 | } |
230 | super.eUnset(featureID); |
231 | } |
232 | |
233 | /** |
234 | * <!-- begin-user-doc --> |
235 | * <!-- end-user-doc --> |
236 | * @generated |
237 | */ |
238 | @Override |
239 | public boolean eIsSet(int featureID) { |
240 | switch (featureID) { |
241 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: |
242 | return resourceDemand_Action != null && !resourceDemand_Action.isEmpty(); |
243 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: |
244 | return infrastructureCall__Action != null && !infrastructureCall__Action.isEmpty(); |
245 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: |
246 | return resourceCall__Action != null && !resourceCall__Action.isEmpty(); |
247 | } |
248 | return super.eIsSet(featureID); |
249 | } |
250 | |
251 | } //AbstractInternalControlFlowActionImpl |