1 | /** |
2 | * Copyright 2006, SDQ Group, University Karlsruhe (TH) |
3 | * |
4 | * $Id$ |
5 | */ |
6 | package de.uka.ipd.sdq.context.computed_usage.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.computed_usage.ComputedUsage; |
19 | import de.uka.ipd.sdq.context.computed_usage.ComputedUsageContext; |
20 | import de.uka.ipd.sdq.context.computed_usage.ComputedUsagePackage; |
21 | |
22 | /** |
23 | * <!-- begin-user-doc --> |
24 | * An implementation of the model object '<em><b>Computed 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.computed_usage.impl.ComputedUsageImpl#getUsageContexts_ComputedUsage <em>Usage Contexts Computed Usage</em>}</li> |
30 | * </ul> |
31 | * </p> |
32 | * |
33 | * @generated |
34 | */ |
35 | public class ComputedUsageImpl extends EObjectImpl implements ComputedUsage { |
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 #getUsageContexts_ComputedUsage() <em>Usage Contexts Computed Usage</em>}' containment reference list. |
45 | * <!-- begin-user-doc --> |
46 | * <!-- end-user-doc --> |
47 | * @see #getUsageContexts_ComputedUsage() |
48 | * @generated |
49 | * @ordered |
50 | */ |
51 | protected EList<ComputedUsageContext> usageContexts_ComputedUsage; |
52 | |
53 | /** |
54 | * <!-- begin-user-doc --> |
55 | * <!-- end-user-doc --> |
56 | * @generated |
57 | */ |
58 | protected ComputedUsageImpl() { |
59 | super(); |
60 | } |
61 | |
62 | /** |
63 | * <!-- begin-user-doc --> |
64 | * <!-- end-user-doc --> |
65 | * @generated |
66 | */ |
67 | @Override |
68 | protected EClass eStaticClass() { |
69 | return ComputedUsagePackage.Literals.COMPUTED_USAGE; |
70 | } |
71 | |
72 | /** |
73 | * <!-- begin-user-doc --> |
74 | * <!-- end-user-doc --> |
75 | * @generated |
76 | */ |
77 | public EList<ComputedUsageContext> getUsageContexts_ComputedUsage() { |
78 | if (usageContexts_ComputedUsage == null) { |
79 | usageContexts_ComputedUsage = new EObjectContainmentEList<ComputedUsageContext>(ComputedUsageContext.class, this, ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE); |
80 | } |
81 | return usageContexts_ComputedUsage; |
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 ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE: |
93 | return ((InternalEList<?>)getUsageContexts_ComputedUsage()).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 ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE: |
107 | return getUsageContexts_ComputedUsage(); |
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 ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE: |
122 | getUsageContexts_ComputedUsage().clear(); |
123 | getUsageContexts_ComputedUsage().addAll((Collection<? extends ComputedUsageContext>)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 ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE: |
138 | getUsageContexts_ComputedUsage().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 ComputedUsagePackage.COMPUTED_USAGE__USAGE_CONTEXTS_COMPUTED_USAGE: |
153 | return usageContexts_ComputedUsage != null && !usageContexts_ComputedUsage.isEmpty(); |
154 | } |
155 | return super.eIsSet(featureID); |
156 | } |
157 | |
158 | } //ComputedUsageImpl |