1 | /** |
2 | * Copyright 2006, SDQ Group, University Karlsruhe (TH) |
3 | * |
4 | * $Id$ |
5 | */ |
6 | package de.uka.ipd.sdq.context.aggregatedUsageContext.impl; |
7 | |
8 | import java.util.Collection; |
9 | |
10 | import org.eclipse.emf.common.notify.NotificationChain; |
11 | import org.eclipse.emf.common.util.EList; |
12 | import org.eclipse.emf.ecore.EClass; |
13 | import org.eclipse.emf.ecore.InternalEObject; |
14 | import org.eclipse.emf.ecore.impl.EObjectImpl; |
15 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; |
16 | import org.eclipse.emf.ecore.util.InternalEList; |
17 | |
18 | import de.uka.ipd.sdq.context.aggregatedUsageContext.AggregatedUsageContextPackage; |
19 | import de.uka.ipd.sdq.context.aggregatedUsageContext.ComputedAggregatedUsage; |
20 | import de.uka.ipd.sdq.context.aggregatedUsageContext.ServiceExecutionContext; |
21 | |
22 | /** |
23 | * <!-- begin-user-doc --> |
24 | * An implementation of the model object '<em><b>Computed Aggregated Usage</b></em>'. |
25 | * <!-- end-user-doc --> |
26 | * <p> |
27 | * The following features are implemented: |
28 | * <ul> |
29 | * <li>{@link de.uka.ipd.sdq.context.aggregatedUsageContext.impl.ComputedAggregatedUsageImpl#getServiceExecutionContexts_ComputedAggregatedUsage <em>Service Execution Contexts Computed Aggregated Usage</em>}</li> |
30 | * </ul> |
31 | * </p> |
32 | * |
33 | * @generated |
34 | */ |
35 | public class ComputedAggregatedUsageImpl extends EObjectImpl implements ComputedAggregatedUsage { |
36 | /** |
37 | * <!-- begin-user-doc --> |
38 | * <!-- end-user-doc --> |
39 | * @generated |
40 | */ |
41 | public static final String copyright = "Copyright 2006, SDQ Group, University Karlsruhe (TH)"; |
42 | |
43 | /** |
44 | * The cached value of the '{@link #getServiceExecutionContexts_ComputedAggregatedUsage() <em>Service Execution Contexts Computed Aggregated Usage</em>}' containment reference list. |
45 | * <!-- begin-user-doc --> |
46 | * <!-- end-user-doc --> |
47 | * @see #getServiceExecutionContexts_ComputedAggregatedUsage() |
48 | * @generated |
49 | * @ordered |
50 | */ |
51 | protected EList<ServiceExecutionContext> serviceExecutionContexts_ComputedAggregatedUsage; |
52 | |
53 | /** |
54 | * <!-- begin-user-doc --> |
55 | * <!-- end-user-doc --> |
56 | * @generated |
57 | */ |
58 | protected ComputedAggregatedUsageImpl() { |
59 | super(); |
60 | } |
61 | |
62 | /** |
63 | * <!-- begin-user-doc --> |
64 | * <!-- end-user-doc --> |
65 | * @generated |
66 | */ |
67 | @Override |
68 | protected EClass eStaticClass() { |
69 | return AggregatedUsageContextPackage.Literals.COMPUTED_AGGREGATED_USAGE; |
70 | } |
71 | |
72 | /** |
73 | * <!-- begin-user-doc --> |
74 | * <!-- end-user-doc --> |
75 | * @generated |
76 | */ |
77 | public EList<ServiceExecutionContext> getServiceExecutionContexts_ComputedAggregatedUsage() { |
78 | if (serviceExecutionContexts_ComputedAggregatedUsage == null) { |
79 | serviceExecutionContexts_ComputedAggregatedUsage = new EObjectContainmentEList<ServiceExecutionContext>(ServiceExecutionContext.class, this, AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE); |
80 | } |
81 | return serviceExecutionContexts_ComputedAggregatedUsage; |
82 | } |
83 | |
84 | /** |
85 | * <!-- begin-user-doc --> |
86 | * <!-- end-user-doc --> |
87 | * @generated |
88 | */ |
89 | @Override |
90 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
91 | switch (featureID) { |
92 | case AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE: |
93 | return ((InternalEList<?>)getServiceExecutionContexts_ComputedAggregatedUsage()).basicRemove(otherEnd, msgs); |
94 | } |
95 | return super.eInverseRemove(otherEnd, featureID, msgs); |
96 | } |
97 | |
98 | /** |
99 | * <!-- begin-user-doc --> |
100 | * <!-- end-user-doc --> |
101 | * @generated |
102 | */ |
103 | @Override |
104 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
105 | switch (featureID) { |
106 | case AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE: |
107 | return getServiceExecutionContexts_ComputedAggregatedUsage(); |
108 | } |
109 | return super.eGet(featureID, resolve, coreType); |
110 | } |
111 | |
112 | /** |
113 | * <!-- begin-user-doc --> |
114 | * <!-- end-user-doc --> |
115 | * @generated |
116 | */ |
117 | @SuppressWarnings("unchecked") |
118 | @Override |
119 | public void eSet(int featureID, Object newValue) { |
120 | switch (featureID) { |
121 | case AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE: |
122 | getServiceExecutionContexts_ComputedAggregatedUsage().clear(); |
123 | getServiceExecutionContexts_ComputedAggregatedUsage().addAll((Collection<? extends ServiceExecutionContext>)newValue); |
124 | return; |
125 | } |
126 | super.eSet(featureID, newValue); |
127 | } |
128 | |
129 | /** |
130 | * <!-- begin-user-doc --> |
131 | * <!-- end-user-doc --> |
132 | * @generated |
133 | */ |
134 | @Override |
135 | public void eUnset(int featureID) { |
136 | switch (featureID) { |
137 | case AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE: |
138 | getServiceExecutionContexts_ComputedAggregatedUsage().clear(); |
139 | return; |
140 | } |
141 | super.eUnset(featureID); |
142 | } |
143 | |
144 | /** |
145 | * <!-- begin-user-doc --> |
146 | * <!-- end-user-doc --> |
147 | * @generated |
148 | */ |
149 | @Override |
150 | public boolean eIsSet(int featureID) { |
151 | switch (featureID) { |
152 | case AggregatedUsageContextPackage.COMPUTED_AGGREGATED_USAGE__SERVICE_EXECUTION_CONTEXTS_COMPUTED_AGGREGATED_USAGE: |
153 | return serviceExecutionContexts_ComputedAggregatedUsage != null && !serviceExecutionContexts_ComputedAggregatedUsage.isEmpty(); |
154 | } |
155 | return super.eIsSet(featureID); |
156 | } |
157 | |
158 | } //ComputedAggregatedUsageImpl |