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

COVERAGE SUMMARY FOR SOURCE FILE [ResourceDemandingSEFFImpl.java]

nameclass, %method, %block, %line, %
ResourceDemandingSEFFImpl.java0%   (0/1)0%   (0/33)0%   (0/1052)0%   (0/262)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ResourceDemandingSEFFImpl0%   (0/1)0%   (0/33)0%   (0/1052)0%   (0/262)
<static initializer> 0%   (0/1)0%   (0/3)0%   (0/2)
EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor (Di... 0%   (0/1)0%   (0/62)0%   (0/17)
ExactlyOneStartAction (DiagnosticChain, Map): boolean 0%   (0/1)0%   (0/62)0%   (0/17)
ExactlyOneStopAction (DiagnosticChain, Map): boolean 0%   (0/1)0%   (0/62)0%   (0/17)
ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole (DiagnosticC... 0%   (0/1)0%   (0/62)0%   (0/17)
ResourceDemandingSEFFImpl (): void 0%   (0/1)0%   (0/6)0%   (0/3)
basicGetDescribedService__SEFF (): Signature 0%   (0/1)0%   (0/3)0%   (0/1)
basicSetAbstractBranchTransition_ResourceDemandingBehaviour (AbstractBranchTr... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetAbstractLoopAction_ResourceDemandingBehaviour (AbstractLoopAction, No... 0%   (0/1)0%   (0/9)0%   (0/2)
basicSetBasicComponent_ServiceEffectSpecification (BasicComponent, Notificati... 0%   (0/1)0%   (0/9)0%   (0/2)
eBaseStructuralFeatureID (int, Class): int 0%   (0/1)0%   (0/31)0%   (0/13)
eBasicRemoveFromContainerFeature (NotificationChain): NotificationChain 0%   (0/1)0%   (0/31)0%   (0/5)
eDerivedStructuralFeatureID (int, Class): int 0%   (0/1)0%   (0/31)0%   (0/13)
eGet (int, boolean, boolean): Object 0%   (0/1)0%   (0/34)0%   (0/10)
eInverseAdd (InternalEObject, int, NotificationChain): NotificationChain 0%   (0/1)0%   (0/61)0%   (0/13)
eInverseRemove (InternalEObject, int, NotificationChain): NotificationChain 0%   (0/1)0%   (0/37)0%   (0/7)
eIsSet (int): boolean 0%   (0/1)0%   (0/74)0%   (0/9)
eSet (int, Object): void 0%   (0/1)0%   (0/52)0%   (0/19)
eStaticClass (): EClass 0%   (0/1)0%   (0/2)0%   (0/1)
eUnset (int): void 0%   (0/1)0%   (0/34)0%   (0/17)
getAbstractBranchTransition_ResourceDemandingBehaviour (): AbstractBranchTran... 0%   (0/1)0%   (0/10)0%   (0/2)
getAbstractLoopAction_ResourceDemandingBehaviour (): AbstractLoopAction 0%   (0/1)0%   (0/10)0%   (0/2)
getBasicComponent_ServiceEffectSpecification (): BasicComponent 0%   (0/1)0%   (0/10)0%   (0/2)
getDescribedService__SEFF (): Signature 0%   (0/1)0%   (0/38)0%   (0/7)
getResourceDemandingInternalBehaviours (): EList 0%   (0/1)0%   (0/15)0%   (0/3)
getSeffTypeID (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getSteps_Behaviour (): EList 0%   (0/1)0%   (0/15)0%   (0/3)
setAbstractBranchTransition_ResourceDemandingBehaviour (AbstractBranchTransit... 0%   (0/1)0%   (0/69)0%   (0/13)
setAbstractLoopAction_ResourceDemandingBehaviour (AbstractLoopAction): void 0%   (0/1)0%   (0/69)0%   (0/13)
setBasicComponent_ServiceEffectSpecification (BasicComponent): void 0%   (0/1)0%   (0/69)0%   (0/13)
setDescribedService__SEFF (Signature): void 0%   (0/1)0%   (0/21)0%   (0/5)
setSeffTypeID (String): void 0%   (0/1)0%   (0/21)0%   (0/5)
toString (): String 0%   (0/1)0%   (0/28)0%   (0/6)

1/**
2 * Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany
3 *
4 * $Id$
5 */
6package de.uka.ipd.sdq.pcm.seff.impl;
7 
8import java.util.Collection;
9import java.util.Map;
10 
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13import org.eclipse.emf.common.util.BasicDiagnostic;
14import org.eclipse.emf.common.util.Diagnostic;
15import org.eclipse.emf.common.util.DiagnosticChain;
16import org.eclipse.emf.common.util.EList;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.plugin.EcorePlugin;
21import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
22import org.eclipse.emf.ecore.util.EObjectValidator;
23import org.eclipse.emf.ecore.util.EcoreUtil;
24import org.eclipse.emf.ecore.util.InternalEList;
25import org.eclipse.ocl.ParserException;
26import org.eclipse.ocl.ecore.Constraint;
27import org.eclipse.ocl.ecore.OCL;
28 
29import de.uka.ipd.sdq.identifier.impl.IdentifierImpl;
30import de.uka.ipd.sdq.pcm.repository.BasicComponent;
31import de.uka.ipd.sdq.pcm.repository.RepositoryPackage;
32import de.uka.ipd.sdq.pcm.repository.Signature;
33import de.uka.ipd.sdq.pcm.seff.AbstractAction;
34import de.uka.ipd.sdq.pcm.seff.AbstractBranchTransition;
35import de.uka.ipd.sdq.pcm.seff.AbstractLoopAction;
36import de.uka.ipd.sdq.pcm.seff.ResourceDemandingBehaviour;
37import de.uka.ipd.sdq.pcm.seff.ResourceDemandingInternalBehaviour;
38import de.uka.ipd.sdq.pcm.seff.ResourceDemandingSEFF;
39import de.uka.ipd.sdq.pcm.seff.SeffPackage;
40import de.uka.ipd.sdq.pcm.seff.ServiceEffectSpecification;
41import de.uka.ipd.sdq.pcm.seff.util.SeffValidator;
42 
43/**
44 * <!-- begin-user-doc -->
45 * An implementation of the model object '<em><b>Resource Demanding SEFF</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.ResourceDemandingSEFFImpl#getSeffTypeID <em>Seff Type ID</em>}</li>
51 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getDescribedService__SEFF <em>Described Service SEFF</em>}</li>
52 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getBasicComponent_ServiceEffectSpecification <em>Basic Component Service Effect Specification</em>}</li>
53 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getAbstractLoopAction_ResourceDemandingBehaviour <em>Abstract Loop Action Resource Demanding Behaviour</em>}</li>
54 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getAbstractBranchTransition_ResourceDemandingBehaviour <em>Abstract Branch Transition Resource Demanding Behaviour</em>}</li>
55 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getSteps_Behaviour <em>Steps Behaviour</em>}</li>
56 *   <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ResourceDemandingSEFFImpl#getResourceDemandingInternalBehaviours <em>Resource Demanding Internal Behaviours</em>}</li>
57 * </ul>
58 * </p>
59 *
60 * @generated
61 */
62public class ResourceDemandingSEFFImpl extends IdentifierImpl implements ResourceDemandingSEFF {
63        /**
64         * <!-- begin-user-doc -->
65         * <!-- end-user-doc -->
66         * @generated
67         */
68        public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany";
69 
70        /**
71         * The default value of the '{@link #getSeffTypeID() <em>Seff Type ID</em>}' attribute.
72         * <!-- begin-user-doc -->
73         * <!-- end-user-doc -->
74         * @see #getSeffTypeID()
75         * @generated
76         * @ordered
77         */
78        protected static final String SEFF_TYPE_ID_EDEFAULT = "1";
79 
80        /**
81         * The cached value of the '{@link #getSeffTypeID() <em>Seff Type ID</em>}' attribute.
82         * <!-- begin-user-doc -->
83         * <!-- end-user-doc -->
84         * @see #getSeffTypeID()
85         * @generated
86         * @ordered
87         */
88        protected String seffTypeID = SEFF_TYPE_ID_EDEFAULT;
89 
90        /**
91         * The cached value of the '{@link #getDescribedService__SEFF() <em>Described Service SEFF</em>}' reference.
92         * <!-- begin-user-doc -->
93         * <!-- end-user-doc -->
94         * @see #getDescribedService__SEFF()
95         * @generated
96         * @ordered
97         */
98        protected Signature describedService__SEFF;
99 
100        /**
101         * The cached value of the '{@link #getSteps_Behaviour() <em>Steps Behaviour</em>}' containment reference list.
102         * <!-- begin-user-doc -->
103         * <!-- end-user-doc -->
104         * @see #getSteps_Behaviour()
105         * @generated
106         * @ordered
107         */
108        protected EList<AbstractAction> steps_Behaviour;
109 
110        /**
111         * The cached value of the '{@link #getResourceDemandingInternalBehaviours() <em>Resource Demanding Internal Behaviours</em>}' containment reference list.
112         * <!-- begin-user-doc -->
113         * <!-- end-user-doc -->
114         * @see #getResourceDemandingInternalBehaviours()
115         * @generated
116         * @ordered
117         */
118        protected EList<ResourceDemandingInternalBehaviour> resourceDemandingInternalBehaviours;
119 
120        /**
121         * <!-- begin-user-doc -->
122         * <!-- end-user-doc -->
123         * @generated
124         */
125        protected ResourceDemandingSEFFImpl() {
126                super();
127        }
128 
129        /**
130         * <!-- begin-user-doc -->
131         * <!-- end-user-doc -->
132         * @generated
133         */
134        @Override
135        protected EClass eStaticClass() {
136                return SeffPackage.Literals.RESOURCE_DEMANDING_SEFF;
137        }
138 
139        /**
140         * <!-- begin-user-doc -->
141         * <!-- end-user-doc -->
142         * @generated
143         */
144        public String getSeffTypeID() {
145                return seffTypeID;
146        }
147 
148        /**
149         * <!-- begin-user-doc -->
150         * <!-- end-user-doc -->
151         * @generated
152         */
153        public void setSeffTypeID(String newSeffTypeID) {
154                String oldSeffTypeID = seffTypeID;
155                seffTypeID = newSeffTypeID;
156                if (eNotificationRequired())
157                        eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID, oldSeffTypeID, seffTypeID));
158        }
159 
160        /**
161         * <!-- begin-user-doc -->
162         * <!-- end-user-doc -->
163         * @generated
164         */
165        public Signature getDescribedService__SEFF() {
166                if (describedService__SEFF != null && describedService__SEFF.eIsProxy()) {
167                        InternalEObject oldDescribedService__SEFF = (InternalEObject)describedService__SEFF;
168                        describedService__SEFF = (Signature)eResolveProxy(oldDescribedService__SEFF);
169                        if (describedService__SEFF != oldDescribedService__SEFF) {
170                                if (eNotificationRequired())
171                                        eNotify(new ENotificationImpl(this, Notification.RESOLVE, SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF, oldDescribedService__SEFF, describedService__SEFF));
172                        }
173                }
174                return describedService__SEFF;
175        }
176 
177        /**
178         * <!-- begin-user-doc -->
179         * <!-- end-user-doc -->
180         * @generated
181         */
182        public Signature basicGetDescribedService__SEFF() {
183                return describedService__SEFF;
184        }
185 
186        /**
187         * <!-- begin-user-doc -->
188         * <!-- end-user-doc -->
189         * @generated
190         */
191        public void setDescribedService__SEFF(Signature newDescribedService__SEFF) {
192                Signature oldDescribedService__SEFF = describedService__SEFF;
193                describedService__SEFF = newDescribedService__SEFF;
194                if (eNotificationRequired())
195                        eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF, oldDescribedService__SEFF, describedService__SEFF));
196        }
197 
198        /**
199         * <!-- begin-user-doc -->
200         * <!-- end-user-doc -->
201         * @generated
202         */
203        public BasicComponent getBasicComponent_ServiceEffectSpecification() {
204                if (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION) return null;
205                return (BasicComponent)eContainer();
206        }
207 
208        /**
209         * <!-- begin-user-doc -->
210         * <!-- end-user-doc -->
211         * @generated
212         */
213        public NotificationChain basicSetBasicComponent_ServiceEffectSpecification(BasicComponent newBasicComponent_ServiceEffectSpecification, NotificationChain msgs) {
214                msgs = eBasicSetContainer((InternalEObject)newBasicComponent_ServiceEffectSpecification, SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION, msgs);
215                return msgs;
216        }
217 
218        /**
219         * <!-- begin-user-doc -->
220         * <!-- end-user-doc -->
221         * @generated
222         */
223        public void setBasicComponent_ServiceEffectSpecification(BasicComponent newBasicComponent_ServiceEffectSpecification) {
224                if (newBasicComponent_ServiceEffectSpecification != eInternalContainer() || (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION && newBasicComponent_ServiceEffectSpecification != null)) {
225                        if (EcoreUtil.isAncestor(this, newBasicComponent_ServiceEffectSpecification))
226                                throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
227                        NotificationChain msgs = null;
228                        if (eInternalContainer() != null)
229                                msgs = eBasicRemoveFromContainer(msgs);
230                        if (newBasicComponent_ServiceEffectSpecification != null)
231                                msgs = ((InternalEObject)newBasicComponent_ServiceEffectSpecification).eInverseAdd(this, RepositoryPackage.BASIC_COMPONENT__SERVICE_EFFECT_SPECIFICATIONS_BASIC_COMPONENT, BasicComponent.class, msgs);
232                        msgs = basicSetBasicComponent_ServiceEffectSpecification(newBasicComponent_ServiceEffectSpecification, msgs);
233                        if (msgs != null) msgs.dispatch();
234                }
235                else if (eNotificationRequired())
236                        eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION, newBasicComponent_ServiceEffectSpecification, newBasicComponent_ServiceEffectSpecification));
237        }
238 
239        /**
240         * <!-- begin-user-doc -->
241         * <!-- end-user-doc -->
242         * @generated
243         */
244        public AbstractLoopAction getAbstractLoopAction_ResourceDemandingBehaviour() {
245                if (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR) return null;
246                return (AbstractLoopAction)eContainer();
247        }
248 
249        /**
250         * <!-- begin-user-doc -->
251         * <!-- end-user-doc -->
252         * @generated
253         */
254        public NotificationChain basicSetAbstractLoopAction_ResourceDemandingBehaviour(AbstractLoopAction newAbstractLoopAction_ResourceDemandingBehaviour, NotificationChain msgs) {
255                msgs = eBasicSetContainer((InternalEObject)newAbstractLoopAction_ResourceDemandingBehaviour, SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR, msgs);
256                return msgs;
257        }
258 
259        /**
260         * <!-- begin-user-doc -->
261         * <!-- end-user-doc -->
262         * @generated
263         */
264        public void setAbstractLoopAction_ResourceDemandingBehaviour(AbstractLoopAction newAbstractLoopAction_ResourceDemandingBehaviour) {
265                if (newAbstractLoopAction_ResourceDemandingBehaviour != eInternalContainer() || (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR && newAbstractLoopAction_ResourceDemandingBehaviour != null)) {
266                        if (EcoreUtil.isAncestor(this, newAbstractLoopAction_ResourceDemandingBehaviour))
267                                throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
268                        NotificationChain msgs = null;
269                        if (eInternalContainer() != null)
270                                msgs = eBasicRemoveFromContainer(msgs);
271                        if (newAbstractLoopAction_ResourceDemandingBehaviour != null)
272                                msgs = ((InternalEObject)newAbstractLoopAction_ResourceDemandingBehaviour).eInverseAdd(this, SeffPackage.ABSTRACT_LOOP_ACTION__BODY_BEHAVIOUR_LOOP, AbstractLoopAction.class, msgs);
273                        msgs = basicSetAbstractLoopAction_ResourceDemandingBehaviour(newAbstractLoopAction_ResourceDemandingBehaviour, msgs);
274                        if (msgs != null) msgs.dispatch();
275                }
276                else if (eNotificationRequired())
277                        eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR, newAbstractLoopAction_ResourceDemandingBehaviour, newAbstractLoopAction_ResourceDemandingBehaviour));
278        }
279 
280        /**
281         * <!-- begin-user-doc -->
282         * <!-- end-user-doc -->
283         * @generated
284         */
285        public AbstractBranchTransition getAbstractBranchTransition_ResourceDemandingBehaviour() {
286                if (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR) return null;
287                return (AbstractBranchTransition)eContainer();
288        }
289 
290        /**
291         * <!-- begin-user-doc -->
292         * <!-- end-user-doc -->
293         * @generated
294         */
295        public NotificationChain basicSetAbstractBranchTransition_ResourceDemandingBehaviour(AbstractBranchTransition newAbstractBranchTransition_ResourceDemandingBehaviour, NotificationChain msgs) {
296                msgs = eBasicSetContainer((InternalEObject)newAbstractBranchTransition_ResourceDemandingBehaviour, SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR, msgs);
297                return msgs;
298        }
299 
300        /**
301         * <!-- begin-user-doc -->
302         * <!-- end-user-doc -->
303         * @generated
304         */
305        public void setAbstractBranchTransition_ResourceDemandingBehaviour(AbstractBranchTransition newAbstractBranchTransition_ResourceDemandingBehaviour) {
306                if (newAbstractBranchTransition_ResourceDemandingBehaviour != eInternalContainer() || (eContainerFeatureID() != SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR && newAbstractBranchTransition_ResourceDemandingBehaviour != null)) {
307                        if (EcoreUtil.isAncestor(this, newAbstractBranchTransition_ResourceDemandingBehaviour))
308                                throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
309                        NotificationChain msgs = null;
310                        if (eInternalContainer() != null)
311                                msgs = eBasicRemoveFromContainer(msgs);
312                        if (newAbstractBranchTransition_ResourceDemandingBehaviour != null)
313                                msgs = ((InternalEObject)newAbstractBranchTransition_ResourceDemandingBehaviour).eInverseAdd(this, SeffPackage.ABSTRACT_BRANCH_TRANSITION__BRANCH_BEHAVIOUR_BRANCH_TRANSITION, AbstractBranchTransition.class, msgs);
314                        msgs = basicSetAbstractBranchTransition_ResourceDemandingBehaviour(newAbstractBranchTransition_ResourceDemandingBehaviour, msgs);
315                        if (msgs != null) msgs.dispatch();
316                }
317                else if (eNotificationRequired())
318                        eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR, newAbstractBranchTransition_ResourceDemandingBehaviour, newAbstractBranchTransition_ResourceDemandingBehaviour));
319        }
320 
321        /**
322         * <!-- begin-user-doc -->
323         * <!-- end-user-doc -->
324         * @generated
325         */
326        public EList<AbstractAction> getSteps_Behaviour() {
327                if (steps_Behaviour == null) {
328                        steps_Behaviour = new EObjectContainmentWithInverseEList<AbstractAction>(AbstractAction.class, this, SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR, SeffPackage.ABSTRACT_ACTION__RESOURCE_DEMANDING_BEHAVIOUR_ABSTRACT_ACTION);
329                }
330                return steps_Behaviour;
331        }
332 
333        /**
334         * <!-- begin-user-doc -->
335         * <!-- end-user-doc -->
336         * @generated
337         */
338        public EList<ResourceDemandingInternalBehaviour> getResourceDemandingInternalBehaviours() {
339                if (resourceDemandingInternalBehaviours == null) {
340                        resourceDemandingInternalBehaviours = new EObjectContainmentWithInverseEList<ResourceDemandingInternalBehaviour>(ResourceDemandingInternalBehaviour.class, this, SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS, SeffPackage.RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR__RESOURCE_DEMANDING_SEFF_RESOURCE_DEMANDING_INTERNAL_BEHAVIOUR);
341                }
342                return resourceDemandingInternalBehaviours;
343        }
344 
345        /**
346         * The cached OCL expression body for the '{@link #ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Referenced Signature Must Belong To Interface Referenced By Provided Role</em>}' operation.
347         * <!-- begin-user-doc -->
348         * <!-- end-user-doc -->
349         * @see #ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
350         * @generated
351         * @ordered
352         */
353        protected static final String REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "if self.describedService__SEFF.oclIsKindOf(pcm::repository::OperationSignature) then\n"+"        self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::OperationProvidedRole) and (p.oclAsType(pcm::repository::OperationProvidedRole).providedInterface__OperationProvidedRole = self.describedService__SEFF.oclAsType(pcm::repository::OperationSignature).interface__OperationSignature))\n"+"else\n"+"        if self.describedService__SEFF.oclIsKindOf(pcm::repository::EventType) then\n"+"                self.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::SinkRole) and (p.oclAsType(pcm::repository::SinkRole).eventGroup__SinkRole = self.describedService__SEFF.oclAsType(pcm::repository::EventType).eventGroup__EventType))\n"+"        else\n"+"                true\n"+"        endif\n"+"endif";
354 
355        /**
356         * The cached OCL invariant for the '{@link #ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Referenced Signature Must Belong To Interface Referenced By Provided Role</em>}' invariant operation.
357         * <!-- begin-user-doc -->
358         * <!-- end-user-doc -->
359         * @see #ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
360         * @generated
361         * @ordered
362         */
363        protected static Constraint REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV;
364 
365        /**
366         * <!-- begin-user-doc -->
367         * <!-- end-user-doc -->
368         * @generated
369         */
370        public boolean ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole(DiagnosticChain diagnostics, Map<Object, Object> context) {
371                if (REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) {
372                        OCL.Helper helper = EOCL_ENV.createOCLHelper();
373                        helper.setContext(SeffPackage.Literals.SERVICE_EFFECT_SPECIFICATION);
374                        try {
375                                REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP);
376                        }
377                        catch (ParserException pe) {
378                                throw new UnsupportedOperationException(pe.getLocalizedMessage());
379                        }
380                }
381                if (!EOCL_ENV.createQuery(REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(this)) {
382                        if (diagnostics != null) {
383                                diagnostics.add
384                                        (new BasicDiagnostic
385                                                (Diagnostic.ERROR,
386                                                 SeffValidator.DIAGNOSTIC_SOURCE,
387                                                 SeffValidator.SERVICE_EFFECT_SPECIFICATION__REFERENCED_SIGNATURE_MUST_BELONG_TO_INTERFACE_REFERENCED_BY_PROVIDED_ROLE,
388                                                 EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole", EObjectValidator.getObjectLabel(this, context) }),
389                                                 new Object [] { this }));
390                        }
391                        return false;
392                }
393                return true;
394        }
395 
396        /**
397         * The cached OCL expression body for the '{@link #ExactlyOneStopAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Exactly One Stop Action</em>}' operation.
398         * <!-- begin-user-doc -->
399         * <!-- end-user-doc -->
400         * @see #ExactlyOneStopAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
401         * @generated
402         * @ordered
403         */
404        protected static final String EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.steps_Behaviour->select(s|s.oclIsTypeOf(StopAction))->size() = 1";
405 
406        /**
407         * The cached OCL invariant for the '{@link #ExactlyOneStopAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Exactly One Stop Action</em>}' invariant operation.
408         * <!-- begin-user-doc -->
409         * <!-- end-user-doc -->
410         * @see #ExactlyOneStopAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
411         * @generated
412         * @ordered
413         */
414        protected static Constraint EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV;
415 
416        /**
417         * <!-- begin-user-doc -->
418         * <!-- end-user-doc -->
419         * @generated
420         */
421        public boolean ExactlyOneStopAction(DiagnosticChain diagnostics, Map<Object, Object> context) {
422                if (EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) {
423                        OCL.Helper helper = EOCL_ENV.createOCLHelper();
424                        helper.setContext(SeffPackage.Literals.RESOURCE_DEMANDING_BEHAVIOUR);
425                        try {
426                                EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP);
427                        }
428                        catch (ParserException pe) {
429                                throw new UnsupportedOperationException(pe.getLocalizedMessage());
430                        }
431                }
432                if (!EOCL_ENV.createQuery(EXACTLY_ONE_STOP_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(this)) {
433                        if (diagnostics != null) {
434                                diagnostics.add
435                                        (new BasicDiagnostic
436                                                (Diagnostic.ERROR,
437                                                 SeffValidator.DIAGNOSTIC_SOURCE,
438                                                 SeffValidator.RESOURCE_DEMANDING_BEHAVIOUR__EXACTLY_ONE_STOP_ACTION,
439                                                 EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ExactlyOneStopAction", EObjectValidator.getObjectLabel(this, context) }),
440                                                 new Object [] { this }));
441                        }
442                        return false;
443                }
444                return true;
445        }
446 
447        /**
448         * The cached OCL expression body for the '{@link #ExactlyOneStartAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Exactly One Start Action</em>}' operation.
449         * <!-- begin-user-doc -->
450         * <!-- end-user-doc -->
451         * @see #ExactlyOneStartAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
452         * @generated
453         * @ordered
454         */
455        protected static final String EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.steps_Behaviour->select(s|s.oclIsTypeOf(StartAction))->size() = 1";
456 
457        /**
458         * The cached OCL invariant for the '{@link #ExactlyOneStartAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Exactly One Start Action</em>}' invariant operation.
459         * <!-- begin-user-doc -->
460         * <!-- end-user-doc -->
461         * @see #ExactlyOneStartAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
462         * @generated
463         * @ordered
464         */
465        protected static Constraint EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV;
466 
467        /**
468         * <!-- begin-user-doc -->
469         * <!-- end-user-doc -->
470         * @generated
471         */
472        public boolean ExactlyOneStartAction(DiagnosticChain diagnostics, Map<Object, Object> context) {
473                if (EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) {
474                        OCL.Helper helper = EOCL_ENV.createOCLHelper();
475                        helper.setContext(SeffPackage.Literals.RESOURCE_DEMANDING_BEHAVIOUR);
476                        try {
477                                EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP);
478                        }
479                        catch (ParserException pe) {
480                                throw new UnsupportedOperationException(pe.getLocalizedMessage());
481                        }
482                }
483                if (!EOCL_ENV.createQuery(EXACTLY_ONE_START_ACTION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(this)) {
484                        if (diagnostics != null) {
485                                diagnostics.add
486                                        (new BasicDiagnostic
487                                                (Diagnostic.ERROR,
488                                                 SeffValidator.DIAGNOSTIC_SOURCE,
489                                                 SeffValidator.RESOURCE_DEMANDING_BEHAVIOUR__EXACTLY_ONE_START_ACTION,
490                                                 EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ExactlyOneStartAction", EObjectValidator.getObjectLabel(this, context) }),
491                                                 new Object [] { this }));
492                        }
493                        return false;
494                }
495                return true;
496        }
497 
498        /**
499         * The cached OCL expression body for the '{@link #EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Each Action Except Start Actionand Stop Action Must Hhave APredecessor And Successor</em>}' operation.
500         * <!-- begin-user-doc -->
501         * <!-- end-user-doc -->
502         * @see #EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
503         * @generated
504         * @ordered
505         */
506        protected static final String EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).predecessor_AbstractAction.oclIsUndefined()) and not self.steps_Behaviour->select(s|not s.oclIsTypeOf(StartAction) and not s.oclIsTypeOf(StopAction))->exists(a|a.oclAsType(AbstractAction).successor_AbstractAction.oclIsUndefined())";
507 
508        /**
509         * The cached OCL invariant for the '{@link #EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Each Action Except Start Actionand Stop Action Must Hhave APredecessor And Successor</em>}' invariant operation.
510         * <!-- begin-user-doc -->
511         * <!-- end-user-doc -->
512         * @see #EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
513         * @generated
514         * @ordered
515         */
516        protected static Constraint EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_INV;
517 
518        /**
519         * <!-- begin-user-doc -->
520         * <!-- end-user-doc -->
521         * @generated
522         */
523        public boolean EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor(DiagnosticChain diagnostics, Map<Object, Object> context) {
524                if (EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) {
525                        OCL.Helper helper = EOCL_ENV.createOCLHelper();
526                        helper.setContext(SeffPackage.Literals.RESOURCE_DEMANDING_BEHAVIOUR);
527                        try {
528                                EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP);
529                        }
530                        catch (ParserException pe) {
531                                throw new UnsupportedOperationException(pe.getLocalizedMessage());
532                        }
533                }
534                if (!EOCL_ENV.createQuery(EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(this)) {
535                        if (diagnostics != null) {
536                                diagnostics.add
537                                        (new BasicDiagnostic
538                                                (Diagnostic.ERROR,
539                                                 SeffValidator.DIAGNOSTIC_SOURCE,
540                                                 SeffValidator.RESOURCE_DEMANDING_BEHAVIOUR__EACH_ACTION_EXCEPT_START_ACTIONAND_STOP_ACTION_MUST_HHAVE_APREDECESSOR_AND_SUCCESSOR,
541                                                 EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "EachActionExceptStartActionandStopActionMustHhaveAPredecessorAndSuccessor", EObjectValidator.getObjectLabel(this, context) }),
542                                                 new Object [] { this }));
543                        }
544                        return false;
545                }
546                return true;
547        }
548 
549        /**
550         * <!-- begin-user-doc -->
551         * <!-- end-user-doc -->
552         * @generated
553         */
554        @SuppressWarnings("unchecked")
555        @Override
556        public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
557                switch (featureID) {
558                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
559                                if (eInternalContainer() != null)
560                                        msgs = eBasicRemoveFromContainer(msgs);
561                                return basicSetBasicComponent_ServiceEffectSpecification((BasicComponent)otherEnd, msgs);
562                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
563                                if (eInternalContainer() != null)
564                                        msgs = eBasicRemoveFromContainer(msgs);
565                                return basicSetAbstractLoopAction_ResourceDemandingBehaviour((AbstractLoopAction)otherEnd, msgs);
566                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
567                                if (eInternalContainer() != null)
568                                        msgs = eBasicRemoveFromContainer(msgs);
569                                return basicSetAbstractBranchTransition_ResourceDemandingBehaviour((AbstractBranchTransition)otherEnd, msgs);
570                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
571                                return ((InternalEList<InternalEObject>)(InternalEList<?>)getSteps_Behaviour()).basicAdd(otherEnd, msgs);
572                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
573                                return ((InternalEList<InternalEObject>)(InternalEList<?>)getResourceDemandingInternalBehaviours()).basicAdd(otherEnd, msgs);
574                }
575                return super.eInverseAdd(otherEnd, featureID, msgs);
576        }
577 
578        /**
579         * <!-- begin-user-doc -->
580         * <!-- end-user-doc -->
581         * @generated
582         */
583        @Override
584        public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
585                switch (featureID) {
586                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
587                                return basicSetBasicComponent_ServiceEffectSpecification(null, msgs);
588                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
589                                return basicSetAbstractLoopAction_ResourceDemandingBehaviour(null, msgs);
590                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
591                                return basicSetAbstractBranchTransition_ResourceDemandingBehaviour(null, msgs);
592                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
593                                return ((InternalEList<?>)getSteps_Behaviour()).basicRemove(otherEnd, msgs);
594                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
595                                return ((InternalEList<?>)getResourceDemandingInternalBehaviours()).basicRemove(otherEnd, msgs);
596                }
597                return super.eInverseRemove(otherEnd, featureID, msgs);
598        }
599 
600        /**
601         * <!-- begin-user-doc -->
602         * <!-- end-user-doc -->
603         * @generated
604         */
605        @Override
606        public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
607                switch (eContainerFeatureID()) {
608                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
609                                return eInternalContainer().eInverseRemove(this, RepositoryPackage.BASIC_COMPONENT__SERVICE_EFFECT_SPECIFICATIONS_BASIC_COMPONENT, BasicComponent.class, msgs);
610                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
611                                return eInternalContainer().eInverseRemove(this, SeffPackage.ABSTRACT_LOOP_ACTION__BODY_BEHAVIOUR_LOOP, AbstractLoopAction.class, msgs);
612                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
613                                return eInternalContainer().eInverseRemove(this, SeffPackage.ABSTRACT_BRANCH_TRANSITION__BRANCH_BEHAVIOUR_BRANCH_TRANSITION, AbstractBranchTransition.class, msgs);
614                }
615                return super.eBasicRemoveFromContainerFeature(msgs);
616        }
617 
618        /**
619         * <!-- begin-user-doc -->
620         * <!-- end-user-doc -->
621         * @generated
622         */
623        @Override
624        public Object eGet(int featureID, boolean resolve, boolean coreType) {
625                switch (featureID) {
626                        case SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID:
627                                return getSeffTypeID();
628                        case SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF:
629                                if (resolve) return getDescribedService__SEFF();
630                                return basicGetDescribedService__SEFF();
631                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
632                                return getBasicComponent_ServiceEffectSpecification();
633                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
634                                return getAbstractLoopAction_ResourceDemandingBehaviour();
635                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
636                                return getAbstractBranchTransition_ResourceDemandingBehaviour();
637                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
638                                return getSteps_Behaviour();
639                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
640                                return getResourceDemandingInternalBehaviours();
641                }
642                return super.eGet(featureID, resolve, coreType);
643        }
644 
645        /**
646         * <!-- begin-user-doc -->
647         * <!-- end-user-doc -->
648         * @generated
649         */
650        @SuppressWarnings("unchecked")
651        @Override
652        public void eSet(int featureID, Object newValue) {
653                switch (featureID) {
654                        case SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID:
655                                setSeffTypeID((String)newValue);
656                                return;
657                        case SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF:
658                                setDescribedService__SEFF((Signature)newValue);
659                                return;
660                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
661                                setBasicComponent_ServiceEffectSpecification((BasicComponent)newValue);
662                                return;
663                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
664                                setAbstractLoopAction_ResourceDemandingBehaviour((AbstractLoopAction)newValue);
665                                return;
666                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
667                                setAbstractBranchTransition_ResourceDemandingBehaviour((AbstractBranchTransition)newValue);
668                                return;
669                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
670                                getSteps_Behaviour().clear();
671                                getSteps_Behaviour().addAll((Collection<? extends AbstractAction>)newValue);
672                                return;
673                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
674                                getResourceDemandingInternalBehaviours().clear();
675                                getResourceDemandingInternalBehaviours().addAll((Collection<? extends ResourceDemandingInternalBehaviour>)newValue);
676                                return;
677                }
678                super.eSet(featureID, newValue);
679        }
680 
681        /**
682         * <!-- begin-user-doc -->
683         * <!-- end-user-doc -->
684         * @generated
685         */
686        @Override
687        public void eUnset(int featureID) {
688                switch (featureID) {
689                        case SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID:
690                                setSeffTypeID(SEFF_TYPE_ID_EDEFAULT);
691                                return;
692                        case SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF:
693                                setDescribedService__SEFF((Signature)null);
694                                return;
695                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
696                                setBasicComponent_ServiceEffectSpecification((BasicComponent)null);
697                                return;
698                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
699                                setAbstractLoopAction_ResourceDemandingBehaviour((AbstractLoopAction)null);
700                                return;
701                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
702                                setAbstractBranchTransition_ResourceDemandingBehaviour((AbstractBranchTransition)null);
703                                return;
704                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
705                                getSteps_Behaviour().clear();
706                                return;
707                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
708                                getResourceDemandingInternalBehaviours().clear();
709                                return;
710                }
711                super.eUnset(featureID);
712        }
713 
714        /**
715         * <!-- begin-user-doc -->
716         * <!-- end-user-doc -->
717         * @generated
718         */
719        @Override
720        public boolean eIsSet(int featureID) {
721                switch (featureID) {
722                        case SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID:
723                                return SEFF_TYPE_ID_EDEFAULT == null ? seffTypeID != null : !SEFF_TYPE_ID_EDEFAULT.equals(seffTypeID);
724                        case SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF:
725                                return describedService__SEFF != null;
726                        case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION:
727                                return getBasicComponent_ServiceEffectSpecification() != null;
728                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR:
729                                return getAbstractLoopAction_ResourceDemandingBehaviour() != null;
730                        case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR:
731                                return getAbstractBranchTransition_ResourceDemandingBehaviour() != null;
732                        case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR:
733                                return steps_Behaviour != null && !steps_Behaviour.isEmpty();
734                        case SeffPackage.RESOURCE_DEMANDING_SEFF__RESOURCE_DEMANDING_INTERNAL_BEHAVIOURS:
735                                return resourceDemandingInternalBehaviours != null && !resourceDemandingInternalBehaviours.isEmpty();
736                }
737                return super.eIsSet(featureID);
738        }
739 
740        /**
741         * <!-- begin-user-doc -->
742         * <!-- end-user-doc -->
743         * @generated
744         */
745        @Override
746        public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
747                if (baseClass == ServiceEffectSpecification.class) {
748                        switch (derivedFeatureID) {
749                                case SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID: return SeffPackage.SERVICE_EFFECT_SPECIFICATION__SEFF_TYPE_ID;
750                                case SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF: return SeffPackage.SERVICE_EFFECT_SPECIFICATION__DESCRIBED_SERVICE_SEFF;
751                                case SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION: return SeffPackage.SERVICE_EFFECT_SPECIFICATION__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION;
752                                default: return -1;
753                        }
754                }
755                if (baseClass == ResourceDemandingBehaviour.class) {
756                        switch (derivedFeatureID) {
757                                case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR;
758                                case SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR;
759                                case SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__STEPS_BEHAVIOUR;
760                                default: return -1;
761                        }
762                }
763                return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
764        }
765 
766        /**
767         * <!-- begin-user-doc -->
768         * <!-- end-user-doc -->
769         * @generated
770         */
771        @Override
772        public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
773                if (baseClass == ServiceEffectSpecification.class) {
774                        switch (baseFeatureID) {
775                                case SeffPackage.SERVICE_EFFECT_SPECIFICATION__SEFF_TYPE_ID: return SeffPackage.RESOURCE_DEMANDING_SEFF__SEFF_TYPE_ID;
776                                case SeffPackage.SERVICE_EFFECT_SPECIFICATION__DESCRIBED_SERVICE_SEFF: return SeffPackage.RESOURCE_DEMANDING_SEFF__DESCRIBED_SERVICE_SEFF;
777                                case SeffPackage.SERVICE_EFFECT_SPECIFICATION__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION: return SeffPackage.RESOURCE_DEMANDING_SEFF__BASIC_COMPONENT_SERVICE_EFFECT_SPECIFICATION;
778                                default: return -1;
779                        }
780                }
781                if (baseClass == ResourceDemandingBehaviour.class) {
782                        switch (baseFeatureID) {
783                                case SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_LOOP_ACTION_RESOURCE_DEMANDING_BEHAVIOUR;
784                                case SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_SEFF__ABSTRACT_BRANCH_TRANSITION_RESOURCE_DEMANDING_BEHAVIOUR;
785                                case SeffPackage.RESOURCE_DEMANDING_BEHAVIOUR__STEPS_BEHAVIOUR: return SeffPackage.RESOURCE_DEMANDING_SEFF__STEPS_BEHAVIOUR;
786                                default: return -1;
787                        }
788                }
789                return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
790        }
791 
792        /**
793         * <!-- begin-user-doc -->
794         * <!-- end-user-doc -->
795         * @generated
796         */
797        @Override
798        public String toString() {
799                if (eIsProxy()) return super.toString();
800 
801                StringBuffer result = new StringBuffer(super.toString());
802                result.append(" (seffTypeID: ");
803                result.append(seffTypeID);
804                result.append(')');
805                return result.toString();
806        }
807 
808        /**
809         * The cached environment for evaluating OCL expressions.
810         * <!-- begin-user-doc -->
811         * <!-- end-user-doc -->
812         * @generated
813         * @ordered
814         */
815        protected static final OCL EOCL_ENV = OCL.newInstance();
816 
817} //ResourceDemandingSEFFImpl

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