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 | import java.util.Map; |
10 | |
11 | import org.eclipse.emf.common.notify.Notification; |
12 | import org.eclipse.emf.common.notify.NotificationChain; |
13 | import org.eclipse.emf.common.util.BasicDiagnostic; |
14 | import org.eclipse.emf.common.util.Diagnostic; |
15 | import org.eclipse.emf.common.util.DiagnosticChain; |
16 | import org.eclipse.emf.common.util.EList; |
17 | import org.eclipse.emf.ecore.EClass; |
18 | import org.eclipse.emf.ecore.InternalEObject; |
19 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
20 | import org.eclipse.emf.ecore.plugin.EcorePlugin; |
21 | import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; |
22 | import org.eclipse.emf.ecore.util.EObjectValidator; |
23 | import org.eclipse.emf.ecore.util.EcoreUtil; |
24 | import org.eclipse.emf.ecore.util.InternalEList; |
25 | |
26 | import de.uka.ipd.sdq.identifier.Identifier; |
27 | import de.uka.ipd.sdq.identifier.IdentifierPackage; |
28 | import de.uka.ipd.sdq.identifier.util.IdentifierValidator; |
29 | import de.uka.ipd.sdq.pcm.core.entity.Entity; |
30 | import de.uka.ipd.sdq.pcm.core.entity.EntityPackage; |
31 | import de.uka.ipd.sdq.pcm.core.entity.NamedElement; |
32 | import de.uka.ipd.sdq.pcm.seff.AbstractAction; |
33 | import de.uka.ipd.sdq.pcm.seff.AbstractInternalControlFlowAction; |
34 | import de.uka.ipd.sdq.pcm.seff.InternalCallAction; |
35 | import de.uka.ipd.sdq.pcm.seff.ResourceDemandingBehaviour; |
36 | import de.uka.ipd.sdq.pcm.seff.ResourceDemandingInternalBehaviour; |
37 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
38 | import de.uka.ipd.sdq.pcm.seff.seff_performance.InfrastructureCall; |
39 | import de.uka.ipd.sdq.pcm.seff.seff_performance.ParametricResourceDemand; |
40 | import de.uka.ipd.sdq.pcm.seff.seff_performance.ResourceCall; |
41 | import de.uka.ipd.sdq.pcm.seff.seff_performance.Seff_performancePackage; |
42 | |
43 | /** |
44 | * <!-- begin-user-doc --> |
45 | * An implementation of the model object '<em><b>Internal Call Action</b></em>'. |
46 | * <!-- end-user-doc --> |
47 | * <p> |
48 | * The following features are implemented: |
49 | * <ul> |
50 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getId <em>Id</em>}</li> |
51 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getEntityName <em>Entity Name</em>}</li> |
52 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getPredecessor_AbstractAction <em>Predecessor Abstract Action</em>}</li> |
53 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getSuccessor_AbstractAction <em>Successor Abstract Action</em>}</li> |
54 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getResourceDemandingBehaviour_AbstractAction <em>Resource Demanding Behaviour Abstract Action</em>}</li> |
55 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getResourceDemand_Action <em>Resource Demand Action</em>}</li> |
56 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getInfrastructureCall__Action <em>Infrastructure Call Action</em>}</li> |
57 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getResourceCall__Action <em>Resource Call Action</em>}</li> |
58 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.InternalCallActionImpl#getCalledResourceDemandingInternalBehaviour <em>Called Resource Demanding Internal Behaviour</em>}</li> |
59 | * </ul> |
60 | * </p> |
61 | * |
62 | * @generated |
63 | */ |
64 | public class InternalCallActionImpl extends CallActionImpl implements InternalCallAction { |
65 | /** |
66 | * <!-- begin-user-doc --> |
67 | * <!-- end-user-doc --> |
68 | * @generated |
69 | */ |
70 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
71 | |
72 | /** |
73 | * The default value of the '{@link #getId() <em>Id</em>}' attribute. |
74 | * <!-- begin-user-doc --> |
75 | * <!-- end-user-doc --> |
76 | * @see #getId() |
77 | * @generated |
78 | * @ordered |
79 | */ |
80 | protected static final String ID_EDEFAULT = null; |
81 | |
82 | /** |
83 | * The cached value of the '{@link #getId() <em>Id</em>}' attribute. |
84 | * <!-- begin-user-doc --> |
85 | * <!-- end-user-doc --> |
86 | * @see #getId() |
87 | * @generated |
88 | * @ordered |
89 | */ |
90 | protected String id = ID_EDEFAULT; |
91 | |
92 | /** |
93 | * The default value of the '{@link #getEntityName() <em>Entity Name</em>}' attribute. |
94 | * <!-- begin-user-doc --> |
95 | * <!-- end-user-doc --> |
96 | * @see #getEntityName() |
97 | * @generated |
98 | * @ordered |
99 | */ |
100 | protected static final String ENTITY_NAME_EDEFAULT = "aName"; |
101 | |
102 | /** |
103 | * The cached value of the '{@link #getEntityName() <em>Entity Name</em>}' attribute. |
104 | * <!-- begin-user-doc --> |
105 | * <!-- end-user-doc --> |
106 | * @see #getEntityName() |
107 | * @generated |
108 | * @ordered |
109 | */ |
110 | protected String entityName = ENTITY_NAME_EDEFAULT; |
111 | |
112 | /** |
113 | * The cached value of the '{@link #getPredecessor_AbstractAction() <em>Predecessor Abstract Action</em>}' reference. |
114 | * <!-- begin-user-doc --> |
115 | * <!-- end-user-doc --> |
116 | * @see #getPredecessor_AbstractAction() |
117 | * @generated |
118 | * @ordered |
119 | */ |
120 | protected AbstractAction predecessor_AbstractAction; |
121 | |
122 | /** |
123 | * The cached value of the '{@link #getSuccessor_AbstractAction() <em>Successor Abstract Action</em>}' reference. |
124 | * <!-- begin-user-doc --> |
125 | * <!-- end-user-doc --> |
126 | * @see #getSuccessor_AbstractAction() |
127 | * @generated |
128 | * @ordered |
129 | */ |
130 | protected AbstractAction successor_AbstractAction; |
131 | |
132 | /** |
133 | * The cached value of the '{@link #getResourceDemand_Action() <em>Resource Demand Action</em>}' containment reference list. |
134 | * <!-- begin-user-doc --> |
135 | * <!-- end-user-doc --> |
136 | * @see #getResourceDemand_Action() |
137 | * @generated |
138 | * @ordered |
139 | */ |
140 | protected EList<ParametricResourceDemand> resourceDemand_Action; |
141 | |
142 | /** |
143 | * The cached value of the '{@link #getInfrastructureCall__Action() <em>Infrastructure Call Action</em>}' containment reference list. |
144 | * <!-- begin-user-doc --> |
145 | * <!-- end-user-doc --> |
146 | * @see #getInfrastructureCall__Action() |
147 | * @generated |
148 | * @ordered |
149 | */ |
150 | protected EList<InfrastructureCall> infrastructureCall__Action; |
151 | |
152 | /** |
153 | * The cached value of the '{@link #getResourceCall__Action() <em>Resource Call Action</em>}' containment reference list. |
154 | * <!-- begin-user-doc --> |
155 | * <!-- end-user-doc --> |
156 | * @see #getResourceCall__Action() |
157 | * @generated |
158 | * @ordered |
159 | */ |
160 | protected EList<ResourceCall> resourceCall__Action; |
161 | |
162 | /** |
163 | * The cached value of the '{@link #getCalledResourceDemandingInternalBehaviour() <em>Called Resource Demanding Internal Behaviour</em>}' reference. |
164 | * <!-- begin-user-doc --> |
165 | * <!-- end-user-doc --> |
166 | * @see #getCalledResourceDemandingInternalBehaviour() |
167 | * @generated |
168 | * @ordered |
169 | */ |
170 | protected ResourceDemandingInternalBehaviour calledResourceDemandingInternalBehaviour; |
171 | |
172 | /** |
173 | * <!-- begin-user-doc --> |
174 | * <!-- end-user-doc --> |
175 | * @generated |
176 | */ |
177 | protected InternalCallActionImpl() { |
178 | super(); |
179 | } |
180 | |
181 | /** |
182 | * <!-- begin-user-doc --> |
183 | * <!-- end-user-doc --> |
184 | * @generated |
185 | */ |
186 | @Override |
187 | protected EClass eStaticClass() { |
188 | return SeffPackage.Literals.INTERNAL_CALL_ACTION; |
189 | } |
190 | |
191 | /** |
192 | * <!-- begin-user-doc --> |
193 | * <!-- end-user-doc --> |
194 | * @generated |
195 | */ |
196 | public String getId() { |
197 | return id; |
198 | } |
199 | |
200 | /** |
201 | * <!-- begin-user-doc --> |
202 | * <!-- end-user-doc --> |
203 | * @generated |
204 | */ |
205 | public void setId(String newId) { |
206 | String oldId = id; |
207 | id = newId; |
208 | if (eNotificationRequired()) |
209 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__ID, oldId, id)); |
210 | } |
211 | |
212 | /** |
213 | * <!-- begin-user-doc --> |
214 | * <!-- end-user-doc --> |
215 | * @generated |
216 | */ |
217 | public String getEntityName() { |
218 | return entityName; |
219 | } |
220 | |
221 | /** |
222 | * <!-- begin-user-doc --> |
223 | * <!-- end-user-doc --> |
224 | * @generated |
225 | */ |
226 | public void setEntityName(String newEntityName) { |
227 | String oldEntityName = entityName; |
228 | entityName = newEntityName; |
229 | if (eNotificationRequired()) |
230 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME, oldEntityName, entityName)); |
231 | } |
232 | |
233 | /** |
234 | * <!-- begin-user-doc --> |
235 | * <!-- end-user-doc --> |
236 | * @generated |
237 | */ |
238 | public AbstractAction getPredecessor_AbstractAction() { |
239 | if (predecessor_AbstractAction != null && predecessor_AbstractAction.eIsProxy()) { |
240 | InternalEObject oldPredecessor_AbstractAction = (InternalEObject)predecessor_AbstractAction; |
241 | predecessor_AbstractAction = (AbstractAction)eResolveProxy(oldPredecessor_AbstractAction); |
242 | if (predecessor_AbstractAction != oldPredecessor_AbstractAction) { |
243 | if (eNotificationRequired()) |
244 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION, oldPredecessor_AbstractAction, predecessor_AbstractAction)); |
245 | } |
246 | } |
247 | return predecessor_AbstractAction; |
248 | } |
249 | |
250 | /** |
251 | * <!-- begin-user-doc --> |
252 | * <!-- end-user-doc --> |
253 | * @generated |
254 | */ |
255 | public AbstractAction basicGetPredecessor_AbstractAction() { |
256 | return predecessor_AbstractAction; |
257 | } |
258 | |
259 | /** |
260 | * <!-- begin-user-doc --> |
261 | * <!-- end-user-doc --> |
262 | * @generated |
263 | */ |
264 | public NotificationChain basicSetPredecessor_AbstractAction(AbstractAction newPredecessor_AbstractAction, NotificationChain msgs) { |
265 | AbstractAction oldPredecessor_AbstractAction = predecessor_AbstractAction; |
266 | predecessor_AbstractAction = newPredecessor_AbstractAction; |
267 | if (eNotificationRequired()) { |
268 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION, oldPredecessor_AbstractAction, newPredecessor_AbstractAction); |
269 | if (msgs == null) msgs = notification; else msgs.add(notification); |
270 | } |
271 | return msgs; |
272 | } |
273 | |
274 | /** |
275 | * <!-- begin-user-doc --> |
276 | * <!-- end-user-doc --> |
277 | * @generated |
278 | */ |
279 | public void setPredecessor_AbstractAction(AbstractAction newPredecessor_AbstractAction) { |
280 | if (newPredecessor_AbstractAction != predecessor_AbstractAction) { |
281 | NotificationChain msgs = null; |
282 | if (predecessor_AbstractAction != null) |
283 | msgs = ((InternalEObject)predecessor_AbstractAction).eInverseRemove(this, SeffPackage.ABSTRACT_ACTION__SUCCESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
284 | if (newPredecessor_AbstractAction != null) |
285 | msgs = ((InternalEObject)newPredecessor_AbstractAction).eInverseAdd(this, SeffPackage.ABSTRACT_ACTION__SUCCESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
286 | msgs = basicSetPredecessor_AbstractAction(newPredecessor_AbstractAction, msgs); |
287 | if (msgs != null) msgs.dispatch(); |
288 | } |
289 | else if (eNotificationRequired()) |
290 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION, newPredecessor_AbstractAction, newPredecessor_AbstractAction)); |
291 | } |
292 | |
293 | /** |
294 | * <!-- begin-user-doc --> |
295 | * <!-- end-user-doc --> |
296 | * @generated |
297 | */ |
298 | public AbstractAction getSuccessor_AbstractAction() { |
299 | if (successor_AbstractAction != null && successor_AbstractAction.eIsProxy()) { |
300 | InternalEObject oldSuccessor_AbstractAction = (InternalEObject)successor_AbstractAction; |
301 | successor_AbstractAction = (AbstractAction)eResolveProxy(oldSuccessor_AbstractAction); |
302 | if (successor_AbstractAction != oldSuccessor_AbstractAction) { |
303 | if (eNotificationRequired()) |
304 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION, oldSuccessor_AbstractAction, successor_AbstractAction)); |
305 | } |
306 | } |
307 | return successor_AbstractAction; |
308 | } |
309 | |
310 | /** |
311 | * <!-- begin-user-doc --> |
312 | * <!-- end-user-doc --> |
313 | * @generated |
314 | */ |
315 | public AbstractAction basicGetSuccessor_AbstractAction() { |
316 | return successor_AbstractAction; |
317 | } |
318 | |
319 | /** |
320 | * <!-- begin-user-doc --> |
321 | * <!-- end-user-doc --> |
322 | * @generated |
323 | */ |
324 | public NotificationChain basicSetSuccessor_AbstractAction(AbstractAction newSuccessor_AbstractAction, NotificationChain msgs) { |
325 | AbstractAction oldSuccessor_AbstractAction = successor_AbstractAction; |
326 | successor_AbstractAction = newSuccessor_AbstractAction; |
327 | if (eNotificationRequired()) { |
328 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION, oldSuccessor_AbstractAction, newSuccessor_AbstractAction); |
329 | if (msgs == null) msgs = notification; else msgs.add(notification); |
330 | } |
331 | return msgs; |
332 | } |
333 | |
334 | /** |
335 | * <!-- begin-user-doc --> |
336 | * <!-- end-user-doc --> |
337 | * @generated |
338 | */ |
339 | public void setSuccessor_AbstractAction(AbstractAction newSuccessor_AbstractAction) { |
340 | if (newSuccessor_AbstractAction != successor_AbstractAction) { |
341 | NotificationChain msgs = null; |
342 | if (successor_AbstractAction != null) |
343 | msgs = ((InternalEObject)successor_AbstractAction).eInverseRemove(this, SeffPackage.ABSTRACT_ACTION__PREDECESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
344 | if (newSuccessor_AbstractAction != null) |
345 | msgs = ((InternalEObject)newSuccessor_AbstractAction).eInverseAdd(this, SeffPackage.ABSTRACT_ACTION__PREDECESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
346 | msgs = basicSetSuccessor_AbstractAction(newSuccessor_AbstractAction, msgs); |
347 | if (msgs != null) msgs.dispatch(); |
348 | } |
349 | else if (eNotificationRequired()) |
350 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION, newSuccessor_AbstractAction, newSuccessor_AbstractAction)); |
351 | } |
352 | |
353 | /** |
354 | * <!-- begin-user-doc --> |
355 | * <!-- end-user-doc --> |
356 | * @generated |
357 | */ |
358 | public ResourceDemandingBehaviour getResourceDemandingBehaviour_AbstractAction() { |
359 | if (eContainerFeatureID() != SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION) return null; |
360 | return (ResourceDemandingBehaviour)eContainer(); |
361 | } |
362 | |
363 | /** |
364 | * <!-- begin-user-doc --> |
365 | * <!-- end-user-doc --> |
366 | * @generated |
367 | */ |
368 | public NotificationChain basicSetResourceDemandingBehaviour_AbstractAction(ResourceDemandingBehaviour newResourceDemandingBehaviour_AbstractAction, NotificationChain msgs) { |
369 | msgs = eBasicSetContainer((InternalEObject)newResourceDemandingBehaviour_AbstractAction, SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION, msgs); |
370 | return msgs; |
371 | } |
372 | |
373 | /** |
374 | * <!-- begin-user-doc --> |
375 | * <!-- end-user-doc --> |
376 | * @generated |
377 | */ |
378 | public void setResourceDemandingBehaviour_AbstractAction(ResourceDemandingBehaviour newResourceDemandingBehaviour_AbstractAction) { |
379 | if (newResourceDemandingBehaviour_AbstractAction != eInternalContainer() || (eContainerFeatureID() != SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION && newResourceDemandingBehaviour_AbstractAction != null)) { |
380 | if (EcoreUtil.isAncestor(this, newResourceDemandingBehaviour_AbstractAction)) |
381 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); |
382 | NotificationChain msgs = null; |
383 | if (eInternalContainer() != null) |
384 | msgs = eBasicRemoveFromContainer(msgs); |
385 | if (newResourceDemandingBehaviour_AbstractAction != null) |
386 | msgs = ((InternalEObject)newResourceDemandingBehaviour_AbstractAction).eInverseAdd(this, SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__STEPS_BEHAVIOUR, ResourceDemandingBehaviour.class, msgs); |
387 | msgs = basicSetResourceDemandingBehaviour_AbstractAction(newResourceDemandingBehaviour_AbstractAction, msgs); |
388 | if (msgs != null) msgs.dispatch(); |
389 | } |
390 | else if (eNotificationRequired()) |
391 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION, newResourceDemandingBehaviour_AbstractAction, newResourceDemandingBehaviour_AbstractAction)); |
392 | } |
393 | |
394 | /** |
395 | * <!-- begin-user-doc --> |
396 | * <!-- end-user-doc --> |
397 | * @generated |
398 | */ |
399 | public EList<ParametricResourceDemand> getResourceDemand_Action() { |
400 | if (resourceDemand_Action == null) { |
401 | resourceDemand_Action = new EObjectContainmentWithInverseEList<ParametricResourceDemand>(ParametricResourceDemand.class, this, SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION, Seff_performancePackage.PARAMETRIC_RESOURCE_DEMAND__ACTION_PARAMETRIC_RESOURCE_DEMAND); |
402 | } |
403 | return resourceDemand_Action; |
404 | } |
405 | |
406 | /** |
407 | * <!-- begin-user-doc --> |
408 | * <!-- end-user-doc --> |
409 | * @generated |
410 | */ |
411 | public EList<InfrastructureCall> getInfrastructureCall__Action() { |
412 | if (infrastructureCall__Action == null) { |
413 | infrastructureCall__Action = new EObjectContainmentWithInverseEList<InfrastructureCall>(InfrastructureCall.class, this, SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION, Seff_performancePackage.INFRASTRUCTURE_CALL__ACTION_INFRASTRUCTURE_CALL); |
414 | } |
415 | return infrastructureCall__Action; |
416 | } |
417 | |
418 | /** |
419 | * <!-- begin-user-doc --> |
420 | * <!-- end-user-doc --> |
421 | * @generated |
422 | */ |
423 | public EList<ResourceCall> getResourceCall__Action() { |
424 | if (resourceCall__Action == null) { |
425 | resourceCall__Action = new EObjectContainmentWithInverseEList<ResourceCall>(ResourceCall.class, this, SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION, Seff_performancePackage.RESOURCE_CALL__ACTION_RESOURCE_CALL); |
426 | } |
427 | return resourceCall__Action; |
428 | } |
429 | |
430 | /** |
431 | * <!-- begin-user-doc --> |
432 | * <!-- end-user-doc --> |
433 | * @generated |
434 | */ |
435 | public ResourceDemandingInternalBehaviour getCalledResourceDemandingInternalBehaviour() { |
436 | if (calledResourceDemandingInternalBehaviour != null && calledResourceDemandingInternalBehaviour.eIsProxy()) { |
437 | InternalEObject oldCalledResourceDemandingInternalBehaviour = (InternalEObject)calledResourceDemandingInternalBehaviour; |
438 | calledResourceDemandingInternalBehaviour = (ResourceDemandingInternalBehaviour)eResolveProxy(oldCalledResourceDemandingInternalBehaviour); |
439 | if (calledResourceDemandingInternalBehaviour != oldCalledResourceDemandingInternalBehaviour) { |
440 | if (eNotificationRequired()) |
441 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR, oldCalledResourceDemandingInternalBehaviour, calledResourceDemandingInternalBehaviour)); |
442 | } |
443 | } |
444 | return calledResourceDemandingInternalBehaviour; |
445 | } |
446 | |
447 | /** |
448 | * <!-- begin-user-doc --> |
449 | * <!-- end-user-doc --> |
450 | * @generated |
451 | */ |
452 | public ResourceDemandingInternalBehaviour basicGetCalledResourceDemandingInternalBehaviour() { |
453 | return calledResourceDemandingInternalBehaviour; |
454 | } |
455 | |
456 | /** |
457 | * <!-- begin-user-doc --> |
458 | * <!-- end-user-doc --> |
459 | * @generated |
460 | */ |
461 | public void setCalledResourceDemandingInternalBehaviour(ResourceDemandingInternalBehaviour newCalledResourceDemandingInternalBehaviour) { |
462 | ResourceDemandingInternalBehaviour oldCalledResourceDemandingInternalBehaviour = calledResourceDemandingInternalBehaviour; |
463 | calledResourceDemandingInternalBehaviour = newCalledResourceDemandingInternalBehaviour; |
464 | if (eNotificationRequired()) |
465 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR, oldCalledResourceDemandingInternalBehaviour, calledResourceDemandingInternalBehaviour)); |
466 | } |
467 | |
468 | /** |
469 | * <!-- begin-user-doc --> |
470 | * <!-- end-user-doc --> |
471 | * @generated |
472 | */ |
473 | public boolean idHasToBeUnique(DiagnosticChain diagnostics, Map<Object, Object> context) { |
474 | // TODO: implement this method |
475 | // -> specify the condition that violates the invariant |
476 | // -> verify the details of the diagnostic, including severity and message |
477 | // Ensure that you remove @generated or mark it @generated NOT |
478 | if (false) { |
479 | if (diagnostics != null) { |
480 | diagnostics.add |
481 | (new BasicDiagnostic |
482 | (Diagnostic.ERROR, |
483 | IdentifierValidator.DIAGNOSTIC_SOURCE, |
484 | IdentifierValidator.IDENTIFIER__ID_HAS_TO_BE_UNIQUE, |
485 | EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "idHasToBeUnique", EObjectValidator.getObjectLabel(this, context) }), |
486 | new Object [] { this })); |
487 | } |
488 | return false; |
489 | } |
490 | return true; |
491 | } |
492 | |
493 | /** |
494 | * <!-- begin-user-doc --> |
495 | * <!-- end-user-doc --> |
496 | * @generated |
497 | */ |
498 | @SuppressWarnings("unchecked") |
499 | @Override |
500 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
501 | switch (featureID) { |
502 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
503 | if (predecessor_AbstractAction != null) |
504 | msgs = ((InternalEObject)predecessor_AbstractAction).eInverseRemove(this, SeffPackage.ABSTRACT_ACTION__SUCCESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
505 | return basicSetPredecessor_AbstractAction((AbstractAction)otherEnd, msgs); |
506 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
507 | if (successor_AbstractAction != null) |
508 | msgs = ((InternalEObject)successor_AbstractAction).eInverseRemove(this, SeffPackage.ABSTRACT_ACTION__PREDECESSOR_ABSTRACT_ACTION, AbstractAction.class, msgs); |
509 | return basicSetSuccessor_AbstractAction((AbstractAction)otherEnd, msgs); |
510 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
511 | if (eInternalContainer() != null) |
512 | msgs = eBasicRemoveFromContainer(msgs); |
513 | return basicSetResourceDemandingBehaviour_AbstractAction((ResourceDemandingBehaviour)otherEnd, msgs); |
514 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
515 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getResourceDemand_Action()).basicAdd(otherEnd, msgs); |
516 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
517 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getInfrastructureCall__Action()).basicAdd(otherEnd, msgs); |
518 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
519 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getResourceCall__Action()).basicAdd(otherEnd, msgs); |
520 | } |
521 | return super.eInverseAdd(otherEnd, featureID, msgs); |
522 | } |
523 | |
524 | /** |
525 | * <!-- begin-user-doc --> |
526 | * <!-- end-user-doc --> |
527 | * @generated |
528 | */ |
529 | @Override |
530 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
531 | switch (featureID) { |
532 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
533 | return basicSetPredecessor_AbstractAction(null, msgs); |
534 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
535 | return basicSetSuccessor_AbstractAction(null, msgs); |
536 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
537 | return basicSetResourceDemandingBehaviour_AbstractAction(null, msgs); |
538 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
539 | return ((InternalEList<?>)getResourceDemand_Action()).basicRemove(otherEnd, msgs); |
540 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
541 | return ((InternalEList<?>)getInfrastructureCall__Action()).basicRemove(otherEnd, msgs); |
542 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
543 | return ((InternalEList<?>)getResourceCall__Action()).basicRemove(otherEnd, msgs); |
544 | } |
545 | return super.eInverseRemove(otherEnd, featureID, msgs); |
546 | } |
547 | |
548 | /** |
549 | * <!-- begin-user-doc --> |
550 | * <!-- end-user-doc --> |
551 | * @generated |
552 | */ |
553 | @Override |
554 | public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { |
555 | switch (eContainerFeatureID()) { |
556 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
557 | return eInternalContainer().eInverseRemove(this, SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__STEPS_BEHAVIOUR, ResourceDemandingBehaviour.class, msgs); |
558 | } |
559 | return super.eBasicRemoveFromContainerFeature(msgs); |
560 | } |
561 | |
562 | /** |
563 | * <!-- begin-user-doc --> |
564 | * <!-- end-user-doc --> |
565 | * @generated |
566 | */ |
567 | @Override |
568 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
569 | switch (featureID) { |
570 | case SeffPackage.INTERNAL_CALL_ACTION__ID: |
571 | return getId(); |
572 | case SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME: |
573 | return getEntityName(); |
574 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
575 | if (resolve) return getPredecessor_AbstractAction(); |
576 | return basicGetPredecessor_AbstractAction(); |
577 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
578 | if (resolve) return getSuccessor_AbstractAction(); |
579 | return basicGetSuccessor_AbstractAction(); |
580 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
581 | return getResourceDemandingBehaviour_AbstractAction(); |
582 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
583 | return getResourceDemand_Action(); |
584 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
585 | return getInfrastructureCall__Action(); |
586 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
587 | return getResourceCall__Action(); |
588 | case SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR: |
589 | if (resolve) return getCalledResourceDemandingInternalBehaviour(); |
590 | return basicGetCalledResourceDemandingInternalBehaviour(); |
591 | } |
592 | return super.eGet(featureID, resolve, coreType); |
593 | } |
594 | |
595 | /** |
596 | * <!-- begin-user-doc --> |
597 | * <!-- end-user-doc --> |
598 | * @generated |
599 | */ |
600 | @SuppressWarnings("unchecked") |
601 | @Override |
602 | public void eSet(int featureID, Object newValue) { |
603 | switch (featureID) { |
604 | case SeffPackage.INTERNAL_CALL_ACTION__ID: |
605 | setId((String)newValue); |
606 | return; |
607 | case SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME: |
608 | setEntityName((String)newValue); |
609 | return; |
610 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
611 | setPredecessor_AbstractAction((AbstractAction)newValue); |
612 | return; |
613 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
614 | setSuccessor_AbstractAction((AbstractAction)newValue); |
615 | return; |
616 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
617 | setResourceDemandingBehaviour_AbstractAction((ResourceDemandingBehaviour)newValue); |
618 | return; |
619 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
620 | getResourceDemand_Action().clear(); |
621 | getResourceDemand_Action().addAll((Collection<? extends ParametricResourceDemand>)newValue); |
622 | return; |
623 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
624 | getInfrastructureCall__Action().clear(); |
625 | getInfrastructureCall__Action().addAll((Collection<? extends InfrastructureCall>)newValue); |
626 | return; |
627 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
628 | getResourceCall__Action().clear(); |
629 | getResourceCall__Action().addAll((Collection<? extends ResourceCall>)newValue); |
630 | return; |
631 | case SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR: |
632 | setCalledResourceDemandingInternalBehaviour((ResourceDemandingInternalBehaviour)newValue); |
633 | return; |
634 | } |
635 | super.eSet(featureID, newValue); |
636 | } |
637 | |
638 | /** |
639 | * <!-- begin-user-doc --> |
640 | * <!-- end-user-doc --> |
641 | * @generated |
642 | */ |
643 | @Override |
644 | public void eUnset(int featureID) { |
645 | switch (featureID) { |
646 | case SeffPackage.INTERNAL_CALL_ACTION__ID: |
647 | setId(ID_EDEFAULT); |
648 | return; |
649 | case SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME: |
650 | setEntityName(ENTITY_NAME_EDEFAULT); |
651 | return; |
652 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
653 | setPredecessor_AbstractAction((AbstractAction)null); |
654 | return; |
655 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
656 | setSuccessor_AbstractAction((AbstractAction)null); |
657 | return; |
658 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
659 | setResourceDemandingBehaviour_AbstractAction((ResourceDemandingBehaviour)null); |
660 | return; |
661 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
662 | getResourceDemand_Action().clear(); |
663 | return; |
664 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
665 | getInfrastructureCall__Action().clear(); |
666 | return; |
667 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
668 | getResourceCall__Action().clear(); |
669 | return; |
670 | case SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR: |
671 | setCalledResourceDemandingInternalBehaviour((ResourceDemandingInternalBehaviour)null); |
672 | return; |
673 | } |
674 | super.eUnset(featureID); |
675 | } |
676 | |
677 | /** |
678 | * <!-- begin-user-doc --> |
679 | * <!-- end-user-doc --> |
680 | * @generated |
681 | */ |
682 | @Override |
683 | public boolean eIsSet(int featureID) { |
684 | switch (featureID) { |
685 | case SeffPackage.INTERNAL_CALL_ACTION__ID: |
686 | return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id); |
687 | case SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME: |
688 | return ENTITY_NAME_EDEFAULT == null ? entityName != null : !ENTITY_NAME_EDEFAULT.equals(entityName); |
689 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: |
690 | return predecessor_AbstractAction != null; |
691 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: |
692 | return successor_AbstractAction != null; |
693 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: |
694 | return getResourceDemandingBehaviour_AbstractAction() != null; |
695 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: |
696 | return resourceDemand_Action != null && !resourceDemand_Action.isEmpty(); |
697 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: |
698 | return infrastructureCall__Action != null && !infrastructureCall__Action.isEmpty(); |
699 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: |
700 | return resourceCall__Action != null && !resourceCall__Action.isEmpty(); |
701 | case SeffPackage.INTERNAL_CALL_ACTION__CALLED_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR: |
702 | return calledResourceDemandingInternalBehaviour != null; |
703 | } |
704 | return super.eIsSet(featureID); |
705 | } |
706 | |
707 | /** |
708 | * <!-- begin-user-doc --> |
709 | * <!-- end-user-doc --> |
710 | * @generated |
711 | */ |
712 | @Override |
713 | public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { |
714 | if (baseClass == Identifier.class) { |
715 | switch (derivedFeatureID) { |
716 | case SeffPackage.INTERNAL_CALL_ACTION__ID: return IdentifierPackage.IDENTIFIER__ID; |
717 | default: return -1; |
718 | } |
719 | } |
720 | if (baseClass == NamedElement.class) { |
721 | switch (derivedFeatureID) { |
722 | case SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME: return EntityPackage.NAMED_ELEMENT__ENTITY_NAME; |
723 | default: return -1; |
724 | } |
725 | } |
726 | if (baseClass == Entity.class) { |
727 | switch (derivedFeatureID) { |
728 | default: return -1; |
729 | } |
730 | } |
731 | if (baseClass == AbstractAction.class) { |
732 | switch (derivedFeatureID) { |
733 | case SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION: return SeffPackage.ABSTRACT_ACTION__PREDECESSOR_ABSTRACT_ACTION; |
734 | case SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION: return SeffPackage.ABSTRACT_ACTION__SUCCESSOR_ABSTRACT_ACTION; |
735 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: return SeffPackage.ABSTRACT_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION; |
736 | default: return -1; |
737 | } |
738 | } |
739 | if (baseClass == AbstractInternalControlFlowAction.class) { |
740 | switch (derivedFeatureID) { |
741 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION: return SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION; |
742 | case SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION: return SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION; |
743 | case SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION: return SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION; |
744 | default: return -1; |
745 | } |
746 | } |
747 | return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); |
748 | } |
749 | |
750 | /** |
751 | * <!-- begin-user-doc --> |
752 | * <!-- end-user-doc --> |
753 | * @generated |
754 | */ |
755 | @Override |
756 | public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { |
757 | if (baseClass == Identifier.class) { |
758 | switch (baseFeatureID) { |
759 | case IdentifierPackage.IDENTIFIER__ID: return SeffPackage.INTERNAL_CALL_ACTION__ID; |
760 | default: return -1; |
761 | } |
762 | } |
763 | if (baseClass == NamedElement.class) { |
764 | switch (baseFeatureID) { |
765 | case EntityPackage.NAMED_ELEMENT__ENTITY_NAME: return SeffPackage.INTERNAL_CALL_ACTION__ENTITY_NAME; |
766 | default: return -1; |
767 | } |
768 | } |
769 | if (baseClass == Entity.class) { |
770 | switch (baseFeatureID) { |
771 | default: return -1; |
772 | } |
773 | } |
774 | if (baseClass == AbstractAction.class) { |
775 | switch (baseFeatureID) { |
776 | case SeffPackage.ABSTRACT_ACTION__PREDECESSOR_ABSTRACT_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__PREDECESSOR_ABSTRACT_ACTION; |
777 | case SeffPackage.ABSTRACT_ACTION__SUCCESSOR_ABSTRACT_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__SUCCESSOR_ABSTRACT_ACTION; |
778 | case SeffPackage.ABSTRACT_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION; |
779 | default: return -1; |
780 | } |
781 | } |
782 | if (baseClass == AbstractInternalControlFlowAction.class) { |
783 | switch (baseFeatureID) { |
784 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_DEMAND_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_DEMAND_ACTION; |
785 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__INFRASTRUCTURE_CALL_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__INFRASTRUCTURE_CALL_ACTION; |
786 | case SeffPackage.ABSTRACT_INTERNAL_CONTROL_FLOW_ACTION__RESOURCE_CALL_ACTION: return SeffPackage.INTERNAL_CALL_ACTION__RESOURCE_CALL_ACTION; |
787 | default: return -1; |
788 | } |
789 | } |
790 | return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); |
791 | } |
792 | |
793 | /** |
794 | * <!-- begin-user-doc --> |
795 | * <!-- end-user-doc --> |
796 | * @generated |
797 | */ |
798 | @Override |
799 | public String toString() { |
800 | if (eIsProxy()) return super.toString(); |
801 | |
802 | StringBuffer result = new StringBuffer(super.toString()); |
803 | result.append(" (id: "); |
804 | result.append(id); |
805 | result.append(", entityName: "); |
806 | result.append(entityName); |
807 | result.append(')'); |
808 | return result.toString(); |
809 | } |
810 | |
811 | } //InternalCallActionImpl |