1 | /** |
2 | * Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany |
3 | * |
4 | * $Id$ |
5 | */ |
6 | package de.uka.ipd.sdq.pcm.seff.seff_performance.impl; |
7 | |
8 | import java.util.Map; |
9 | |
10 | import org.eclipse.emf.common.notify.Notification; |
11 | import org.eclipse.emf.common.notify.NotificationChain; |
12 | import org.eclipse.emf.common.util.BasicDiagnostic; |
13 | import org.eclipse.emf.common.util.Diagnostic; |
14 | import org.eclipse.emf.common.util.DiagnosticChain; |
15 | import org.eclipse.emf.ecore.EClass; |
16 | import org.eclipse.emf.ecore.InternalEObject; |
17 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
18 | import org.eclipse.emf.ecore.plugin.EcorePlugin; |
19 | import org.eclipse.emf.ecore.util.EObjectValidator; |
20 | import org.eclipse.emf.ecore.util.EcoreUtil; |
21 | import org.eclipse.ocl.ParserException; |
22 | import org.eclipse.ocl.ecore.Constraint; |
23 | import org.eclipse.ocl.ecore.OCL; |
24 | |
25 | import de.uka.ipd.sdq.pcm.core.CorePackage; |
26 | import de.uka.ipd.sdq.pcm.core.PCMRandomVariable; |
27 | import de.uka.ipd.sdq.pcm.core.entity.ResourceRequiredRole; |
28 | import de.uka.ipd.sdq.pcm.resourcetype.ResourceSignature; |
29 | import de.uka.ipd.sdq.pcm.seff.AbstractInternalControlFlowAction; |
30 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
31 | import de.uka.ipd.sdq.pcm.seff.impl.CallActionImpl; |
32 | import de.uka.ipd.sdq.pcm.seff.seff_performance.ResourceCall; |
33 | import de.uka.ipd.sdq.pcm.seff.seff_performance.Seff_performancePackage; |
34 | import de.uka.ipd.sdq.pcm.seff.seff_performance.util.Seff_performanceValidator; |
35 | |
36 | /** |
37 | * <!-- begin-user-doc --> |
38 | * An implementation of the model object '<em><b>Resource Call</b></em>'. |
39 | * <!-- end-user-doc --> |
40 | * <p> |
41 | * The following features are implemented: |
42 | * <ul> |
43 | * <li>{@link de.uka.ipd.sdq.pcm.seff.seff_performance.impl.ResourceCallImpl#getAction__ResourceCall <em>Action Resource Call</em>}</li> |
44 | * <li>{@link de.uka.ipd.sdq.pcm.seff.seff_performance.impl.ResourceCallImpl#getResourceRequiredRole__ResourceCall <em>Resource Required Role Resource Call</em>}</li> |
45 | * <li>{@link de.uka.ipd.sdq.pcm.seff.seff_performance.impl.ResourceCallImpl#getSignature__ResourceCall <em>Signature Resource Call</em>}</li> |
46 | * <li>{@link de.uka.ipd.sdq.pcm.seff.seff_performance.impl.ResourceCallImpl#getNumberOfCalls__ResourceCall <em>Number Of Calls Resource Call</em>}</li> |
47 | * </ul> |
48 | * </p> |
49 | * |
50 | * @generated |
51 | */ |
52 | public class ResourceCallImpl extends CallActionImpl implements ResourceCall { |
53 | /** |
54 | * <!-- begin-user-doc --> |
55 | * <!-- end-user-doc --> |
56 | * @generated |
57 | */ |
58 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
59 | |
60 | /** |
61 | * The cached value of the '{@link #getResourceRequiredRole__ResourceCall() <em>Resource Required Role Resource Call</em>}' reference. |
62 | * <!-- begin-user-doc --> |
63 | * <!-- end-user-doc --> |
64 | * @see #getResourceRequiredRole__ResourceCall() |
65 | * @generated |
66 | * @ordered |
67 | */ |
68 | protected ResourceRequiredRole resourceRequiredRole__ResourceCall; |
69 | |
70 | /** |
71 | * The cached value of the '{@link #getSignature__ResourceCall() <em>Signature Resource Call</em>}' reference. |
72 | * <!-- begin-user-doc --> |
73 | * <!-- end-user-doc --> |
74 | * @see #getSignature__ResourceCall() |
75 | * @generated |
76 | * @ordered |
77 | */ |
78 | protected ResourceSignature signature__ResourceCall; |
79 | |
80 | /** |
81 | * The cached value of the '{@link #getNumberOfCalls__ResourceCall() <em>Number Of Calls Resource Call</em>}' containment reference. |
82 | * <!-- begin-user-doc --> |
83 | * <!-- end-user-doc --> |
84 | * @see #getNumberOfCalls__ResourceCall() |
85 | * @generated |
86 | * @ordered |
87 | */ |
88 | protected PCMRandomVariable numberOfCalls__ResourceCall; |
89 | |
90 | /** |
91 | * <!-- begin-user-doc --> |
92 | * <!-- end-user-doc --> |
93 | * @generated |
94 | */ |
95 | protected ResourceCallImpl() { |
96 | super(); |
97 | } |
98 | |
99 | /** |
100 | * <!-- begin-user-doc --> |
101 | * <!-- end-user-doc --> |
102 | * @generated |
103 | */ |
104 | @Override |
105 | protected EClass eStaticClass() { |
106 | return Seff_performancePackage.Literals.RESOURCE_CALL; |
107 | } |
108 | |
109 | /** |
110 | * <!-- begin-user-doc --> |
111 | * <!-- end-user-doc --> |
112 | * @generated |
113 | */ |
114 | public AbstractInternalControlFlowAction getAction__ResourceCall() { |
115 | if (eContainerFeatureID() != Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL) return null; |
116 | return (AbstractInternalControlFlowAction)eContainer(); |
117 | } |
118 | |
119 | /** |
120 | * <!-- begin-user-doc --> |
121 | * <!-- end-user-doc --> |
122 | * @generated |
123 | */ |
124 | public NotificationChain basicSetAction__ResourceCall(AbstractInternalControlFlowAction newAction__ResourceCall, NotificationChain msgs) { |
125 | msgs = eBasicSetContainer((InternalEObject)newAction__ResourceCall, Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL, msgs); |
126 | return msgs; |
127 | } |
128 | |
129 | /** |
130 | * <!-- begin-user-doc --> |
131 | * <!-- end-user-doc --> |
132 | * @generated |
133 | */ |
134 | public void setAction__ResourceCall(AbstractInternalControlFlowAction newAction__ResourceCall) { |
135 | if (newAction__ResourceCall != eInternalContainer() || (eContainerFeatureID() != Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL && newAction__ResourceCall != null)) { |
136 | if (EcoreUtil.isAncestor(this, newAction__ResourceCall)) |
137 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
138 | NotificationChain msgs = null; |
139 | if (eInternalContainer() != null) |
140 | msgs = eBasicRemoveFromContainer(msgs); |
141 | if (newAction__ResourceCall != null) |
142 | msgs = ((InternalEObject)newAction__ResourceCall).eInverseAdd(this, SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION, AbstractInternalControlFlowAction.class, msgs); |
143 | msgs = basicSetAction__ResourceCall(newAction__ResourceCall, msgs); |
144 | if (msgs != null) msgs.dispatch(); |
145 | } |
146 | else if (eNotificationRequired()) |
147 | eNotify(new ENotificationImpl(this, Notification.SET, Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL, newAction__ResourceCall, newAction__ResourceCall)); |
148 | } |
149 | |
150 | /** |
151 | * <!-- begin-user-doc --> |
152 | * <!-- end-user-doc --> |
153 | * @generated |
154 | */ |
155 | public ResourceRequiredRole getResourceRequiredRole__ResourceCall() { |
156 | if (resourceRequiredRole__ResourceCall != null && resourceRequiredRole__ResourceCall.eIsProxy()) { |
157 | InternalEObject oldResourceRequiredRole__ResourceCall = (InternalEObject)resourceRequiredRole__ResourceCall; |
158 | resourceRequiredRole__ResourceCall = (ResourceRequiredRole)eResolveProxy(oldResourceRequiredRole__ResourceCall); |
159 | if (resourceRequiredRole__ResourceCall != oldResourceRequiredRole__ResourceCall) { |
160 | if (eNotificationRequired()) |
161 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL, oldResourceRequiredRole__ResourceCall, resourceRequiredRole__ResourceCall)); |
162 | } |
163 | } |
164 | return resourceRequiredRole__ResourceCall; |
165 | } |
166 | |
167 | /** |
168 | * <!-- begin-user-doc --> |
169 | * <!-- end-user-doc --> |
170 | * @generated |
171 | */ |
172 | public ResourceRequiredRole basicGetResourceRequiredRole__ResourceCall() { |
173 | return resourceRequiredRole__ResourceCall; |
174 | } |
175 | |
176 | /** |
177 | * <!-- begin-user-doc --> |
178 | * <!-- end-user-doc --> |
179 | * @generated |
180 | */ |
181 | public void setResourceRequiredRole__ResourceCall(ResourceRequiredRole newResourceRequiredRole__ResourceCall) { |
182 | ResourceRequiredRole oldResourceRequiredRole__ResourceCall = resourceRequiredRole__ResourceCall; |
183 | resourceRequiredRole__ResourceCall = newResourceRequiredRole__ResourceCall; |
184 | if (eNotificationRequired()) |
185 | eNotify(new ENotificationImpl(this, Notification.SET, Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL, oldResourceRequiredRole__ResourceCall, resourceRequiredRole__ResourceCall)); |
186 | } |
187 | |
188 | /** |
189 | * <!-- begin-user-doc --> |
190 | * <!-- end-user-doc --> |
191 | * @generated |
192 | */ |
193 | public ResourceSignature getSignature__ResourceCall() { |
194 | if (signature__ResourceCall != null && signature__ResourceCall.eIsProxy()) { |
195 | InternalEObject oldSignature__ResourceCall = (InternalEObject)signature__ResourceCall; |
196 | signature__ResourceCall = (ResourceSignature)eResolveProxy(oldSignature__ResourceCall); |
197 | if (signature__ResourceCall != oldSignature__ResourceCall) { |
198 | if (eNotificationRequired()) |
199 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL, oldSignature__ResourceCall, signature__ResourceCall)); |
200 | } |
201 | } |
202 | return signature__ResourceCall; |
203 | } |
204 | |
205 | /** |
206 | * <!-- begin-user-doc --> |
207 | * <!-- end-user-doc --> |
208 | * @generated |
209 | */ |
210 | public ResourceSignature basicGetSignature__ResourceCall() { |
211 | return signature__ResourceCall; |
212 | } |
213 | |
214 | /** |
215 | * <!-- begin-user-doc --> |
216 | * <!-- end-user-doc --> |
217 | * @generated |
218 | */ |
219 | public void setSignature__ResourceCall(ResourceSignature newSignature__ResourceCall) { |
220 | ResourceSignature oldSignature__ResourceCall = signature__ResourceCall; |
221 | signature__ResourceCall = newSignature__ResourceCall; |
222 | if (eNotificationRequired()) |
223 | eNotify(new ENotificationImpl(this, Notification.SET, Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL, oldSignature__ResourceCall, signature__ResourceCall)); |
224 | } |
225 | |
226 | /** |
227 | * <!-- begin-user-doc --> |
228 | * <!-- end-user-doc --> |
229 | * @generated |
230 | */ |
231 | public PCMRandomVariable getNumberOfCalls__ResourceCall() { |
232 | return numberOfCalls__ResourceCall; |
233 | } |
234 | |
235 | /** |
236 | * <!-- begin-user-doc --> |
237 | * <!-- end-user-doc --> |
238 | * @generated |
239 | */ |
240 | public NotificationChain basicSetNumberOfCalls__ResourceCall(PCMRandomVariable newNumberOfCalls__ResourceCall, NotificationChain msgs) { |
241 | PCMRandomVariable oldNumberOfCalls__ResourceCall = numberOfCalls__ResourceCall; |
242 | numberOfCalls__ResourceCall = newNumberOfCalls__ResourceCall; |
243 | if (eNotificationRequired()) { |
244 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL, oldNumberOfCalls__ResourceCall, newNumberOfCalls__ResourceCall); |
245 | if (msgs == null) msgs = notification; else msgs.add(notification); |
246 | } |
247 | return msgs; |
248 | } |
249 | |
250 | /** |
251 | * <!-- begin-user-doc --> |
252 | * <!-- end-user-doc --> |
253 | * @generated |
254 | */ |
255 | public void setNumberOfCalls__ResourceCall(PCMRandomVariable newNumberOfCalls__ResourceCall) { |
256 | if (newNumberOfCalls__ResourceCall != numberOfCalls__ResourceCall) { |
257 | NotificationChain msgs = null; |
258 | if (numberOfCalls__ResourceCall != null) |
259 | msgs = ((InternalEObject)numberOfCalls__ResourceCall).eInverseRemove(this, CorePackage.PCM_RANDOM_VARIABLE__RESOURCE_CALL_PCM_RANDOM_VARIABLE, PCMRandomVariable.class, msgs); |
260 | if (newNumberOfCalls__ResourceCall != null) |
261 | msgs = ((InternalEObject)newNumberOfCalls__ResourceCall).eInverseAdd(this, CorePackage.PCM_RANDOM_VARIABLE__RESOURCE_CALL_PCM_RANDOM_VARIABLE, PCMRandomVariable.class, msgs); |
262 | msgs = basicSetNumberOfCalls__ResourceCall(newNumberOfCalls__ResourceCall, msgs); |
263 | if (msgs != null) msgs.dispatch(); |
264 | } |
265 | else if (eNotificationRequired()) |
266 | eNotify(new ENotificationImpl(this, Notification.SET, Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL, newNumberOfCalls__ResourceCall, newNumberOfCalls__ResourceCall)); |
267 | } |
268 | |
269 | /** |
270 | * The cached OCL expression body for the '{@link #ResourceSignatureBelongsToResourceRequiredRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Signature Belongs To Resource Required Role</em>}' operation. |
271 | * <!-- begin-user-doc --> |
272 | * <!-- end-user-doc --> |
273 | * @see #ResourceSignatureBelongsToResourceRequiredRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) |
274 | * @generated |
275 | * @ordered |
276 | */ |
277 | protected static final String RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.resourceRequiredRole__ResourceCall.requiredResourceInterface__ResourceRequiredRole.resourceSignatures__ResourceInterface->includes(self.signature__ResourceCall)"; |
278 | |
279 | /** |
280 | * The cached OCL invariant for the '{@link #ResourceSignatureBelongsToResourceRequiredRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Signature Belongs To Resource Required Role</em>}' invariant operation. |
281 | * <!-- begin-user-doc --> |
282 | * <!-- end-user-doc --> |
283 | * @see #ResourceSignatureBelongsToResourceRequiredRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) |
284 | * @generated |
285 | * @ordered |
286 | */ |
287 | protected static Constraint RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV; |
288 | |
289 | /** |
290 | * <!-- begin-user-doc --> |
291 | * <!-- end-user-doc --> |
292 | * @generated |
293 | */ |
294 | public boolean ResourceSignatureBelongsToResourceRequiredRole(DiagnosticChain diagnostics, Map<Object, Object> context) { |
295 | if (RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) { |
296 | OCL.Helper helper = EOCL_ENV.createOCLHelper(); |
297 | helper.setContext(Seff_performancePackage.Literals.RESOURCE_CALL); |
298 | try { |
299 | RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP); |
300 | } |
301 | catch (ParserException pe) { |
302 | throw new UnsupportedOperationException(pe.getLocalizedMessage()); |
303 | } |
304 | } |
305 | if (!EOCL_ENV.createQuery(RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(this)) { |
306 | if (diagnostics != null) { |
307 | diagnostics.add |
308 | (new BasicDiagnostic |
309 | (Diagnostic.ERROR, |
310 | Seff_performanceValidator.DIAGNOSTIC_SOURCE, |
311 | Seff_performanceValidator.RESOURCE_CALL__RESOURCE_SIGNATURE_BELONGS_TO_RESOURCE_REQUIRED_ROLE, |
312 | EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceSignatureBelongsToResourceRequiredRole", EObjectValidator.getObjectLabel(this, context) }), |
313 | new Object [] { this })); |
314 | } |
315 | return false; |
316 | } |
317 | return true; |
318 | } |
319 | |
320 | /** |
321 | * <!-- begin-user-doc --> |
322 | * <!-- end-user-doc --> |
323 | * @generated |
324 | */ |
325 | @Override |
326 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
327 | switch (featureID) { |
328 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
329 | if (eInternalContainer() != null) |
330 | msgs = eBasicRemoveFromContainer(msgs); |
331 | return basicSetAction__ResourceCall((AbstractInternalControlFlowAction)otherEnd, msgs); |
332 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
333 | if (numberOfCalls__ResourceCall != null) |
334 | msgs = ((InternalEObject)numberOfCalls__ResourceCall).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL, null, msgs); |
335 | return basicSetNumberOfCalls__ResourceCall((PCMRandomVariable)otherEnd, msgs); |
336 | } |
337 | return super.eInverseAdd(otherEnd, featureID, msgs); |
338 | } |
339 | |
340 | /** |
341 | * <!-- begin-user-doc --> |
342 | * <!-- end-user-doc --> |
343 | * @generated |
344 | */ |
345 | @Override |
346 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
347 | switch (featureID) { |
348 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
349 | return basicSetAction__ResourceCall(null, msgs); |
350 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
351 | return basicSetNumberOfCalls__ResourceCall(null, msgs); |
352 | } |
353 | return super.eInverseRemove(otherEnd, featureID, msgs); |
354 | } |
355 | |
356 | /** |
357 | * <!-- begin-user-doc --> |
358 | * <!-- end-user-doc --> |
359 | * @generated |
360 | */ |
361 | @Override |
362 | public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { |
363 | switch (eContainerFeatureID()) { |
364 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
365 | return eInternalContainer().eInverseRemove(this, SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION, AbstractInternalControlFlowAction.class, msgs); |
366 | } |
367 | return super.eBasicRemoveFromContainerFeature(msgs); |
368 | } |
369 | |
370 | /** |
371 | * <!-- begin-user-doc --> |
372 | * <!-- end-user-doc --> |
373 | * @generated |
374 | */ |
375 | @Override |
376 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
377 | switch (featureID) { |
378 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
379 | return getAction__ResourceCall(); |
380 | case Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL: |
381 | if (resolve) return getResourceRequiredRole__ResourceCall(); |
382 | return basicGetResourceRequiredRole__ResourceCall(); |
383 | case Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL: |
384 | if (resolve) return getSignature__ResourceCall(); |
385 | return basicGetSignature__ResourceCall(); |
386 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
387 | return getNumberOfCalls__ResourceCall(); |
388 | } |
389 | return super.eGet(featureID, resolve, coreType); |
390 | } |
391 | |
392 | /** |
393 | * <!-- begin-user-doc --> |
394 | * <!-- end-user-doc --> |
395 | * @generated |
396 | */ |
397 | @Override |
398 | public void eSet(int featureID, Object newValue) { |
399 | switch (featureID) { |
400 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
401 | setAction__ResourceCall((AbstractInternalControlFlowAction)newValue); |
402 | return; |
403 | case Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL: |
404 | setResourceRequiredRole__ResourceCall((ResourceRequiredRole)newValue); |
405 | return; |
406 | case Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL: |
407 | setSignature__ResourceCall((ResourceSignature)newValue); |
408 | return; |
409 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
410 | setNumberOfCalls__ResourceCall((PCMRandomVariable)newValue); |
411 | return; |
412 | } |
413 | super.eSet(featureID, newValue); |
414 | } |
415 | |
416 | /** |
417 | * <!-- begin-user-doc --> |
418 | * <!-- end-user-doc --> |
419 | * @generated |
420 | */ |
421 | @Override |
422 | public void eUnset(int featureID) { |
423 | switch (featureID) { |
424 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
425 | setAction__ResourceCall((AbstractInternalControlFlowAction)null); |
426 | return; |
427 | case Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL: |
428 | setResourceRequiredRole__ResourceCall((ResourceRequiredRole)null); |
429 | return; |
430 | case Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL: |
431 | setSignature__ResourceCall((ResourceSignature)null); |
432 | return; |
433 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
434 | setNumberOfCalls__ResourceCall((PCMRandomVariable)null); |
435 | return; |
436 | } |
437 | super.eUnset(featureID); |
438 | } |
439 | |
440 | /** |
441 | * <!-- begin-user-doc --> |
442 | * <!-- end-user-doc --> |
443 | * @generated |
444 | */ |
445 | @Override |
446 | public boolean eIsSet(int featureID) { |
447 | switch (featureID) { |
448 | case Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL: |
449 | return getAction__ResourceCall() != null; |
450 | case Seff_performancePackage.RESOURCE_CALL__RESOURCE_REQUIRED_ROLE_RESOURCE_CALL: |
451 | return resourceRequiredRole__ResourceCall != null; |
452 | case Seff_performancePackage.RESOURCE_CALL__SIGNATURE_RESOURCE_CALL: |
453 | return signature__ResourceCall != null; |
454 | case Seff_performancePackage.RESOURCE_CALL__NUMBER_OF_CALLS_RESOURCE_CALL: |
455 | return numberOfCalls__ResourceCall != null; |
456 | } |
457 | return super.eIsSet(featureID); |
458 | } |
459 | |
460 | /** |
461 | * The cached environment for evaluating OCL expressions. |
462 | * <!-- begin-user-doc --> |
463 | * <!-- end-user-doc --> |
464 | * @generated |
465 | * @ordered |
466 | */ |
467 | protected static final OCL EOCL_ENV = OCL.newInstance(); |
468 | |
469 | } //ResourceCallImpl |