1 | /** |
2 | * <copyright> |
3 | * </copyright> |
4 | * |
5 | * $Id$ |
6 | */ |
7 | package de.uka.ipd.sdq.pcm.designdecision.impl; |
8 | |
9 | import de.uka.ipd.sdq.pcm.designdecision.ProcessingResourceDegree; |
10 | import de.uka.ipd.sdq.pcm.designdecision.ResourceSelectionDegree; |
11 | import de.uka.ipd.sdq.pcm.designdecision.designdecisionPackage; |
12 | |
13 | import de.uka.ipd.sdq.pcm.resourcetype.ProcessingResourceType; |
14 | |
15 | import org.eclipse.emf.common.notify.Notification; |
16 | |
17 | import org.eclipse.emf.ecore.EClass; |
18 | import org.eclipse.emf.ecore.InternalEObject; |
19 | |
20 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
21 | |
22 | /** |
23 | * <!-- begin-user-doc --> |
24 | * An implementation of the model object '<em><b>Resource Selection Degree</b></em>'. |
25 | * <!-- end-user-doc --> |
26 | * <p> |
27 | * The following features are implemented: |
28 | * <ul> |
29 | * <li>{@link de.uka.ipd.sdq.pcm.designdecision.impl.ResourceSelectionDegreeImpl#getProcessingresourcetype <em>Processingresourcetype</em>}</li> |
30 | * </ul> |
31 | * </p> |
32 | * |
33 | * @generated |
34 | */ |
35 | public class ResourceSelectionDegreeImpl extends ClassWithCopyDegreeImpl implements ResourceSelectionDegree { |
36 | /** |
37 | * The cached value of the '{@link #getProcessingresourcetype() <em>Processingresourcetype</em>}' reference. |
38 | * <!-- begin-user-doc --> |
39 | * <!-- end-user-doc --> |
40 | * @see #getProcessingresourcetype() |
41 | * @generated |
42 | * @ordered |
43 | */ |
44 | protected ProcessingResourceType processingresourcetype; |
45 | |
46 | /** |
47 | * <!-- begin-user-doc --> |
48 | * <!-- end-user-doc --> |
49 | * @generated |
50 | */ |
51 | protected ResourceSelectionDegreeImpl() { |
52 | super(); |
53 | } |
54 | |
55 | /** |
56 | * <!-- begin-user-doc --> |
57 | * <!-- end-user-doc --> |
58 | * @generated |
59 | */ |
60 | @Override |
61 | protected EClass eStaticClass() { |
62 | return designdecisionPackage.Literals.RESOURCE_SELECTION_DEGREE; |
63 | } |
64 | |
65 | /** |
66 | * <!-- begin-user-doc --> |
67 | * <!-- end-user-doc --> |
68 | * @generated |
69 | */ |
70 | public ProcessingResourceType getProcessingresourcetype() { |
71 | if (processingresourcetype != null && processingresourcetype.eIsProxy()) { |
72 | InternalEObject oldProcessingresourcetype = (InternalEObject)processingresourcetype; |
73 | processingresourcetype = (ProcessingResourceType)eResolveProxy(oldProcessingresourcetype); |
74 | if (processingresourcetype != oldProcessingresourcetype) { |
75 | if (eNotificationRequired()) |
76 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE, oldProcessingresourcetype, processingresourcetype)); |
77 | } |
78 | } |
79 | return processingresourcetype; |
80 | } |
81 | |
82 | /** |
83 | * <!-- begin-user-doc --> |
84 | * <!-- end-user-doc --> |
85 | * @generated |
86 | */ |
87 | public ProcessingResourceType basicGetProcessingresourcetype() { |
88 | return processingresourcetype; |
89 | } |
90 | |
91 | /** |
92 | * <!-- begin-user-doc --> |
93 | * <!-- end-user-doc --> |
94 | * @generated |
95 | */ |
96 | public void setProcessingresourcetype(ProcessingResourceType newProcessingresourcetype) { |
97 | ProcessingResourceType oldProcessingresourcetype = processingresourcetype; |
98 | processingresourcetype = newProcessingresourcetype; |
99 | if (eNotificationRequired()) |
100 | eNotify(new ENotificationImpl(this, Notification.SET, designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE, oldProcessingresourcetype, processingresourcetype)); |
101 | } |
102 | |
103 | /** |
104 | * <!-- begin-user-doc --> |
105 | * <!-- end-user-doc --> |
106 | * @generated |
107 | */ |
108 | @Override |
109 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
110 | switch (featureID) { |
111 | case designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE: |
112 | if (resolve) return getProcessingresourcetype(); |
113 | return basicGetProcessingresourcetype(); |
114 | } |
115 | return super.eGet(featureID, resolve, coreType); |
116 | } |
117 | |
118 | /** |
119 | * <!-- begin-user-doc --> |
120 | * <!-- end-user-doc --> |
121 | * @generated |
122 | */ |
123 | @Override |
124 | public void eSet(int featureID, Object newValue) { |
125 | switch (featureID) { |
126 | case designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE: |
127 | setProcessingresourcetype((ProcessingResourceType)newValue); |
128 | return; |
129 | } |
130 | super.eSet(featureID, newValue); |
131 | } |
132 | |
133 | /** |
134 | * <!-- begin-user-doc --> |
135 | * <!-- end-user-doc --> |
136 | * @generated |
137 | */ |
138 | @Override |
139 | public void eUnset(int featureID) { |
140 | switch (featureID) { |
141 | case designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE: |
142 | setProcessingresourcetype((ProcessingResourceType)null); |
143 | return; |
144 | } |
145 | super.eUnset(featureID); |
146 | } |
147 | |
148 | /** |
149 | * <!-- begin-user-doc --> |
150 | * <!-- end-user-doc --> |
151 | * @generated |
152 | */ |
153 | @Override |
154 | public boolean eIsSet(int featureID) { |
155 | switch (featureID) { |
156 | case designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE: |
157 | return processingresourcetype != null; |
158 | } |
159 | return super.eIsSet(featureID); |
160 | } |
161 | |
162 | /** |
163 | * <!-- begin-user-doc --> |
164 | * <!-- end-user-doc --> |
165 | * @generated |
166 | */ |
167 | @Override |
168 | public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { |
169 | if (baseClass == ProcessingResourceDegree.class) { |
170 | switch (derivedFeatureID) { |
171 | case designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE: return designdecisionPackage.PROCESSING_RESOURCE_DEGREE__PROCESSINGRESOURCETYPE; |
172 | default: return -1; |
173 | } |
174 | } |
175 | return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); |
176 | } |
177 | |
178 | /** |
179 | * <!-- begin-user-doc --> |
180 | * <!-- end-user-doc --> |
181 | * @generated |
182 | */ |
183 | @Override |
184 | public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { |
185 | if (baseClass == ProcessingResourceDegree.class) { |
186 | switch (baseFeatureID) { |
187 | case designdecisionPackage.PROCESSING_RESOURCE_DEGREE__PROCESSINGRESOURCETYPE: return designdecisionPackage.RESOURCE_SELECTION_DEGREE__PROCESSINGRESOURCETYPE; |
188 | default: return -1; |
189 | } |
190 | } |
191 | return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); |
192 | } |
193 | |
194 | } //ResourceSelectionDegreeImpl |