1
2
3
4
5
6
7 package BusinessDomainDsl.impl;
8
9 import BusinessDomainDsl.AbstractType;
10 import BusinessDomainDsl.Association;
11 import BusinessDomainDsl.BusinessDomainDslPackage;
12 import BusinessDomainDsl.BusinessDomainModel;
13 import BusinessDomainDsl.Enumeration;
14
15 import java.util.Collection;
16
17 import org.eclipse.emf.common.notify.NotificationChain;
18
19 import org.eclipse.emf.common.util.EList;
20
21 import org.eclipse.emf.ecore.EClass;
22 import org.eclipse.emf.ecore.InternalEObject;
23
24 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
25 import org.eclipse.emf.ecore.util.InternalEList;
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 public class BusinessDomainModelImpl extends ModelElementImpl implements BusinessDomainModel {
43
44
45
46
47
48
49
50
51 protected EList<Enumeration> enumerations;
52
53
54
55
56
57
58
59
60
61 protected EList<AbstractType> types;
62
63
64
65
66
67
68
69
70
71 protected EList<Association> associations;
72
73
74
75
76
77
78 protected BusinessDomainModelImpl() {
79 super();
80 }
81
82
83
84
85
86
87 @Override
88 protected EClass eStaticClass() {
89 return BusinessDomainDslPackage.Literals.BUSINESS_DOMAIN_MODEL;
90 }
91
92
93
94
95
96
97 public EList<Enumeration> getEnumerations() {
98 if (enumerations == null) {
99 enumerations = new EObjectContainmentWithInverseEList<Enumeration>(Enumeration.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS, BusinessDomainDslPackage.ENUMERATION__MODEL);
100 }
101 return enumerations;
102 }
103
104
105
106
107
108
109 public EList<AbstractType> getTypes() {
110 if (types == null) {
111 types = new EObjectContainmentWithInverseEList<AbstractType>(AbstractType.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES, BusinessDomainDslPackage.ABSTRACT_TYPE__MODEL);
112 }
113 return types;
114 }
115
116
117
118
119
120
121 public EList<Association> getAssociations() {
122 if (associations == null) {
123 associations = new EObjectContainmentWithInverseEList<Association>(Association.class, this, BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS, BusinessDomainDslPackage.ASSOCIATION__MODEL);
124 }
125 return associations;
126 }
127
128
129
130
131
132
133 @SuppressWarnings("unchecked")
134 @Override
135 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
136 switch (featureID) {
137 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
138 return ((InternalEList<InternalEObject>)(InternalEList<?>)getEnumerations()).basicAdd(otherEnd, msgs);
139 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
140 return ((InternalEList<InternalEObject>)(InternalEList<?>)getTypes()).basicAdd(otherEnd, msgs);
141 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
142 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAssociations()).basicAdd(otherEnd, msgs);
143 }
144 return super.eInverseAdd(otherEnd, featureID, msgs);
145 }
146
147
148
149
150
151
152 @Override
153 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
154 switch (featureID) {
155 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
156 return ((InternalEList<?>)getEnumerations()).basicRemove(otherEnd, msgs);
157 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
158 return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
159 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
160 return ((InternalEList<?>)getAssociations()).basicRemove(otherEnd, msgs);
161 }
162 return super.eInverseRemove(otherEnd, featureID, msgs);
163 }
164
165
166
167
168
169
170 @Override
171 public Object eGet(int featureID, boolean resolve, boolean coreType) {
172 switch (featureID) {
173 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
174 return getEnumerations();
175 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
176 return getTypes();
177 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
178 return getAssociations();
179 }
180 return super.eGet(featureID, resolve, coreType);
181 }
182
183
184
185
186
187
188 @SuppressWarnings("unchecked")
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
193 getEnumerations().clear();
194 getEnumerations().addAll((Collection<? extends Enumeration>)newValue);
195 return;
196 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
197 getTypes().clear();
198 getTypes().addAll((Collection<? extends AbstractType>)newValue);
199 return;
200 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
201 getAssociations().clear();
202 getAssociations().addAll((Collection<? extends Association>)newValue);
203 return;
204 }
205 super.eSet(featureID, newValue);
206 }
207
208
209
210
211
212
213 @Override
214 public void eUnset(int featureID) {
215 switch (featureID) {
216 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
217 getEnumerations().clear();
218 return;
219 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
220 getTypes().clear();
221 return;
222 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
223 getAssociations().clear();
224 return;
225 }
226 super.eUnset(featureID);
227 }
228
229
230
231
232
233
234 @Override
235 public boolean eIsSet(int featureID) {
236 switch (featureID) {
237 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ENUMERATIONS:
238 return enumerations != null && !enumerations.isEmpty();
239 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__TYPES:
240 return types != null && !types.isEmpty();
241 case BusinessDomainDslPackage.BUSINESS_DOMAIN_MODEL__ASSOCIATIONS:
242 return associations != null && !associations.isEmpty();
243 }
244 return super.eIsSet(featureID);
245 }
246
247 }