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 org.eclipse.emf.common.notify.Notification; |
9 | import org.eclipse.emf.ecore.EClass; |
10 | import org.eclipse.emf.ecore.InternalEObject; |
11 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
12 | |
13 | import de.uka.ipd.sdq.pcm.repository.PassiveResource; |
14 | import de.uka.ipd.sdq.pcm.seff.ReleaseAction; |
15 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
16 | |
17 | /** |
18 | * <!-- begin-user-doc --> |
19 | * An implementation of the model object '<em><b>Release Action</b></em>'. |
20 | * <!-- end-user-doc --> |
21 | * <p> |
22 | * The following features are implemented: |
23 | * <ul> |
24 | * <li>{@link de.uka.ipd.sdq.pcm.seff.impl.ReleaseActionImpl#getPassiveResource_ReleaseAction <em>Passive Resource Release Action</em>}</li> |
25 | * </ul> |
26 | * </p> |
27 | * |
28 | * @generated |
29 | */ |
30 | public class ReleaseActionImpl extends AbstractInternalControlFlowActionImpl implements ReleaseAction { |
31 | /** |
32 | * <!-- begin-user-doc --> |
33 | * <!-- end-user-doc --> |
34 | * @generated |
35 | */ |
36 | public static final String copyright = "Copyright 2005-2009 by SDQ, IPD, University of Karlsruhe, Germany"; |
37 | |
38 | /** |
39 | * The cached value of the '{@link #getPassiveResource_ReleaseAction() <em>Passive Resource Release Action</em>}' reference. |
40 | * <!-- begin-user-doc --> |
41 | * <!-- end-user-doc --> |
42 | * @see #getPassiveResource_ReleaseAction() |
43 | * @generated |
44 | * @ordered |
45 | */ |
46 | protected PassiveResource passiveResource_ReleaseAction; |
47 | |
48 | /** |
49 | * <!-- begin-user-doc --> |
50 | * <!-- end-user-doc --> |
51 | * @generated |
52 | */ |
53 | protected ReleaseActionImpl() { |
54 | super(); |
55 | } |
56 | |
57 | /** |
58 | * <!-- begin-user-doc --> |
59 | * <!-- end-user-doc --> |
60 | * @generated |
61 | */ |
62 | @Override |
63 | protected EClass eStaticClass() { |
64 | return SeffPackage.Literals.RELEASE_ACTION; |
65 | } |
66 | |
67 | /** |
68 | * <!-- begin-user-doc --> |
69 | * <!-- end-user-doc --> |
70 | * @generated |
71 | */ |
72 | public PassiveResource getPassiveResource_ReleaseAction() { |
73 | if (passiveResource_ReleaseAction != null && passiveResource_ReleaseAction.eIsProxy()) { |
74 | InternalEObject oldPassiveResource_ReleaseAction = (InternalEObject)passiveResource_ReleaseAction; |
75 | passiveResource_ReleaseAction = (PassiveResource)eResolveProxy(oldPassiveResource_ReleaseAction); |
76 | if (passiveResource_ReleaseAction != oldPassiveResource_ReleaseAction) { |
77 | if (eNotificationRequired()) |
78 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION, oldPassiveResource_ReleaseAction, passiveResource_ReleaseAction)); |
79 | } |
80 | } |
81 | return passiveResource_ReleaseAction; |
82 | } |
83 | |
84 | /** |
85 | * <!-- begin-user-doc --> |
86 | * <!-- end-user-doc --> |
87 | * @generated |
88 | */ |
89 | public PassiveResource basicGetPassiveResource_ReleaseAction() { |
90 | return passiveResource_ReleaseAction; |
91 | } |
92 | |
93 | /** |
94 | * <!-- begin-user-doc --> |
95 | * <!-- end-user-doc --> |
96 | * @generated |
97 | */ |
98 | public void setPassiveResource_ReleaseAction(PassiveResource newPassiveResource_ReleaseAction) { |
99 | PassiveResource oldPassiveResource_ReleaseAction = passiveResource_ReleaseAction; |
100 | passiveResource_ReleaseAction = newPassiveResource_ReleaseAction; |
101 | if (eNotificationRequired()) |
102 | eNotify(new ENotificationImpl(this, Notification.SET, SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION, oldPassiveResource_ReleaseAction, passiveResource_ReleaseAction)); |
103 | } |
104 | |
105 | /** |
106 | * <!-- begin-user-doc --> |
107 | * <!-- end-user-doc --> |
108 | * @generated |
109 | */ |
110 | @Override |
111 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
112 | switch (featureID) { |
113 | case SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION: |
114 | if (resolve) return getPassiveResource_ReleaseAction(); |
115 | return basicGetPassiveResource_ReleaseAction(); |
116 | } |
117 | return super.eGet(featureID, resolve, coreType); |
118 | } |
119 | |
120 | /** |
121 | * <!-- begin-user-doc --> |
122 | * <!-- end-user-doc --> |
123 | * @generated |
124 | */ |
125 | @Override |
126 | public void eSet(int featureID, Object newValue) { |
127 | switch (featureID) { |
128 | case SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION: |
129 | setPassiveResource_ReleaseAction((PassiveResource)newValue); |
130 | return; |
131 | } |
132 | super.eSet(featureID, newValue); |
133 | } |
134 | |
135 | /** |
136 | * <!-- begin-user-doc --> |
137 | * <!-- end-user-doc --> |
138 | * @generated |
139 | */ |
140 | @Override |
141 | public void eUnset(int featureID) { |
142 | switch (featureID) { |
143 | case SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION: |
144 | setPassiveResource_ReleaseAction((PassiveResource)null); |
145 | return; |
146 | } |
147 | super.eUnset(featureID); |
148 | } |
149 | |
150 | /** |
151 | * <!-- begin-user-doc --> |
152 | * <!-- end-user-doc --> |
153 | * @generated |
154 | */ |
155 | @Override |
156 | public boolean eIsSet(int featureID) { |
157 | switch (featureID) { |
158 | case SeffPackage.RELEASE_ACTION__PASSIVE_RESOURCE_RELEASE_ACTION: |
159 | return passiveResource_ReleaseAction != null; |
160 | } |
161 | return super.eIsSet(featureID); |
162 | } |
163 | |
164 | } //ReleaseActionImpl |