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