aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/AddressImpl.java465
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Agriculture_and_Forestry_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIMImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIPImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CISImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Capital_and_Investments_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ConstantsImpl.java1509
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DSImpl.java221
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_DonationImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Health_and_Pension_InsuranceImpl.java165
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Interest_ExpenseImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Loss_CarryforwardImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Permanent_ExpenseImpl.java165
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Private_Insurance_and_PlanImpl.java333
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java598
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DonationImpl.java276
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Employment_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java653
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java555
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Extraordinary_Expense_CEImpl.java221
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FDImpl.java220
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FOImpl.java165
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Fiscal_AddressImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Foreign_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java505
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromLawImpl.java268
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Habitual_AddressImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Health_and_Pension_InsuranceImpl.java221
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/HouseholdImpl.java313
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java782
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java547
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java340
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java625
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TypeImpl.java324
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Interest_ExpenseImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java647
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Local_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Loss_CarryforwardImpl.java332
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Marriage_RecordImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Miscellaneous_Expense_FOImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Non_Resident_Tax_PayerImpl.java164
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Partnership_RecordImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Pensions_and_Annuities_IncomeImpl.java164
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Permanent_ExpenseImpl.java221
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java766
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java276
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_ExpenseImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_Expenses_DeductionImpl.java39
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Rentals_and_Leases_IncomeImpl.java164
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java36
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Special_Expense_DSImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Spousal_Expense_ACImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java2263
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PayerImpl.java425
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java323
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore1257
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationFactoryImpl.java1144
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java4271
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Trade_and_Business_IncomeImpl.java37
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Travel_Expense_FDImpl.java37
60 files changed, 22777 insertions, 0 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/AddressImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/AddressImpl.java
new file mode 100644
index 00000000..79ec4dec
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/AddressImpl.java
@@ -0,0 +1,465 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Address;
6import Taxation.Country;
7import Taxation.Physical_Person;
8import Taxation.TaxationPackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Address</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link Taxation.impl.AddressImpl#getCountry <em>Country</em>}</li>
35 * <li>{@link Taxation.impl.AddressImpl#getStreet <em>Street</em>}</li>
36 * <li>{@link Taxation.impl.AddressImpl#getZipCode <em>Zip Code</em>}</li>
37 * <li>{@link Taxation.impl.AddressImpl#getCity <em>City</em>}</li>
38 * <li>{@link Taxation.impl.AddressImpl#getId2 <em>Id2</em>}</li>
39 * <li>{@link Taxation.impl.AddressImpl#getTaxPayer <em>Tax Payer</em>}</li>
40 * </ul>
41 *
42 * @generated
43 */
44public class AddressImpl extends MinimalEObjectImpl.Container implements Address {
45 /**
46 * The default value of the '{@link #getCountry() <em>Country</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getCountry()
50 * @generated
51 * @ordered
52 */
53 protected static final Country COUNTRY_EDEFAULT = Country.ZZ;
54
55 /**
56 * The cached value of the '{@link #getCountry() <em>Country</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getCountry()
60 * @generated
61 * @ordered
62 */
63 protected Country country = COUNTRY_EDEFAULT;
64
65 /**
66 * The default value of the '{@link #getStreet() <em>Street</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getStreet()
70 * @generated
71 * @ordered
72 */
73 protected static final String STREET_EDEFAULT = null;
74
75 /**
76 * The cached value of the '{@link #getStreet() <em>Street</em>}' attribute.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getStreet()
80 * @generated
81 * @ordered
82 */
83 protected String street = STREET_EDEFAULT;
84
85 /**
86 * The default value of the '{@link #getZipCode() <em>Zip Code</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getZipCode()
90 * @generated
91 * @ordered
92 */
93 protected static final String ZIP_CODE_EDEFAULT = null;
94
95 /**
96 * The cached value of the '{@link #getZipCode() <em>Zip Code</em>}' attribute.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getZipCode()
100 * @generated
101 * @ordered
102 */
103 protected String zipCode = ZIP_CODE_EDEFAULT;
104
105 /**
106 * The default value of the '{@link #getCity() <em>City</em>}' attribute.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #getCity()
110 * @generated
111 * @ordered
112 */
113 protected static final String CITY_EDEFAULT = null;
114
115 /**
116 * The cached value of the '{@link #getCity() <em>City</em>}' attribute.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @see #getCity()
120 * @generated
121 * @ordered
122 */
123 protected String city = CITY_EDEFAULT;
124
125 /**
126 * The default value of the '{@link #getId2() <em>Id2</em>}' attribute.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @see #getId2()
130 * @generated
131 * @ordered
132 */
133 protected static final String ID2_EDEFAULT = null;
134
135 /**
136 * The cached value of the '{@link #getId2() <em>Id2</em>}' attribute.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @see #getId2()
140 * @generated
141 * @ordered
142 */
143 protected String id2 = ID2_EDEFAULT;
144
145 /**
146 * The cached value of the '{@link #getTaxPayer() <em>Tax Payer</em>}' reference list.
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @see #getTaxPayer()
150 * @generated
151 * @ordered
152 */
153 protected EList<Physical_Person> taxPayer;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 protected AddressImpl() {
161 super();
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 protected EClass eStaticClass() {
171 return TaxationPackage.Literals.ADDRESS;
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public Country getCountry() {
181 return country;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void setCountry(Country newCountry) {
191 Country oldCountry = country;
192 country = newCountry == null ? COUNTRY_EDEFAULT : newCountry;
193 if (eNotificationRequired())
194 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.ADDRESS__COUNTRY, oldCountry, country));
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public String getStreet() {
204 return street;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void setStreet(String newStreet) {
214 String oldStreet = street;
215 street = newStreet;
216 if (eNotificationRequired())
217 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.ADDRESS__STREET, oldStreet, street));
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public String getZipCode() {
227 return zipCode;
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public void setZipCode(String newZipCode) {
237 String oldZipCode = zipCode;
238 zipCode = newZipCode;
239 if (eNotificationRequired())
240 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.ADDRESS__ZIP_CODE, oldZipCode, zipCode));
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public String getCity() {
250 return city;
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public void setCity(String newCity) {
260 String oldCity = city;
261 city = newCity;
262 if (eNotificationRequired())
263 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.ADDRESS__CITY, oldCity, city));
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public String getId2() {
273 return id2;
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void setId2(String newId2) {
283 String oldId2 = id2;
284 id2 = newId2;
285 if (eNotificationRequired())
286 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.ADDRESS__ID2, oldId2, id2));
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public EList<Physical_Person> getTaxPayer() {
296 if (taxPayer == null) {
297 taxPayer = new EObjectWithInverseResolvingEList.ManyInverse<Physical_Person>(Physical_Person.class, this, TaxationPackage.ADDRESS__TAX_PAYER, TaxationPackage.PHYSICAL_PERSON__ADDRESSES);
298 }
299 return taxPayer;
300 }
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 @SuppressWarnings("unchecked")
308 @Override
309 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
310 switch (featureID) {
311 case TaxationPackage.ADDRESS__TAX_PAYER:
312 return ((InternalEList<InternalEObject>)(InternalEList<?>)getTaxPayer()).basicAdd(otherEnd, msgs);
313 }
314 return super.eInverseAdd(otherEnd, featureID, msgs);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
324 switch (featureID) {
325 case TaxationPackage.ADDRESS__TAX_PAYER:
326 return ((InternalEList<?>)getTaxPayer()).basicRemove(otherEnd, msgs);
327 }
328 return super.eInverseRemove(otherEnd, featureID, msgs);
329 }
330
331 /**
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 @Override
337 public Object eGet(int featureID, boolean resolve, boolean coreType) {
338 switch (featureID) {
339 case TaxationPackage.ADDRESS__COUNTRY:
340 return getCountry();
341 case TaxationPackage.ADDRESS__STREET:
342 return getStreet();
343 case TaxationPackage.ADDRESS__ZIP_CODE:
344 return getZipCode();
345 case TaxationPackage.ADDRESS__CITY:
346 return getCity();
347 case TaxationPackage.ADDRESS__ID2:
348 return getId2();
349 case TaxationPackage.ADDRESS__TAX_PAYER:
350 return getTaxPayer();
351 }
352 return super.eGet(featureID, resolve, coreType);
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @SuppressWarnings("unchecked")
361 @Override
362 public void eSet(int featureID, Object newValue) {
363 switch (featureID) {
364 case TaxationPackage.ADDRESS__COUNTRY:
365 setCountry((Country)newValue);
366 return;
367 case TaxationPackage.ADDRESS__STREET:
368 setStreet((String)newValue);
369 return;
370 case TaxationPackage.ADDRESS__ZIP_CODE:
371 setZipCode((String)newValue);
372 return;
373 case TaxationPackage.ADDRESS__CITY:
374 setCity((String)newValue);
375 return;
376 case TaxationPackage.ADDRESS__ID2:
377 setId2((String)newValue);
378 return;
379 case TaxationPackage.ADDRESS__TAX_PAYER:
380 getTaxPayer().clear();
381 getTaxPayer().addAll((Collection<? extends Physical_Person>)newValue);
382 return;
383 }
384 super.eSet(featureID, newValue);
385 }
386
387 /**
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 */
392 @Override
393 public void eUnset(int featureID) {
394 switch (featureID) {
395 case TaxationPackage.ADDRESS__COUNTRY:
396 setCountry(COUNTRY_EDEFAULT);
397 return;
398 case TaxationPackage.ADDRESS__STREET:
399 setStreet(STREET_EDEFAULT);
400 return;
401 case TaxationPackage.ADDRESS__ZIP_CODE:
402 setZipCode(ZIP_CODE_EDEFAULT);
403 return;
404 case TaxationPackage.ADDRESS__CITY:
405 setCity(CITY_EDEFAULT);
406 return;
407 case TaxationPackage.ADDRESS__ID2:
408 setId2(ID2_EDEFAULT);
409 return;
410 case TaxationPackage.ADDRESS__TAX_PAYER:
411 getTaxPayer().clear();
412 return;
413 }
414 super.eUnset(featureID);
415 }
416
417 /**
418 * <!-- begin-user-doc -->
419 * <!-- end-user-doc -->
420 * @generated
421 */
422 @Override
423 public boolean eIsSet(int featureID) {
424 switch (featureID) {
425 case TaxationPackage.ADDRESS__COUNTRY:
426 return country != COUNTRY_EDEFAULT;
427 case TaxationPackage.ADDRESS__STREET:
428 return STREET_EDEFAULT == null ? street != null : !STREET_EDEFAULT.equals(street);
429 case TaxationPackage.ADDRESS__ZIP_CODE:
430 return ZIP_CODE_EDEFAULT == null ? zipCode != null : !ZIP_CODE_EDEFAULT.equals(zipCode);
431 case TaxationPackage.ADDRESS__CITY:
432 return CITY_EDEFAULT == null ? city != null : !CITY_EDEFAULT.equals(city);
433 case TaxationPackage.ADDRESS__ID2:
434 return ID2_EDEFAULT == null ? id2 != null : !ID2_EDEFAULT.equals(id2);
435 case TaxationPackage.ADDRESS__TAX_PAYER:
436 return taxPayer != null && !taxPayer.isEmpty();
437 }
438 return super.eIsSet(featureID);
439 }
440
441 /**
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @generated
445 */
446 @Override
447 public String toString() {
448 if (eIsProxy()) return super.toString();
449
450 StringBuilder result = new StringBuilder(super.toString());
451 result.append(" (country: ");
452 result.append(country);
453 result.append(", street: ");
454 result.append(street);
455 result.append(", zipCode: ");
456 result.append(zipCode);
457 result.append(", city: ");
458 result.append(city);
459 result.append(", id2: ");
460 result.append(id2);
461 result.append(')');
462 return result.toString();
463 }
464
465} //AddressImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Agriculture_and_Forestry_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Agriculture_and_Forestry_IncomeImpl.java
new file mode 100644
index 00000000..15d08db7
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Agriculture_and_Forestry_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Agriculture_and_Forestry_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Agriculture and Forestry Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Agriculture_and_Forestry_IncomeImpl extends Income_TypeImpl implements Agriculture_and_Forestry_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Agriculture_and_Forestry_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.AGRICULTURE_AND_FORESTRY_INCOME;
35 }
36
37} //Agriculture_and_Forestry_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIMImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIMImpl.java
new file mode 100644
index 00000000..111a8206
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIMImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.CIM;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>CIM</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CIMImpl extends Income_Tax_CreditImpl implements CIM {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CIMImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.CIM;
35 }
36
37} //CIMImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIPImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIPImpl.java
new file mode 100644
index 00000000..f49e1aa3
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CIPImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.CIP;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>CIP</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CIPImpl extends Income_Tax_CreditImpl implements CIP {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CIPImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.CIP;
35 }
36
37} //CIPImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CISImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CISImpl.java
new file mode 100644
index 00000000..48634ccc
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/CISImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.CIS;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>CIS</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CISImpl extends Income_Tax_CreditImpl implements CIS {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CISImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.CIS;
35 }
36
37} //CISImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Capital_and_Investments_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Capital_and_Investments_IncomeImpl.java
new file mode 100644
index 00000000..0ff20fed
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Capital_and_Investments_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Capital_and_Investments_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Capital and Investments Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Capital_and_Investments_IncomeImpl extends Income_TypeImpl implements Capital_and_Investments_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Capital_and_Investments_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.CAPITAL_AND_INVESTMENTS_INCOME;
35 }
36
37} //Capital_and_Investments_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ConstantsImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ConstantsImpl.java
new file mode 100644
index 00000000..f73c31e6
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ConstantsImpl.java
@@ -0,0 +1,1509 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Constants;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Constants</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD <em>MAXIMUM CE RATE FOR CHILD NOT BEING PART OF HOUSEHOLD</em>}</li>
24 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE <em>MAXIMUM CE RATE FOR HOUSE CARE AND CHILD PART OF THE HOUSEHOLD CARE</em>}</li>
25 * <li>{@link Taxation.impl.ConstantsImpl#getMINIMUM_SALARY <em>MINIMUM SALARY</em>}</li>
26 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION <em>FLAT RATE FOR EXTRA PROFESSIONAL DEDUCTION</em>}</li>
27 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS <em>MAXIMUM DEDUCTIBLE PERCENTAGE FOR DONATIONS</em>}</li>
28 * <li>{@link Taxation.impl.ConstantsImpl#getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS <em>MINIMUM DEDUCTIBLE AMOUNT FOR DONATIONS</em>}</li>
29 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANC</em>}</li>
30 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ALIMONY EXPENSE</em>}</li>
31 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION <em>MAXIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}</li>
32 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION <em>MAXIMAL FLAT DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}</li>
33 * <li>{@link Taxation.impl.ConstantsImpl#getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION <em>MINIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}</li>
34 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIM_DAILY <em>FLAT RATE CIM DAILY</em>}</li>
35 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIM_MONTHLY <em>FLAT RATE CIM MONTHLY</em>}</li>
36 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIM_YEARLY <em>FLAT RATE CIM YEARLY</em>}</li>
37 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIP_DAILY <em>FLAT RATE CIP DAILY</em>}</li>
38 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIP_MONTHLY <em>FLAT RATE CIP MONTHLY</em>}</li>
39 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIP_YEARLY <em>FLAT RATE CIP YEARLY</em>}</li>
40 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIS_DAILY <em>FLAT RATE CIS DAILY</em>}</li>
41 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIS_MONTHLY <em>FLAT RATE CIS MONTHLY</em>}</li>
42 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_CIS_YEARLY <em>FLAT RATE CIS YEARLY</em>}</li>
43 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT <em>FLAT RATE FOR TRAVEL EXPENSE PER UNIT</em>}</li>
44 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS <em>MAXIMUM DEDUCTIBLE AMOUNT FOR DS</em>}</li>
45 * <li>{@link Taxation.impl.ConstantsImpl#getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE <em>FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}</li>
46 * <li>{@link Taxation.impl.ConstantsImpl#getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE <em>DISABILITY FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}</li>
47 * <li>{@link Taxation.impl.ConstantsImpl#getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANCE</em>}</li>
48 * </ul>
49 *
50 * @generated
51 */
52public abstract class ConstantsImpl extends MinimalEObjectImpl.Container implements Constants {
53 /**
54 * The default value of the '{@link #getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD() <em>MAXIMUM CE RATE FOR CHILD NOT BEING PART OF HOUSEHOLD</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD()
58 * @generated
59 * @ordered
60 */
61 protected static final double MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_EDEFAULT = 3480.0;
62
63 /**
64 * The cached value of the '{@link #getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD() <em>MAXIMUM CE RATE FOR CHILD NOT BEING PART OF HOUSEHOLD</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD()
68 * @generated
69 * @ordered
70 */
71 protected double maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD = MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_EDEFAULT;
72
73 /**
74 * The default value of the '{@link #getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE() <em>MAXIMUM CE RATE FOR HOUSE CARE AND CHILD PART OF THE HOUSEHOLD CARE</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE()
78 * @generated
79 * @ordered
80 */
81 protected static final double MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_EDEFAULT = 3600.0;
82
83 /**
84 * The cached value of the '{@link #getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE() <em>MAXIMUM CE RATE FOR HOUSE CARE AND CHILD PART OF THE HOUSEHOLD CARE</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE()
88 * @generated
89 * @ordered
90 */
91 protected double maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE = MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_EDEFAULT;
92
93 /**
94 * The default value of the '{@link #getMINIMUM_SALARY() <em>MINIMUM SALARY</em>}' attribute.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #getMINIMUM_SALARY()
98 * @generated
99 * @ordered
100 */
101 protected static final double MINIMUM_SALARY_EDEFAULT = 1500.0;
102
103 /**
104 * The cached value of the '{@link #getMINIMUM_SALARY() <em>MINIMUM SALARY</em>}' attribute.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @see #getMINIMUM_SALARY()
108 * @generated
109 * @ordered
110 */
111 protected double minimuM_SALARY = MINIMUM_SALARY_EDEFAULT;
112
113 /**
114 * The default value of the '{@link #getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION() <em>FLAT RATE FOR EXTRA PROFESSIONAL DEDUCTION</em>}' attribute.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION()
118 * @generated
119 * @ordered
120 */
121 protected static final double FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_EDEFAULT = 4500.0;
122
123 /**
124 * The cached value of the '{@link #getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION() <em>FLAT RATE FOR EXTRA PROFESSIONAL DEDUCTION</em>}' attribute.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see #getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION()
128 * @generated
129 * @ordered
130 */
131 protected double flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION = FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_EDEFAULT;
132
133 /**
134 * The default value of the '{@link #getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS() <em>MAXIMUM DEDUCTIBLE PERCENTAGE FOR DONATIONS</em>}' attribute.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @see #getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS()
138 * @generated
139 * @ordered
140 */
141 protected static final double MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_EDEFAULT = 20.0;
142
143 /**
144 * The cached value of the '{@link #getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS() <em>MAXIMUM DEDUCTIBLE PERCENTAGE FOR DONATIONS</em>}' attribute.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see #getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS()
148 * @generated
149 * @ordered
150 */
151 protected double maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS = MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_EDEFAULT;
152
153 /**
154 * The default value of the '{@link #getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS() <em>MINIMUM DEDUCTIBLE AMOUNT FOR DONATIONS</em>}' attribute.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @see #getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS()
158 * @generated
159 * @ordered
160 */
161 protected static final double MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_EDEFAULT = 120.0;
162
163 /**
164 * The cached value of the '{@link #getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS() <em>MINIMUM DEDUCTIBLE AMOUNT FOR DONATIONS</em>}' attribute.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @see #getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS()
168 * @generated
169 * @ordered
170 */
171 protected double minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS = MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_EDEFAULT;
172
173 /**
174 * The default value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANC</em>}' attribute.
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC()
178 * @generated
179 * @ordered
180 */
181 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_EDEFAULT = 0.0;
182
183 /**
184 * The cached value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANC</em>}' attribute.
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC()
188 * @generated
189 * @ordered
190 */
191 protected double maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_EDEFAULT;
192
193 /**
194 * The default value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ALIMONY EXPENSE</em>}' attribute.
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE()
198 * @generated
199 * @ordered
200 */
201 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_EDEFAULT = 24000.0;
202
203 /**
204 * The cached value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ALIMONY EXPENSE</em>}' attribute.
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE()
208 * @generated
209 * @ordered
210 */
211 protected double maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_EDEFAULT;
212
213 /**
214 * The default value of the '{@link #getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MAXIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @see #getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
218 * @generated
219 * @ordered
220 */
221 protected static final double MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT = 99.0;
222
223 /**
224 * The cached value of the '{@link #getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MAXIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @see #getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
228 * @generated
229 * @ordered
230 */
231 protected double maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
232
233 /**
234 * The default value of the '{@link #getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MAXIMAL FLAT DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @see #getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
238 * @generated
239 * @ordered
240 */
241 protected static final double MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT = 30.0;
242
243 /**
244 * The cached value of the '{@link #getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MAXIMAL FLAT DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @see #getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
248 * @generated
249 * @ordered
250 */
251 protected double maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
252
253 /**
254 * The default value of the '{@link #getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MINIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @see #getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
258 * @generated
259 * @ordered
260 */
261 protected static final double MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT = 4.0;
262
263 /**
264 * The cached value of the '{@link #getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() <em>MINIMAL DISTANCE FOR TRAVEL EXPENSE DEDUCTION</em>}' attribute.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @see #getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION()
268 * @generated
269 * @ordered
270 */
271 protected double minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
272
273 /**
274 * The default value of the '{@link #getFLAT_RATE_CIM_DAILY() <em>FLAT RATE CIM DAILY</em>}' attribute.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @see #getFLAT_RATE_CIM_DAILY()
278 * @generated
279 * @ordered
280 */
281 protected static final double FLAT_RATE_CIM_DAILY_EDEFAULT = 2.0;
282
283 /**
284 * The cached value of the '{@link #getFLAT_RATE_CIM_DAILY() <em>FLAT RATE CIM DAILY</em>}' attribute.
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @see #getFLAT_RATE_CIM_DAILY()
288 * @generated
289 * @ordered
290 */
291 protected double flaT_RATE_CIM_DAILY = FLAT_RATE_CIM_DAILY_EDEFAULT;
292
293 /**
294 * The default value of the '{@link #getFLAT_RATE_CIM_MONTHLY() <em>FLAT RATE CIM MONTHLY</em>}' attribute.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @see #getFLAT_RATE_CIM_MONTHLY()
298 * @generated
299 * @ordered
300 */
301 protected static final double FLAT_RATE_CIM_MONTHLY_EDEFAULT = 62.0;
302
303 /**
304 * The cached value of the '{@link #getFLAT_RATE_CIM_MONTHLY() <em>FLAT RATE CIM MONTHLY</em>}' attribute.
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @see #getFLAT_RATE_CIM_MONTHLY()
308 * @generated
309 * @ordered
310 */
311 protected double flaT_RATE_CIM_MONTHLY = FLAT_RATE_CIM_MONTHLY_EDEFAULT;
312
313 /**
314 * The default value of the '{@link #getFLAT_RATE_CIM_YEARLY() <em>FLAT RATE CIM YEARLY</em>}' attribute.
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @see #getFLAT_RATE_CIM_YEARLY()
318 * @generated
319 * @ordered
320 */
321 protected static final double FLAT_RATE_CIM_YEARLY_EDEFAULT = 750.0;
322
323 /**
324 * The cached value of the '{@link #getFLAT_RATE_CIM_YEARLY() <em>FLAT RATE CIM YEARLY</em>}' attribute.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @see #getFLAT_RATE_CIM_YEARLY()
328 * @generated
329 * @ordered
330 */
331 protected double flaT_RATE_CIM_YEARLY = FLAT_RATE_CIM_YEARLY_EDEFAULT;
332
333 /**
334 * The default value of the '{@link #getFLAT_RATE_CIP_DAILY() <em>FLAT RATE CIP DAILY</em>}' attribute.
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @see #getFLAT_RATE_CIP_DAILY()
338 * @generated
339 * @ordered
340 */
341 protected static final double FLAT_RATE_CIP_DAILY_EDEFAULT = 1.0;
342
343 /**
344 * The cached value of the '{@link #getFLAT_RATE_CIP_DAILY() <em>FLAT RATE CIP DAILY</em>}' attribute.
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @see #getFLAT_RATE_CIP_DAILY()
348 * @generated
349 * @ordered
350 */
351 protected double flaT_RATE_CIP_DAILY = FLAT_RATE_CIP_DAILY_EDEFAULT;
352
353 /**
354 * The default value of the '{@link #getFLAT_RATE_CIP_MONTHLY() <em>FLAT RATE CIP MONTHLY</em>}' attribute.
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @see #getFLAT_RATE_CIP_MONTHLY()
358 * @generated
359 * @ordered
360 */
361 protected static final double FLAT_RATE_CIP_MONTHLY_EDEFAULT = 25.0;
362
363 /**
364 * The cached value of the '{@link #getFLAT_RATE_CIP_MONTHLY() <em>FLAT RATE CIP MONTHLY</em>}' attribute.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @see #getFLAT_RATE_CIP_MONTHLY()
368 * @generated
369 * @ordered
370 */
371 protected double flaT_RATE_CIP_MONTHLY = FLAT_RATE_CIP_MONTHLY_EDEFAULT;
372
373 /**
374 * The default value of the '{@link #getFLAT_RATE_CIP_YEARLY() <em>FLAT RATE CIP YEARLY</em>}' attribute.
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @see #getFLAT_RATE_CIP_YEARLY()
378 * @generated
379 * @ordered
380 */
381 protected static final double FLAT_RATE_CIP_YEARLY_EDEFAULT = 30.0;
382
383 /**
384 * The cached value of the '{@link #getFLAT_RATE_CIP_YEARLY() <em>FLAT RATE CIP YEARLY</em>}' attribute.
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @see #getFLAT_RATE_CIP_YEARLY()
388 * @generated
389 * @ordered
390 */
391 protected double flaT_RATE_CIP_YEARLY = FLAT_RATE_CIP_YEARLY_EDEFAULT;
392
393 /**
394 * The default value of the '{@link #getFLAT_RATE_CIS_DAILY() <em>FLAT RATE CIS DAILY</em>}' attribute.
395 * <!-- begin-user-doc -->
396 * <!-- end-user-doc -->
397 * @see #getFLAT_RATE_CIS_DAILY()
398 * @generated
399 * @ordered
400 */
401 protected static final double FLAT_RATE_CIS_DAILY_EDEFAULT = 1.0;
402
403 /**
404 * The cached value of the '{@link #getFLAT_RATE_CIS_DAILY() <em>FLAT RATE CIS DAILY</em>}' attribute.
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @see #getFLAT_RATE_CIS_DAILY()
408 * @generated
409 * @ordered
410 */
411 protected double flaT_RATE_CIS_DAILY = FLAT_RATE_CIS_DAILY_EDEFAULT;
412
413 /**
414 * The default value of the '{@link #getFLAT_RATE_CIS_MONTHLY() <em>FLAT RATE CIS MONTHLY</em>}' attribute.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @see #getFLAT_RATE_CIS_MONTHLY()
418 * @generated
419 * @ordered
420 */
421 protected static final double FLAT_RATE_CIS_MONTHLY_EDEFAULT = 25.0;
422
423 /**
424 * The cached value of the '{@link #getFLAT_RATE_CIS_MONTHLY() <em>FLAT RATE CIS MONTHLY</em>}' attribute.
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @see #getFLAT_RATE_CIS_MONTHLY()
428 * @generated
429 * @ordered
430 */
431 protected double flaT_RATE_CIS_MONTHLY = FLAT_RATE_CIS_MONTHLY_EDEFAULT;
432
433 /**
434 * The default value of the '{@link #getFLAT_RATE_CIS_YEARLY() <em>FLAT RATE CIS YEARLY</em>}' attribute.
435 * <!-- begin-user-doc -->
436 * <!-- end-user-doc -->
437 * @see #getFLAT_RATE_CIS_YEARLY()
438 * @generated
439 * @ordered
440 */
441 protected static final double FLAT_RATE_CIS_YEARLY_EDEFAULT = 300.0;
442
443 /**
444 * The cached value of the '{@link #getFLAT_RATE_CIS_YEARLY() <em>FLAT RATE CIS YEARLY</em>}' attribute.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @see #getFLAT_RATE_CIS_YEARLY()
448 * @generated
449 * @ordered
450 */
451 protected double flaT_RATE_CIS_YEARLY = FLAT_RATE_CIS_YEARLY_EDEFAULT;
452
453 /**
454 * The default value of the '{@link #getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT() <em>FLAT RATE FOR TRAVEL EXPENSE PER UNIT</em>}' attribute.
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @see #getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT()
458 * @generated
459 * @ordered
460 */
461 protected static final double FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_EDEFAULT = 99.0;
462
463 /**
464 * The cached value of the '{@link #getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT() <em>FLAT RATE FOR TRAVEL EXPENSE PER UNIT</em>}' attribute.
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @see #getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT()
468 * @generated
469 * @ordered
470 */
471 protected double flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT = FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_EDEFAULT;
472
473 /**
474 * The default value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR DS</em>}' attribute.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS()
478 * @generated
479 * @ordered
480 */
481 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_EDEFAULT = 0.0;
482
483 /**
484 * The cached value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR DS</em>}' attribute.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS()
488 * @generated
489 * @ordered
490 */
491 protected double maximuM_DEDUCTIBLE_AMOUNT_FOR_DS = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_EDEFAULT;
492
493 /**
494 * The default value of the '{@link #getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() <em>FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}' attribute.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @see #getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE()
498 * @generated
499 * @ordered
500 */
501 protected static final double FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT = 0.0;
502
503 /**
504 * The cached value of the '{@link #getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() <em>FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}' attribute.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @see #getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE()
508 * @generated
509 * @ordered
510 */
511 protected double flaT_RATE_FOR_MISCELLANEOUS_EXPENSE = FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT;
512
513 /**
514 * The default value of the '{@link #getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() <em>DISABILITY FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}' attribute.
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @see #getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE()
518 * @generated
519 * @ordered
520 */
521 protected static final double DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT = 0.0;
522
523 /**
524 * The cached value of the '{@link #getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() <em>DISABILITY FLAT RATE FOR MISCELLANEOUS EXPENSE</em>}' attribute.
525 * <!-- begin-user-doc -->
526 * <!-- end-user-doc -->
527 * @see #getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE()
528 * @generated
529 * @ordered
530 */
531 protected double disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE = DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT;
532
533 /**
534 * The default value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANCE</em>}' attribute.
535 * <!-- begin-user-doc -->
536 * <!-- end-user-doc -->
537 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE()
538 * @generated
539 * @ordered
540 */
541 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_EDEFAULT = 0.0;
542
543 /**
544 * The cached value of the '{@link #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE() <em>MAXIMUM DEDUCTIBLE AMOUNT FOR ADDITIONAL PENSION AND INSURANCE</em>}' attribute.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @see #getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE()
548 * @generated
549 * @ordered
550 */
551 protected double maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_EDEFAULT;
552
553 /**
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 */
558 protected ConstantsImpl() {
559 super();
560 }
561
562 /**
563 * <!-- begin-user-doc -->
564 * <!-- end-user-doc -->
565 * @generated
566 */
567 @Override
568 protected EClass eStaticClass() {
569 return TaxationPackage.Literals.CONSTANTS;
570 }
571
572 /**
573 * <!-- begin-user-doc -->
574 * <!-- end-user-doc -->
575 * @generated
576 */
577 @Override
578 public double getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD() {
579 return maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD;
580 }
581
582 /**
583 * <!-- begin-user-doc -->
584 * <!-- end-user-doc -->
585 * @generated
586 */
587 @Override
588 public void setMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD(double newMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD) {
589 double oldMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD = maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD;
590 maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD = newMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD;
591 if (eNotificationRequired())
592 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD, oldMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD, maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD));
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 @Override
601 public double getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE() {
602 return maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE;
603 }
604
605 /**
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 */
610 @Override
611 public void setMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE(double newMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE) {
612 double oldMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE = maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE;
613 maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE = newMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE;
614 if (eNotificationRequired())
615 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE, oldMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE, maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE));
616 }
617
618 /**
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 */
623 @Override
624 public double getMINIMUM_SALARY() {
625 return minimuM_SALARY;
626 }
627
628 /**
629 * <!-- begin-user-doc -->
630 * <!-- end-user-doc -->
631 * @generated
632 */
633 @Override
634 public void setMINIMUM_SALARY(double newMINIMUM_SALARY) {
635 double oldMINIMUM_SALARY = minimuM_SALARY;
636 minimuM_SALARY = newMINIMUM_SALARY;
637 if (eNotificationRequired())
638 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MINIMUM_SALARY, oldMINIMUM_SALARY, minimuM_SALARY));
639 }
640
641 /**
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 */
646 @Override
647 public double getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION() {
648 return flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION;
649 }
650
651 /**
652 * <!-- begin-user-doc -->
653 * <!-- end-user-doc -->
654 * @generated
655 */
656 @Override
657 public void setFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION(double newFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION) {
658 double oldFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION = flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION;
659 flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION = newFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION;
660 if (eNotificationRequired())
661 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION, oldFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION, flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION));
662 }
663
664 /**
665 * <!-- begin-user-doc -->
666 * <!-- end-user-doc -->
667 * @generated
668 */
669 @Override
670 public double getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS() {
671 return maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS;
672 }
673
674 /**
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @generated
678 */
679 @Override
680 public void setMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS(double newMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS) {
681 double oldMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS = maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS;
682 maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS = newMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS;
683 if (eNotificationRequired())
684 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS, oldMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS, maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS));
685 }
686
687 /**
688 * <!-- begin-user-doc -->
689 * <!-- end-user-doc -->
690 * @generated
691 */
692 @Override
693 public double getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS() {
694 return minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS;
695 }
696
697 /**
698 * <!-- begin-user-doc -->
699 * <!-- end-user-doc -->
700 * @generated
701 */
702 @Override
703 public void setMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS(double newMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS) {
704 double oldMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS = minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS;
705 minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS = newMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS;
706 if (eNotificationRequired())
707 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS, oldMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS, minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS));
708 }
709
710 /**
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 */
715 @Override
716 public double getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC() {
717 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC;
718 }
719
720 /**
721 * <!-- begin-user-doc -->
722 * <!-- end-user-doc -->
723 * @generated
724 */
725 @Override
726 public void setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC(double newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC) {
727 double oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC = maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC;
728 maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC = newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC;
729 if (eNotificationRequired())
730 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC, oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC, maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC));
731 }
732
733 /**
734 * <!-- begin-user-doc -->
735 * <!-- end-user-doc -->
736 * @generated
737 */
738 @Override
739 public double getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE() {
740 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE;
741 }
742
743 /**
744 * <!-- begin-user-doc -->
745 * <!-- end-user-doc -->
746 * @generated
747 */
748 @Override
749 public void setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE(double newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE) {
750 double oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE = maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE;
751 maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE = newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE;
752 if (eNotificationRequired())
753 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE, oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE, maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE));
754 }
755
756 /**
757 * <!-- begin-user-doc -->
758 * <!-- end-user-doc -->
759 * @generated
760 */
761 @Override
762 public double getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
763 return maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
764 }
765
766 /**
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @generated
770 */
771 @Override
772 public void setMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(double newMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION) {
773 double oldMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
774 maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = newMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
775 if (eNotificationRequired())
776 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, oldMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION));
777 }
778
779 /**
780 * <!-- begin-user-doc -->
781 * <!-- end-user-doc -->
782 * @generated
783 */
784 @Override
785 public double getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
786 return maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
787 }
788
789 /**
790 * <!-- begin-user-doc -->
791 * <!-- end-user-doc -->
792 * @generated
793 */
794 @Override
795 public void setMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(double newMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION) {
796 double oldMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
797 maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = newMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
798 if (eNotificationRequired())
799 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, oldMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION));
800 }
801
802 /**
803 * <!-- begin-user-doc -->
804 * <!-- end-user-doc -->
805 * @generated
806 */
807 @Override
808 public double getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
809 return minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
810 }
811
812 /**
813 * <!-- begin-user-doc -->
814 * <!-- end-user-doc -->
815 * @generated
816 */
817 @Override
818 public void setMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(double newMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION) {
819 double oldMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
820 minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION = newMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION;
821 if (eNotificationRequired())
822 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, oldMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION, minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION));
823 }
824
825 /**
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 */
830 @Override
831 public double getFLAT_RATE_CIM_DAILY() {
832 return flaT_RATE_CIM_DAILY;
833 }
834
835 /**
836 * <!-- begin-user-doc -->
837 * <!-- end-user-doc -->
838 * @generated
839 */
840 @Override
841 public void setFLAT_RATE_CIM_DAILY(double newFLAT_RATE_CIM_DAILY) {
842 double oldFLAT_RATE_CIM_DAILY = flaT_RATE_CIM_DAILY;
843 flaT_RATE_CIM_DAILY = newFLAT_RATE_CIM_DAILY;
844 if (eNotificationRequired())
845 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIM_DAILY, oldFLAT_RATE_CIM_DAILY, flaT_RATE_CIM_DAILY));
846 }
847
848 /**
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 */
853 @Override
854 public double getFLAT_RATE_CIM_MONTHLY() {
855 return flaT_RATE_CIM_MONTHLY;
856 }
857
858 /**
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @generated
862 */
863 @Override
864 public void setFLAT_RATE_CIM_MONTHLY(double newFLAT_RATE_CIM_MONTHLY) {
865 double oldFLAT_RATE_CIM_MONTHLY = flaT_RATE_CIM_MONTHLY;
866 flaT_RATE_CIM_MONTHLY = newFLAT_RATE_CIM_MONTHLY;
867 if (eNotificationRequired())
868 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIM_MONTHLY, oldFLAT_RATE_CIM_MONTHLY, flaT_RATE_CIM_MONTHLY));
869 }
870
871 /**
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @generated
875 */
876 @Override
877 public double getFLAT_RATE_CIM_YEARLY() {
878 return flaT_RATE_CIM_YEARLY;
879 }
880
881 /**
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @generated
885 */
886 @Override
887 public void setFLAT_RATE_CIM_YEARLY(double newFLAT_RATE_CIM_YEARLY) {
888 double oldFLAT_RATE_CIM_YEARLY = flaT_RATE_CIM_YEARLY;
889 flaT_RATE_CIM_YEARLY = newFLAT_RATE_CIM_YEARLY;
890 if (eNotificationRequired())
891 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIM_YEARLY, oldFLAT_RATE_CIM_YEARLY, flaT_RATE_CIM_YEARLY));
892 }
893
894 /**
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @generated
898 */
899 @Override
900 public double getFLAT_RATE_CIP_DAILY() {
901 return flaT_RATE_CIP_DAILY;
902 }
903
904 /**
905 * <!-- begin-user-doc -->
906 * <!-- end-user-doc -->
907 * @generated
908 */
909 @Override
910 public void setFLAT_RATE_CIP_DAILY(double newFLAT_RATE_CIP_DAILY) {
911 double oldFLAT_RATE_CIP_DAILY = flaT_RATE_CIP_DAILY;
912 flaT_RATE_CIP_DAILY = newFLAT_RATE_CIP_DAILY;
913 if (eNotificationRequired())
914 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIP_DAILY, oldFLAT_RATE_CIP_DAILY, flaT_RATE_CIP_DAILY));
915 }
916
917 /**
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 */
922 @Override
923 public double getFLAT_RATE_CIP_MONTHLY() {
924 return flaT_RATE_CIP_MONTHLY;
925 }
926
927 /**
928 * <!-- begin-user-doc -->
929 * <!-- end-user-doc -->
930 * @generated
931 */
932 @Override
933 public void setFLAT_RATE_CIP_MONTHLY(double newFLAT_RATE_CIP_MONTHLY) {
934 double oldFLAT_RATE_CIP_MONTHLY = flaT_RATE_CIP_MONTHLY;
935 flaT_RATE_CIP_MONTHLY = newFLAT_RATE_CIP_MONTHLY;
936 if (eNotificationRequired())
937 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIP_MONTHLY, oldFLAT_RATE_CIP_MONTHLY, flaT_RATE_CIP_MONTHLY));
938 }
939
940 /**
941 * <!-- begin-user-doc -->
942 * <!-- end-user-doc -->
943 * @generated
944 */
945 @Override
946 public double getFLAT_RATE_CIP_YEARLY() {
947 return flaT_RATE_CIP_YEARLY;
948 }
949
950 /**
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @generated
954 */
955 @Override
956 public void setFLAT_RATE_CIP_YEARLY(double newFLAT_RATE_CIP_YEARLY) {
957 double oldFLAT_RATE_CIP_YEARLY = flaT_RATE_CIP_YEARLY;
958 flaT_RATE_CIP_YEARLY = newFLAT_RATE_CIP_YEARLY;
959 if (eNotificationRequired())
960 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIP_YEARLY, oldFLAT_RATE_CIP_YEARLY, flaT_RATE_CIP_YEARLY));
961 }
962
963 /**
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @generated
967 */
968 @Override
969 public double getFLAT_RATE_CIS_DAILY() {
970 return flaT_RATE_CIS_DAILY;
971 }
972
973 /**
974 * <!-- begin-user-doc -->
975 * <!-- end-user-doc -->
976 * @generated
977 */
978 @Override
979 public void setFLAT_RATE_CIS_DAILY(double newFLAT_RATE_CIS_DAILY) {
980 double oldFLAT_RATE_CIS_DAILY = flaT_RATE_CIS_DAILY;
981 flaT_RATE_CIS_DAILY = newFLAT_RATE_CIS_DAILY;
982 if (eNotificationRequired())
983 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIS_DAILY, oldFLAT_RATE_CIS_DAILY, flaT_RATE_CIS_DAILY));
984 }
985
986 /**
987 * <!-- begin-user-doc -->
988 * <!-- end-user-doc -->
989 * @generated
990 */
991 @Override
992 public double getFLAT_RATE_CIS_MONTHLY() {
993 return flaT_RATE_CIS_MONTHLY;
994 }
995
996 /**
997 * <!-- begin-user-doc -->
998 * <!-- end-user-doc -->
999 * @generated
1000 */
1001 @Override
1002 public void setFLAT_RATE_CIS_MONTHLY(double newFLAT_RATE_CIS_MONTHLY) {
1003 double oldFLAT_RATE_CIS_MONTHLY = flaT_RATE_CIS_MONTHLY;
1004 flaT_RATE_CIS_MONTHLY = newFLAT_RATE_CIS_MONTHLY;
1005 if (eNotificationRequired())
1006 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIS_MONTHLY, oldFLAT_RATE_CIS_MONTHLY, flaT_RATE_CIS_MONTHLY));
1007 }
1008
1009 /**
1010 * <!-- begin-user-doc -->
1011 * <!-- end-user-doc -->
1012 * @generated
1013 */
1014 @Override
1015 public double getFLAT_RATE_CIS_YEARLY() {
1016 return flaT_RATE_CIS_YEARLY;
1017 }
1018
1019 /**
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 */
1024 @Override
1025 public void setFLAT_RATE_CIS_YEARLY(double newFLAT_RATE_CIS_YEARLY) {
1026 double oldFLAT_RATE_CIS_YEARLY = flaT_RATE_CIS_YEARLY;
1027 flaT_RATE_CIS_YEARLY = newFLAT_RATE_CIS_YEARLY;
1028 if (eNotificationRequired())
1029 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_CIS_YEARLY, oldFLAT_RATE_CIS_YEARLY, flaT_RATE_CIS_YEARLY));
1030 }
1031
1032 /**
1033 * <!-- begin-user-doc -->
1034 * <!-- end-user-doc -->
1035 * @generated
1036 */
1037 @Override
1038 public double getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT() {
1039 return flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT;
1040 }
1041
1042 /**
1043 * <!-- begin-user-doc -->
1044 * <!-- end-user-doc -->
1045 * @generated
1046 */
1047 @Override
1048 public void setFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT(double newFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT) {
1049 double oldFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT = flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT;
1050 flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT = newFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT;
1051 if (eNotificationRequired())
1052 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT, oldFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT, flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT));
1053 }
1054
1055 /**
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @generated
1059 */
1060 @Override
1061 public double getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS() {
1062 return maximuM_DEDUCTIBLE_AMOUNT_FOR_DS;
1063 }
1064
1065 /**
1066 * <!-- begin-user-doc -->
1067 * <!-- end-user-doc -->
1068 * @generated
1069 */
1070 @Override
1071 public void setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS(double newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS) {
1072 double oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS = maximuM_DEDUCTIBLE_AMOUNT_FOR_DS;
1073 maximuM_DEDUCTIBLE_AMOUNT_FOR_DS = newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS;
1074 if (eNotificationRequired())
1075 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS, oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS, maximuM_DEDUCTIBLE_AMOUNT_FOR_DS));
1076 }
1077
1078 /**
1079 * <!-- begin-user-doc -->
1080 * <!-- end-user-doc -->
1081 * @generated
1082 */
1083 @Override
1084 public double getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() {
1085 return flaT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1086 }
1087
1088 /**
1089 * <!-- begin-user-doc -->
1090 * <!-- end-user-doc -->
1091 * @generated
1092 */
1093 @Override
1094 public void setFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(double newFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE) {
1095 double oldFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE = flaT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1096 flaT_RATE_FOR_MISCELLANEOUS_EXPENSE = newFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1097 if (eNotificationRequired())
1098 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE, oldFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE, flaT_RATE_FOR_MISCELLANEOUS_EXPENSE));
1099 }
1100
1101 /**
1102 * <!-- begin-user-doc -->
1103 * <!-- end-user-doc -->
1104 * @generated
1105 */
1106 @Override
1107 public double getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() {
1108 return disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1109 }
1110
1111 /**
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 */
1116 @Override
1117 public void setDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(double newDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE) {
1118 double oldDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE = disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1119 disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE = newDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE;
1120 if (eNotificationRequired())
1121 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE, oldDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE, disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE));
1122 }
1123
1124 /**
1125 * <!-- begin-user-doc -->
1126 * <!-- end-user-doc -->
1127 * @generated
1128 */
1129 @Override
1130 public double getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE() {
1131 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE;
1132 }
1133
1134 /**
1135 * <!-- begin-user-doc -->
1136 * <!-- end-user-doc -->
1137 * @generated
1138 */
1139 @Override
1140 public void setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE(double newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE) {
1141 double oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE = maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE;
1142 maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE = newMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE;
1143 if (eNotificationRequired())
1144 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE, oldMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE, maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE));
1145 }
1146
1147 /**
1148 * <!-- begin-user-doc -->
1149 * <!-- end-user-doc -->
1150 * @generated
1151 */
1152 @Override
1153 public Object eGet(int featureID, boolean resolve, boolean coreType) {
1154 switch (featureID) {
1155 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD:
1156 return getMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD();
1157 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE:
1158 return getMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE();
1159 case TaxationPackage.CONSTANTS__MINIMUM_SALARY:
1160 return getMINIMUM_SALARY();
1161 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION:
1162 return getFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION();
1163 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS:
1164 return getMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS();
1165 case TaxationPackage.CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS:
1166 return getMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS();
1167 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC:
1168 return getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC();
1169 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE:
1170 return getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE();
1171 case TaxationPackage.CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1172 return getMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION();
1173 case TaxationPackage.CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1174 return getMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION();
1175 case TaxationPackage.CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1176 return getMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION();
1177 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_DAILY:
1178 return getFLAT_RATE_CIM_DAILY();
1179 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_MONTHLY:
1180 return getFLAT_RATE_CIM_MONTHLY();
1181 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_YEARLY:
1182 return getFLAT_RATE_CIM_YEARLY();
1183 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_DAILY:
1184 return getFLAT_RATE_CIP_DAILY();
1185 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_MONTHLY:
1186 return getFLAT_RATE_CIP_MONTHLY();
1187 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_YEARLY:
1188 return getFLAT_RATE_CIP_YEARLY();
1189 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_DAILY:
1190 return getFLAT_RATE_CIS_DAILY();
1191 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_MONTHLY:
1192 return getFLAT_RATE_CIS_MONTHLY();
1193 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_YEARLY:
1194 return getFLAT_RATE_CIS_YEARLY();
1195 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT:
1196 return getFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT();
1197 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS:
1198 return getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS();
1199 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1200 return getFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE();
1201 case TaxationPackage.CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1202 return getDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE();
1203 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE:
1204 return getMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE();
1205 }
1206 return super.eGet(featureID, resolve, coreType);
1207 }
1208
1209 /**
1210 * <!-- begin-user-doc -->
1211 * <!-- end-user-doc -->
1212 * @generated
1213 */
1214 @Override
1215 public void eSet(int featureID, Object newValue) {
1216 switch (featureID) {
1217 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD:
1218 setMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD((Double)newValue);
1219 return;
1220 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE:
1221 setMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE((Double)newValue);
1222 return;
1223 case TaxationPackage.CONSTANTS__MINIMUM_SALARY:
1224 setMINIMUM_SALARY((Double)newValue);
1225 return;
1226 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION:
1227 setFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION((Double)newValue);
1228 return;
1229 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS:
1230 setMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS((Double)newValue);
1231 return;
1232 case TaxationPackage.CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS:
1233 setMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS((Double)newValue);
1234 return;
1235 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC:
1236 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC((Double)newValue);
1237 return;
1238 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE:
1239 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE((Double)newValue);
1240 return;
1241 case TaxationPackage.CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1242 setMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION((Double)newValue);
1243 return;
1244 case TaxationPackage.CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1245 setMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION((Double)newValue);
1246 return;
1247 case TaxationPackage.CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1248 setMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION((Double)newValue);
1249 return;
1250 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_DAILY:
1251 setFLAT_RATE_CIM_DAILY((Double)newValue);
1252 return;
1253 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_MONTHLY:
1254 setFLAT_RATE_CIM_MONTHLY((Double)newValue);
1255 return;
1256 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_YEARLY:
1257 setFLAT_RATE_CIM_YEARLY((Double)newValue);
1258 return;
1259 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_DAILY:
1260 setFLAT_RATE_CIP_DAILY((Double)newValue);
1261 return;
1262 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_MONTHLY:
1263 setFLAT_RATE_CIP_MONTHLY((Double)newValue);
1264 return;
1265 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_YEARLY:
1266 setFLAT_RATE_CIP_YEARLY((Double)newValue);
1267 return;
1268 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_DAILY:
1269 setFLAT_RATE_CIS_DAILY((Double)newValue);
1270 return;
1271 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_MONTHLY:
1272 setFLAT_RATE_CIS_MONTHLY((Double)newValue);
1273 return;
1274 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_YEARLY:
1275 setFLAT_RATE_CIS_YEARLY((Double)newValue);
1276 return;
1277 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT:
1278 setFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT((Double)newValue);
1279 return;
1280 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS:
1281 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS((Double)newValue);
1282 return;
1283 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1284 setFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE((Double)newValue);
1285 return;
1286 case TaxationPackage.CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1287 setDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE((Double)newValue);
1288 return;
1289 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE:
1290 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE((Double)newValue);
1291 return;
1292 }
1293 super.eSet(featureID, newValue);
1294 }
1295
1296 /**
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @generated
1300 */
1301 @Override
1302 public void eUnset(int featureID) {
1303 switch (featureID) {
1304 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD:
1305 setMAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD(MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_EDEFAULT);
1306 return;
1307 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE:
1308 setMAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE(MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_EDEFAULT);
1309 return;
1310 case TaxationPackage.CONSTANTS__MINIMUM_SALARY:
1311 setMINIMUM_SALARY(MINIMUM_SALARY_EDEFAULT);
1312 return;
1313 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION:
1314 setFLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION(FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_EDEFAULT);
1315 return;
1316 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS:
1317 setMAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS(MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_EDEFAULT);
1318 return;
1319 case TaxationPackage.CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS:
1320 setMINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS(MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_EDEFAULT);
1321 return;
1322 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC:
1323 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_EDEFAULT);
1324 return;
1325 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE:
1326 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_EDEFAULT);
1327 return;
1328 case TaxationPackage.CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1329 setMAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT);
1330 return;
1331 case TaxationPackage.CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1332 setMAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT);
1333 return;
1334 case TaxationPackage.CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1335 setMINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT);
1336 return;
1337 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_DAILY:
1338 setFLAT_RATE_CIM_DAILY(FLAT_RATE_CIM_DAILY_EDEFAULT);
1339 return;
1340 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_MONTHLY:
1341 setFLAT_RATE_CIM_MONTHLY(FLAT_RATE_CIM_MONTHLY_EDEFAULT);
1342 return;
1343 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_YEARLY:
1344 setFLAT_RATE_CIM_YEARLY(FLAT_RATE_CIM_YEARLY_EDEFAULT);
1345 return;
1346 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_DAILY:
1347 setFLAT_RATE_CIP_DAILY(FLAT_RATE_CIP_DAILY_EDEFAULT);
1348 return;
1349 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_MONTHLY:
1350 setFLAT_RATE_CIP_MONTHLY(FLAT_RATE_CIP_MONTHLY_EDEFAULT);
1351 return;
1352 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_YEARLY:
1353 setFLAT_RATE_CIP_YEARLY(FLAT_RATE_CIP_YEARLY_EDEFAULT);
1354 return;
1355 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_DAILY:
1356 setFLAT_RATE_CIS_DAILY(FLAT_RATE_CIS_DAILY_EDEFAULT);
1357 return;
1358 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_MONTHLY:
1359 setFLAT_RATE_CIS_MONTHLY(FLAT_RATE_CIS_MONTHLY_EDEFAULT);
1360 return;
1361 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_YEARLY:
1362 setFLAT_RATE_CIS_YEARLY(FLAT_RATE_CIS_YEARLY_EDEFAULT);
1363 return;
1364 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT:
1365 setFLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT(FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_EDEFAULT);
1366 return;
1367 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS:
1368 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_EDEFAULT);
1369 return;
1370 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1371 setFLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT);
1372 return;
1373 case TaxationPackage.CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1374 setDISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT);
1375 return;
1376 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE:
1377 setMAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_EDEFAULT);
1378 return;
1379 }
1380 super.eUnset(featureID);
1381 }
1382
1383 /**
1384 * <!-- begin-user-doc -->
1385 * <!-- end-user-doc -->
1386 * @generated
1387 */
1388 @Override
1389 public boolean eIsSet(int featureID) {
1390 switch (featureID) {
1391 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD:
1392 return maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD != MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD_EDEFAULT;
1393 case TaxationPackage.CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE:
1394 return maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE != MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE_EDEFAULT;
1395 case TaxationPackage.CONSTANTS__MINIMUM_SALARY:
1396 return minimuM_SALARY != MINIMUM_SALARY_EDEFAULT;
1397 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION:
1398 return flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION != FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION_EDEFAULT;
1399 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS:
1400 return maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS != MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS_EDEFAULT;
1401 case TaxationPackage.CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS:
1402 return minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS != MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS_EDEFAULT;
1403 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC:
1404 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC_EDEFAULT;
1405 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE:
1406 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE_EDEFAULT;
1407 case TaxationPackage.CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1408 return maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION != MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
1409 case TaxationPackage.CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1410 return maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION != MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
1411 case TaxationPackage.CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION:
1412 return minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION != MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION_EDEFAULT;
1413 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_DAILY:
1414 return flaT_RATE_CIM_DAILY != FLAT_RATE_CIM_DAILY_EDEFAULT;
1415 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_MONTHLY:
1416 return flaT_RATE_CIM_MONTHLY != FLAT_RATE_CIM_MONTHLY_EDEFAULT;
1417 case TaxationPackage.CONSTANTS__FLAT_RATE_CIM_YEARLY:
1418 return flaT_RATE_CIM_YEARLY != FLAT_RATE_CIM_YEARLY_EDEFAULT;
1419 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_DAILY:
1420 return flaT_RATE_CIP_DAILY != FLAT_RATE_CIP_DAILY_EDEFAULT;
1421 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_MONTHLY:
1422 return flaT_RATE_CIP_MONTHLY != FLAT_RATE_CIP_MONTHLY_EDEFAULT;
1423 case TaxationPackage.CONSTANTS__FLAT_RATE_CIP_YEARLY:
1424 return flaT_RATE_CIP_YEARLY != FLAT_RATE_CIP_YEARLY_EDEFAULT;
1425 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_DAILY:
1426 return flaT_RATE_CIS_DAILY != FLAT_RATE_CIS_DAILY_EDEFAULT;
1427 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_MONTHLY:
1428 return flaT_RATE_CIS_MONTHLY != FLAT_RATE_CIS_MONTHLY_EDEFAULT;
1429 case TaxationPackage.CONSTANTS__FLAT_RATE_CIS_YEARLY:
1430 return flaT_RATE_CIS_YEARLY != FLAT_RATE_CIS_YEARLY_EDEFAULT;
1431 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT:
1432 return flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT != FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT_EDEFAULT;
1433 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS:
1434 return maximuM_DEDUCTIBLE_AMOUNT_FOR_DS != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS_EDEFAULT;
1435 case TaxationPackage.CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1436 return flaT_RATE_FOR_MISCELLANEOUS_EXPENSE != FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT;
1437 case TaxationPackage.CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE:
1438 return disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE != DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE_EDEFAULT;
1439 case TaxationPackage.CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE:
1440 return maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE_EDEFAULT;
1441 }
1442 return super.eIsSet(featureID);
1443 }
1444
1445 /**
1446 * <!-- begin-user-doc -->
1447 * <!-- end-user-doc -->
1448 * @generated
1449 */
1450 @Override
1451 public String toString() {
1452 if (eIsProxy()) return super.toString();
1453
1454 StringBuilder result = new StringBuilder(super.toString());
1455 result.append(" (MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD: ");
1456 result.append(maximuM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD);
1457 result.append(", MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE: ");
1458 result.append(maximuM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE);
1459 result.append(", MINIMUM_SALARY: ");
1460 result.append(minimuM_SALARY);
1461 result.append(", FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION: ");
1462 result.append(flaT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION);
1463 result.append(", MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS: ");
1464 result.append(maximuM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS);
1465 result.append(", MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS: ");
1466 result.append(minimuM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS);
1467 result.append(", MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC: ");
1468 result.append(maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC);
1469 result.append(", MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE: ");
1470 result.append(maximuM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE);
1471 result.append(", MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION: ");
1472 result.append(maximaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
1473 result.append(", MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION: ");
1474 result.append(maximaL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
1475 result.append(", MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION: ");
1476 result.append(minimaL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
1477 result.append(", FLAT_RATE_CIM_DAILY: ");
1478 result.append(flaT_RATE_CIM_DAILY);
1479 result.append(", FLAT_RATE_CIM_MONTHLY: ");
1480 result.append(flaT_RATE_CIM_MONTHLY);
1481 result.append(", FLAT_RATE_CIM_YEARLY: ");
1482 result.append(flaT_RATE_CIM_YEARLY);
1483 result.append(", FLAT_RATE_CIP_DAILY: ");
1484 result.append(flaT_RATE_CIP_DAILY);
1485 result.append(", FLAT_RATE_CIP_MONTHLY: ");
1486 result.append(flaT_RATE_CIP_MONTHLY);
1487 result.append(", FLAT_RATE_CIP_YEARLY: ");
1488 result.append(flaT_RATE_CIP_YEARLY);
1489 result.append(", FLAT_RATE_CIS_DAILY: ");
1490 result.append(flaT_RATE_CIS_DAILY);
1491 result.append(", FLAT_RATE_CIS_MONTHLY: ");
1492 result.append(flaT_RATE_CIS_MONTHLY);
1493 result.append(", FLAT_RATE_CIS_YEARLY: ");
1494 result.append(flaT_RATE_CIS_YEARLY);
1495 result.append(", FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT: ");
1496 result.append(flaT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT);
1497 result.append(", MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS: ");
1498 result.append(maximuM_DEDUCTIBLE_AMOUNT_FOR_DS);
1499 result.append(", FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE: ");
1500 result.append(flaT_RATE_FOR_MISCELLANEOUS_EXPENSE);
1501 result.append(", DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE: ");
1502 result.append(disabilitY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE);
1503 result.append(", MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE: ");
1504 result.append(maximuM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE);
1505 result.append(')');
1506 return result.toString();
1507 }
1508
1509} //ConstantsImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DSImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DSImpl.java
new file mode 100644
index 00000000..6b696ea2
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DSImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.DS;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>DS</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.DSImpl#getMaximum_deductible_amount <em>Maximum deductible amount</em>}</li>
24 * <li>{@link Taxation.impl.DSImpl#getId3 <em>Id3</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class DSImpl extends MinimalEObjectImpl.Container implements DS {
30 /**
31 * The default value of the '{@link #getMaximum_deductible_amount() <em>Maximum deductible amount</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getMaximum_deductible_amount()
35 * @generated
36 * @ordered
37 */
38 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_EDEFAULT = 0.0;
39
40 /**
41 * The cached value of the '{@link #getMaximum_deductible_amount() <em>Maximum deductible amount</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getMaximum_deductible_amount()
45 * @generated
46 * @ordered
47 */
48 protected double maximum_deductible_amount = MAXIMUM_DEDUCTIBLE_AMOUNT_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #getId3() <em>Id3</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getId3()
55 * @generated
56 * @ordered
57 */
58 protected static final String ID3_EDEFAULT = null;
59
60 /**
61 * The cached value of the '{@link #getId3() <em>Id3</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getId3()
65 * @generated
66 * @ordered
67 */
68 protected String id3 = ID3_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected DSImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return TaxationPackage.Literals.DS;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public double getMaximum_deductible_amount() {
96 return maximum_deductible_amount;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setMaximum_deductible_amount(double newMaximum_deductible_amount) {
106 double oldMaximum_deductible_amount = maximum_deductible_amount;
107 maximum_deductible_amount = newMaximum_deductible_amount;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS__MAXIMUM_DEDUCTIBLE_AMOUNT, oldMaximum_deductible_amount, maximum_deductible_amount));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public String getId3() {
119 return id3;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setId3(String newId3) {
129 String oldId3 = id3;
130 id3 = newId3;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS__ID3, oldId3, id3));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case TaxationPackage.DS__MAXIMUM_DEDUCTIBLE_AMOUNT:
144 return getMaximum_deductible_amount();
145 case TaxationPackage.DS__ID3:
146 return getId3();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case TaxationPackage.DS__MAXIMUM_DEDUCTIBLE_AMOUNT:
160 setMaximum_deductible_amount((Double)newValue);
161 return;
162 case TaxationPackage.DS__ID3:
163 setId3((String)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case TaxationPackage.DS__MAXIMUM_DEDUCTIBLE_AMOUNT:
178 setMaximum_deductible_amount(MAXIMUM_DEDUCTIBLE_AMOUNT_EDEFAULT);
179 return;
180 case TaxationPackage.DS__ID3:
181 setId3(ID3_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case TaxationPackage.DS__MAXIMUM_DEDUCTIBLE_AMOUNT:
196 return maximum_deductible_amount != MAXIMUM_DEDUCTIBLE_AMOUNT_EDEFAULT;
197 case TaxationPackage.DS__ID3:
198 return ID3_EDEFAULT == null ? id3 != null : !ID3_EDEFAULT.equals(id3);
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (maximum_deductible_amount: ");
214 result.append(maximum_deductible_amount);
215 result.append(", id3: ");
216 result.append(id3);
217 result.append(')');
218 return result.toString();
219 }
220
221} //DSImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_DonationImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_DonationImpl.java
new file mode 100644
index 00000000..9cd390b5
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_DonationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.DS_for_Donation;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>DS for Donation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DS_for_DonationImpl extends DSImpl implements DS_for_Donation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DS_for_DonationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.DS_FOR_DONATION;
35 }
36
37} //DS_for_DonationImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Health_and_Pension_InsuranceImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Health_and_Pension_InsuranceImpl.java
new file mode 100644
index 00000000..11a07c5a
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Health_and_Pension_InsuranceImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Health_and_Pension_Insurances;
6import Taxation.DS_for_Health_and_Pension_Insurance;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>DS for Health and Pension Insurance</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.DS_for_Health_and_Pension_InsuranceImpl#getInsurance_category <em>Insurance category</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class DS_for_Health_and_Pension_InsuranceImpl extends DSImpl implements DS_for_Health_and_Pension_Insurance {
29 /**
30 * The default value of the '{@link #getInsurance_category() <em>Insurance category</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getInsurance_category()
34 * @generated
35 * @ordered
36 */
37 protected static final Category_of_Health_and_Pension_Insurances INSURANCE_CATEGORY_EDEFAULT = Category_of_Health_and_Pension_Insurances.MANDATORY_HEALTH_AND_PENSION_INSURANCE;
38
39 /**
40 * The cached value of the '{@link #getInsurance_category() <em>Insurance category</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getInsurance_category()
44 * @generated
45 * @ordered
46 */
47 protected Category_of_Health_and_Pension_Insurances insurance_category = INSURANCE_CATEGORY_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected DS_for_Health_and_Pension_InsuranceImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return TaxationPackage.Literals.DS_FOR_HEALTH_AND_PENSION_INSURANCE;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public Category_of_Health_and_Pension_Insurances getInsurance_category() {
75 return insurance_category;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setInsurance_category(Category_of_Health_and_Pension_Insurances newInsurance_category) {
85 Category_of_Health_and_Pension_Insurances oldInsurance_category = insurance_category;
86 insurance_category = newInsurance_category == null ? INSURANCE_CATEGORY_EDEFAULT : newInsurance_category;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY, oldInsurance_category, insurance_category));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY:
100 return getInsurance_category();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY:
114 setInsurance_category((Category_of_Health_and_Pension_Insurances)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY:
129 setInsurance_category(INSURANCE_CATEGORY_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY:
144 return insurance_category != INSURANCE_CATEGORY_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (insurance_category: ");
160 result.append(insurance_category);
161 result.append(')');
162 return result.toString();
163 }
164
165} //DS_for_Health_and_Pension_InsuranceImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Interest_ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Interest_ExpenseImpl.java
new file mode 100644
index 00000000..a4cf9cc1
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Interest_ExpenseImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.DS_for_Interest_Expense;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>DS for Interest Expense</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DS_for_Interest_ExpenseImpl extends DSImpl implements DS_for_Interest_Expense {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DS_for_Interest_ExpenseImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.DS_FOR_INTEREST_EXPENSE;
35 }
36
37} //DS_for_Interest_ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Loss_CarryforwardImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Loss_CarryforwardImpl.java
new file mode 100644
index 00000000..344ba90d
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Loss_CarryforwardImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.DS_for_Loss_Carryforward;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>DS for Loss Carryforward</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DS_for_Loss_CarryforwardImpl extends DSImpl implements DS_for_Loss_Carryforward {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DS_for_Loss_CarryforwardImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.DS_FOR_LOSS_CARRYFORWARD;
35 }
36
37} //DS_for_Loss_CarryforwardImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Permanent_ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Permanent_ExpenseImpl.java
new file mode 100644
index 00000000..d2172f09
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Permanent_ExpenseImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Permanent_Expense;
6import Taxation.DS_for_Permanent_Expense;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>DS for Permanent Expense</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.DS_for_Permanent_ExpenseImpl#getPermanent_expense_category <em>Permanent expense category</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class DS_for_Permanent_ExpenseImpl extends DSImpl implements DS_for_Permanent_Expense {
29 /**
30 * The default value of the '{@link #getPermanent_expense_category() <em>Permanent expense category</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getPermanent_expense_category()
34 * @generated
35 * @ordered
36 */
37 protected static final Category_of_Permanent_Expense PERMANENT_EXPENSE_CATEGORY_EDEFAULT = Category_of_Permanent_Expense.MISCELLANEOUS_DEBT;
38
39 /**
40 * The cached value of the '{@link #getPermanent_expense_category() <em>Permanent expense category</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getPermanent_expense_category()
44 * @generated
45 * @ordered
46 */
47 protected Category_of_Permanent_Expense permanent_expense_category = PERMANENT_EXPENSE_CATEGORY_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected DS_for_Permanent_ExpenseImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return TaxationPackage.Literals.DS_FOR_PERMANENT_EXPENSE;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public Category_of_Permanent_Expense getPermanent_expense_category() {
75 return permanent_expense_category;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setPermanent_expense_category(Category_of_Permanent_Expense newPermanent_expense_category) {
85 Category_of_Permanent_Expense oldPermanent_expense_category = permanent_expense_category;
86 permanent_expense_category = newPermanent_expense_category == null ? PERMANENT_EXPENSE_CATEGORY_EDEFAULT : newPermanent_expense_category;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY, oldPermanent_expense_category, permanent_expense_category));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case TaxationPackage.DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY:
100 return getPermanent_expense_category();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case TaxationPackage.DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY:
114 setPermanent_expense_category((Category_of_Permanent_Expense)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case TaxationPackage.DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY:
129 setPermanent_expense_category(PERMANENT_EXPENSE_CATEGORY_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case TaxationPackage.DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY:
144 return permanent_expense_category != PERMANENT_EXPENSE_CATEGORY_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (permanent_expense_category: ");
160 result.append(permanent_expense_category);
161 result.append(')');
162 return result.toString();
163 }
164
165} //DS_for_Permanent_ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Private_Insurance_and_PlanImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Private_Insurance_and_PlanImpl.java
new file mode 100644
index 00000000..d33beb48
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DS_for_Private_Insurance_and_PlanImpl.java
@@ -0,0 +1,333 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Private_Insurance_and_Plan;
6import Taxation.DS_for_Private_Insurance_and_Plan;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>DS for Private Insurance and Plan</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.DS_for_Private_Insurance_and_PlanImpl#getPrivate_insurance_and_plan_category <em>Private insurance and plan category</em>}</li>
24 * <li>{@link Taxation.impl.DS_for_Private_Insurance_and_PlanImpl#getIncrease_for_life_insurance <em>Increase for life insurance</em>}</li>
25 * <li>{@link Taxation.impl.DS_for_Private_Insurance_and_PlanImpl#getMaximum_deductible_amount_for_private_insurance <em>Maximum deductible amount for private insurance</em>}</li>
26 * <li>{@link Taxation.impl.DS_for_Private_Insurance_and_PlanImpl#getMaximum_deductible_amount_for_old_age_pension_plan <em>Maximum deductible amount for old age pension plan</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DS_for_Private_Insurance_and_PlanImpl extends DSImpl implements DS_for_Private_Insurance_and_Plan {
32 /**
33 * The default value of the '{@link #getPrivate_insurance_and_plan_category() <em>Private insurance and plan category</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getPrivate_insurance_and_plan_category()
37 * @generated
38 * @ordered
39 */
40 protected static final Category_of_Private_Insurance_and_Plan PRIVATE_INSURANCE_AND_PLAN_CATEGORY_EDEFAULT = Category_of_Private_Insurance_and_Plan.PRIVATE_INSURANCE;
41
42 /**
43 * The cached value of the '{@link #getPrivate_insurance_and_plan_category() <em>Private insurance and plan category</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getPrivate_insurance_and_plan_category()
47 * @generated
48 * @ordered
49 */
50 protected Category_of_Private_Insurance_and_Plan private_insurance_and_plan_category = PRIVATE_INSURANCE_AND_PLAN_CATEGORY_EDEFAULT;
51
52 /**
53 * The default value of the '{@link #getIncrease_for_life_insurance() <em>Increase for life insurance</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getIncrease_for_life_insurance()
57 * @generated
58 * @ordered
59 */
60 protected static final double INCREASE_FOR_LIFE_INSURANCE_EDEFAULT = 0.0;
61
62 /**
63 * The cached value of the '{@link #getIncrease_for_life_insurance() <em>Increase for life insurance</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getIncrease_for_life_insurance()
67 * @generated
68 * @ordered
69 */
70 protected double increase_for_life_insurance = INCREASE_FOR_LIFE_INSURANCE_EDEFAULT;
71
72 /**
73 * The default value of the '{@link #getMaximum_deductible_amount_for_private_insurance() <em>Maximum deductible amount for private insurance</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #getMaximum_deductible_amount_for_private_insurance()
77 * @generated
78 * @ordered
79 */
80 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE_EDEFAULT = 0.0;
81
82 /**
83 * The cached value of the '{@link #getMaximum_deductible_amount_for_private_insurance() <em>Maximum deductible amount for private insurance</em>}' attribute.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @see #getMaximum_deductible_amount_for_private_insurance()
87 * @generated
88 * @ordered
89 */
90 protected double maximum_deductible_amount_for_private_insurance = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE_EDEFAULT;
91
92 /**
93 * The default value of the '{@link #getMaximum_deductible_amount_for_old_age_pension_plan() <em>Maximum deductible amount for old age pension plan</em>}' attribute.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @see #getMaximum_deductible_amount_for_old_age_pension_plan()
97 * @generated
98 * @ordered
99 */
100 protected static final double MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN_EDEFAULT = 0.0;
101
102 /**
103 * The cached value of the '{@link #getMaximum_deductible_amount_for_old_age_pension_plan() <em>Maximum deductible amount for old age pension plan</em>}' attribute.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @see #getMaximum_deductible_amount_for_old_age_pension_plan()
107 * @generated
108 * @ordered
109 */
110 protected double maximum_deductible_amount_for_old_age_pension_plan = MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN_EDEFAULT;
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 protected DS_for_Private_Insurance_and_PlanImpl() {
118 super();
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 protected EClass eStaticClass() {
128 return TaxationPackage.Literals.DS_FOR_PRIVATE_INSURANCE_AND_PLAN;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public Category_of_Private_Insurance_and_Plan getPrivate_insurance_and_plan_category() {
138 return private_insurance_and_plan_category;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setPrivate_insurance_and_plan_category(Category_of_Private_Insurance_and_Plan newPrivate_insurance_and_plan_category) {
148 Category_of_Private_Insurance_and_Plan oldPrivate_insurance_and_plan_category = private_insurance_and_plan_category;
149 private_insurance_and_plan_category = newPrivate_insurance_and_plan_category == null ? PRIVATE_INSURANCE_AND_PLAN_CATEGORY_EDEFAULT : newPrivate_insurance_and_plan_category;
150 if (eNotificationRequired())
151 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY, oldPrivate_insurance_and_plan_category, private_insurance_and_plan_category));
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public double getIncrease_for_life_insurance() {
161 return increase_for_life_insurance;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public void setIncrease_for_life_insurance(double newIncrease_for_life_insurance) {
171 double oldIncrease_for_life_insurance = increase_for_life_insurance;
172 increase_for_life_insurance = newIncrease_for_life_insurance;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE, oldIncrease_for_life_insurance, increase_for_life_insurance));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public double getMaximum_deductible_amount_for_private_insurance() {
184 return maximum_deductible_amount_for_private_insurance;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void setMaximum_deductible_amount_for_private_insurance(double newMaximum_deductible_amount_for_private_insurance) {
194 double oldMaximum_deductible_amount_for_private_insurance = maximum_deductible_amount_for_private_insurance;
195 maximum_deductible_amount_for_private_insurance = newMaximum_deductible_amount_for_private_insurance;
196 if (eNotificationRequired())
197 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE, oldMaximum_deductible_amount_for_private_insurance, maximum_deductible_amount_for_private_insurance));
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public double getMaximum_deductible_amount_for_old_age_pension_plan() {
207 return maximum_deductible_amount_for_old_age_pension_plan;
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public void setMaximum_deductible_amount_for_old_age_pension_plan(double newMaximum_deductible_amount_for_old_age_pension_plan) {
217 double oldMaximum_deductible_amount_for_old_age_pension_plan = maximum_deductible_amount_for_old_age_pension_plan;
218 maximum_deductible_amount_for_old_age_pension_plan = newMaximum_deductible_amount_for_old_age_pension_plan;
219 if (eNotificationRequired())
220 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN, oldMaximum_deductible_amount_for_old_age_pension_plan, maximum_deductible_amount_for_old_age_pension_plan));
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public Object eGet(int featureID, boolean resolve, boolean coreType) {
230 switch (featureID) {
231 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY:
232 return getPrivate_insurance_and_plan_category();
233 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE:
234 return getIncrease_for_life_insurance();
235 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE:
236 return getMaximum_deductible_amount_for_private_insurance();
237 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN:
238 return getMaximum_deductible_amount_for_old_age_pension_plan();
239 }
240 return super.eGet(featureID, resolve, coreType);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public void eSet(int featureID, Object newValue) {
250 switch (featureID) {
251 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY:
252 setPrivate_insurance_and_plan_category((Category_of_Private_Insurance_and_Plan)newValue);
253 return;
254 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE:
255 setIncrease_for_life_insurance((Double)newValue);
256 return;
257 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE:
258 setMaximum_deductible_amount_for_private_insurance((Double)newValue);
259 return;
260 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN:
261 setMaximum_deductible_amount_for_old_age_pension_plan((Double)newValue);
262 return;
263 }
264 super.eSet(featureID, newValue);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public void eUnset(int featureID) {
274 switch (featureID) {
275 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY:
276 setPrivate_insurance_and_plan_category(PRIVATE_INSURANCE_AND_PLAN_CATEGORY_EDEFAULT);
277 return;
278 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE:
279 setIncrease_for_life_insurance(INCREASE_FOR_LIFE_INSURANCE_EDEFAULT);
280 return;
281 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE:
282 setMaximum_deductible_amount_for_private_insurance(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE_EDEFAULT);
283 return;
284 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN:
285 setMaximum_deductible_amount_for_old_age_pension_plan(MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN_EDEFAULT);
286 return;
287 }
288 super.eUnset(featureID);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public boolean eIsSet(int featureID) {
298 switch (featureID) {
299 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY:
300 return private_insurance_and_plan_category != PRIVATE_INSURANCE_AND_PLAN_CATEGORY_EDEFAULT;
301 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE:
302 return increase_for_life_insurance != INCREASE_FOR_LIFE_INSURANCE_EDEFAULT;
303 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE:
304 return maximum_deductible_amount_for_private_insurance != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE_EDEFAULT;
305 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN:
306 return maximum_deductible_amount_for_old_age_pension_plan != MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN_EDEFAULT;
307 }
308 return super.eIsSet(featureID);
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 @Override
317 public String toString() {
318 if (eIsProxy()) return super.toString();
319
320 StringBuilder result = new StringBuilder(super.toString());
321 result.append(" (private_insurance_and_plan_category: ");
322 result.append(private_insurance_and_plan_category);
323 result.append(", increase_for_life_insurance: ");
324 result.append(increase_for_life_insurance);
325 result.append(", maximum_deductible_amount_for_private_insurance: ");
326 result.append(maximum_deductible_amount_for_private_insurance);
327 result.append(", maximum_deductible_amount_for_old_age_pension_plan: ");
328 result.append(maximum_deductible_amount_for_old_age_pension_plan);
329 result.append(')');
330 return result.toString();
331 }
332
333} //DS_for_Private_Insurance_and_PlanImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java
new file mode 100644
index 00000000..0732ae44
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java
@@ -0,0 +1,598 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.Dependent_Type;
7import Taxation.Expense;
8import Taxation.External_Allowance;
9import Taxation.FromAgent;
10import Taxation.Household;
11import Taxation.Tax_Payer;
12import Taxation.TaxationPackage;
13
14import java.util.Collection;
15
16import org.eclipse.emf.common.notify.Notification;
17import org.eclipse.emf.common.notify.NotificationChain;
18
19import org.eclipse.emf.common.util.EList;
20
21import org.eclipse.emf.ecore.EClass;
22import org.eclipse.emf.ecore.InternalEObject;
23
24import org.eclipse.emf.ecore.impl.ENotificationImpl;
25import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
26import org.eclipse.emf.ecore.util.EcoreUtil;
27import org.eclipse.emf.ecore.util.InternalEList;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model object '<em><b>Dependent</b></em>'.
32 * <!-- end-user-doc -->
33 * <p>
34 * The following features are implemented:
35 * </p>
36 * <ul>
37 * <li>{@link Taxation.impl.DependentImpl#getDependent_type <em>Dependent type</em>}</li>
38 * <li>{@link Taxation.impl.DependentImpl#getResponsible_person <em>Responsible person</em>}</li>
39 * <li>{@link Taxation.impl.DependentImpl#isContinued_studies <em>Continued studies</em>}</li>
40 * <li>{@link Taxation.impl.DependentImpl#getAllowances <em>Allowances</em>}</li>
41 * <li>{@link Taxation.impl.DependentImpl#getHousehold <em>Household</em>}</li>
42 * <li>{@link Taxation.impl.DependentImpl#getFrom_agent <em>From agent</em>}</li>
43 * <li>{@link Taxation.impl.DependentImpl#getExpense <em>Expense</em>}</li>
44 * </ul>
45 *
46 * @generated
47 */
48public class DependentImpl extends Physical_PersonImpl implements Dependent {
49 /**
50 * The default value of the '{@link #getDependent_type() <em>Dependent type</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getDependent_type()
54 * @generated
55 * @ordered
56 */
57 protected static final Dependent_Type DEPENDENT_TYPE_EDEFAULT = Dependent_Type.CHILD;
58
59 /**
60 * The cached value of the '{@link #getDependent_type() <em>Dependent type</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getDependent_type()
64 * @generated
65 * @ordered
66 */
67 protected Dependent_Type dependent_type = DEPENDENT_TYPE_EDEFAULT;
68
69 /**
70 * The default value of the '{@link #isContinued_studies() <em>Continued studies</em>}' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #isContinued_studies()
74 * @generated
75 * @ordered
76 */
77 protected static final boolean CONTINUED_STUDIES_EDEFAULT = false;
78
79 /**
80 * The cached value of the '{@link #isContinued_studies() <em>Continued studies</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #isContinued_studies()
84 * @generated
85 * @ordered
86 */
87 protected boolean continued_studies = CONTINUED_STUDIES_EDEFAULT;
88
89 /**
90 * The cached value of the '{@link #getAllowances() <em>Allowances</em>}' containment reference.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getAllowances()
94 * @generated
95 * @ordered
96 */
97 protected External_Allowance allowances;
98
99 /**
100 * The cached value of the '{@link #getFrom_agent() <em>From agent</em>}' reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @see #getFrom_agent()
104 * @generated
105 * @ordered
106 */
107 protected FromAgent from_agent;
108
109 /**
110 * The cached value of the '{@link #getExpense() <em>Expense</em>}' reference list.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @see #getExpense()
114 * @generated
115 * @ordered
116 */
117 protected EList<Expense> expense;
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 protected DependentImpl() {
125 super();
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 protected EClass eStaticClass() {
135 return TaxationPackage.Literals.DEPENDENT;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public Dependent_Type getDependent_type() {
145 return dependent_type;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public void setDependent_type(Dependent_Type newDependent_type) {
155 Dependent_Type oldDependent_type = dependent_type;
156 dependent_type = newDependent_type == null ? DEPENDENT_TYPE_EDEFAULT : newDependent_type;
157 if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__DEPENDENT_TYPE, oldDependent_type, dependent_type));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public Tax_Payer getResponsible_person() {
168 if (eContainerFeatureID() != TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON) return null;
169 return (Tax_Payer)eInternalContainer();
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 public NotificationChain basicSetResponsible_person(Tax_Payer newResponsible_person, NotificationChain msgs) {
178 msgs = eBasicSetContainer((InternalEObject)newResponsible_person, TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON, msgs);
179 return msgs;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void setResponsible_person(Tax_Payer newResponsible_person) {
189 if (newResponsible_person != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON && newResponsible_person != null)) {
190 if (EcoreUtil.isAncestor(this, newResponsible_person))
191 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
192 NotificationChain msgs = null;
193 if (eInternalContainer() != null)
194 msgs = eBasicRemoveFromContainer(msgs);
195 if (newResponsible_person != null)
196 msgs = ((InternalEObject)newResponsible_person).eInverseAdd(this, TaxationPackage.TAX_PAYER__DEPENDENTS, Tax_Payer.class, msgs);
197 msgs = basicSetResponsible_person(newResponsible_person, msgs);
198 if (msgs != null) msgs.dispatch();
199 }
200 else if (eNotificationRequired())
201 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON, newResponsible_person, newResponsible_person));
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public boolean isContinued_studies() {
211 return continued_studies;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void setContinued_studies(boolean newContinued_studies) {
221 boolean oldContinued_studies = continued_studies;
222 continued_studies = newContinued_studies;
223 if (eNotificationRequired())
224 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__CONTINUED_STUDIES, oldContinued_studies, continued_studies));
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public External_Allowance getAllowances() {
234 return allowances;
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 public NotificationChain basicSetAllowances(External_Allowance newAllowances, NotificationChain msgs) {
243 External_Allowance oldAllowances = allowances;
244 allowances = newAllowances;
245 if (eNotificationRequired()) {
246 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__ALLOWANCES, oldAllowances, newAllowances);
247 if (msgs == null) msgs = notification; else msgs.add(notification);
248 }
249 return msgs;
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public void setAllowances(External_Allowance newAllowances) {
259 if (newAllowances != allowances) {
260 NotificationChain msgs = null;
261 if (allowances != null)
262 msgs = ((InternalEObject)allowances).eInverseRemove(this, TaxationPackage.EXTERNAL_ALLOWANCE__PERSON, External_Allowance.class, msgs);
263 if (newAllowances != null)
264 msgs = ((InternalEObject)newAllowances).eInverseAdd(this, TaxationPackage.EXTERNAL_ALLOWANCE__PERSON, External_Allowance.class, msgs);
265 msgs = basicSetAllowances(newAllowances, msgs);
266 if (msgs != null) msgs.dispatch();
267 }
268 else if (eNotificationRequired())
269 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__ALLOWANCES, newAllowances, newAllowances));
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public Household getHousehold() {
279 if (eContainerFeatureID() != TaxationPackage.DEPENDENT__HOUSEHOLD) return null;
280 return (Household)eInternalContainer();
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 public NotificationChain basicSetHousehold(Household newHousehold, NotificationChain msgs) {
289 msgs = eBasicSetContainer((InternalEObject)newHousehold, TaxationPackage.DEPENDENT__HOUSEHOLD, msgs);
290 return msgs;
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public void setHousehold(Household newHousehold) {
300 if (newHousehold != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.DEPENDENT__HOUSEHOLD && newHousehold != null)) {
301 if (EcoreUtil.isAncestor(this, newHousehold))
302 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
303 NotificationChain msgs = null;
304 if (eInternalContainer() != null)
305 msgs = eBasicRemoveFromContainer(msgs);
306 if (newHousehold != null)
307 msgs = ((InternalEObject)newHousehold).eInverseAdd(this, TaxationPackage.HOUSEHOLD__CHILDREN, Household.class, msgs);
308 msgs = basicSetHousehold(newHousehold, msgs);
309 if (msgs != null) msgs.dispatch();
310 }
311 else if (eNotificationRequired())
312 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__HOUSEHOLD, newHousehold, newHousehold));
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 @Override
321 public FromAgent getFrom_agent() {
322 if (from_agent != null && from_agent.eIsProxy()) {
323 InternalEObject oldFrom_agent = (InternalEObject)from_agent;
324 from_agent = (FromAgent)eResolveProxy(oldFrom_agent);
325 if (from_agent != oldFrom_agent) {
326 if (eNotificationRequired())
327 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.DEPENDENT__FROM_AGENT, oldFrom_agent, from_agent));
328 }
329 }
330 return from_agent;
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 public FromAgent basicGetFrom_agent() {
339 return from_agent;
340 }
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @generated
346 */
347 public NotificationChain basicSetFrom_agent(FromAgent newFrom_agent, NotificationChain msgs) {
348 FromAgent oldFrom_agent = from_agent;
349 from_agent = newFrom_agent;
350 if (eNotificationRequired()) {
351 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__FROM_AGENT, oldFrom_agent, newFrom_agent);
352 if (msgs == null) msgs = notification; else msgs.add(notification);
353 }
354 return msgs;
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 @Override
363 public void setFrom_agent(FromAgent newFrom_agent) {
364 if (newFrom_agent != from_agent) {
365 NotificationChain msgs = null;
366 if (from_agent != null)
367 msgs = ((InternalEObject)from_agent).eInverseRemove(this, TaxationPackage.FROM_AGENT__DEPENDENT, FromAgent.class, msgs);
368 if (newFrom_agent != null)
369 msgs = ((InternalEObject)newFrom_agent).eInverseAdd(this, TaxationPackage.FROM_AGENT__DEPENDENT, FromAgent.class, msgs);
370 msgs = basicSetFrom_agent(newFrom_agent, msgs);
371 if (msgs != null) msgs.dispatch();
372 }
373 else if (eNotificationRequired())
374 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DEPENDENT__FROM_AGENT, newFrom_agent, newFrom_agent));
375 }
376
377 /**
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @generated
381 */
382 @Override
383 public EList<Expense> getExpense() {
384 if (expense == null) {
385 expense = new EObjectWithInverseResolvingEList<Expense>(Expense.class, this, TaxationPackage.DEPENDENT__EXPENSE, TaxationPackage.EXPENSE__DEPENDENT);
386 }
387 return expense;
388 }
389
390 /**
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 */
395 @SuppressWarnings("unchecked")
396 @Override
397 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
398 switch (featureID) {
399 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
400 if (eInternalContainer() != null)
401 msgs = eBasicRemoveFromContainer(msgs);
402 return basicSetResponsible_person((Tax_Payer)otherEnd, msgs);
403 case TaxationPackage.DEPENDENT__ALLOWANCES:
404 if (allowances != null)
405 msgs = ((InternalEObject)allowances).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.DEPENDENT__ALLOWANCES, null, msgs);
406 return basicSetAllowances((External_Allowance)otherEnd, msgs);
407 case TaxationPackage.DEPENDENT__HOUSEHOLD:
408 if (eInternalContainer() != null)
409 msgs = eBasicRemoveFromContainer(msgs);
410 return basicSetHousehold((Household)otherEnd, msgs);
411 case TaxationPackage.DEPENDENT__FROM_AGENT:
412 if (from_agent != null)
413 msgs = ((InternalEObject)from_agent).eInverseRemove(this, TaxationPackage.FROM_AGENT__DEPENDENT, FromAgent.class, msgs);
414 return basicSetFrom_agent((FromAgent)otherEnd, msgs);
415 case TaxationPackage.DEPENDENT__EXPENSE:
416 return ((InternalEList<InternalEObject>)(InternalEList<?>)getExpense()).basicAdd(otherEnd, msgs);
417 }
418 return super.eInverseAdd(otherEnd, featureID, msgs);
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 @Override
427 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
428 switch (featureID) {
429 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
430 return basicSetResponsible_person(null, msgs);
431 case TaxationPackage.DEPENDENT__ALLOWANCES:
432 return basicSetAllowances(null, msgs);
433 case TaxationPackage.DEPENDENT__HOUSEHOLD:
434 return basicSetHousehold(null, msgs);
435 case TaxationPackage.DEPENDENT__FROM_AGENT:
436 return basicSetFrom_agent(null, msgs);
437 case TaxationPackage.DEPENDENT__EXPENSE:
438 return ((InternalEList<?>)getExpense()).basicRemove(otherEnd, msgs);
439 }
440 return super.eInverseRemove(otherEnd, featureID, msgs);
441 }
442
443 /**
444 * <!-- begin-user-doc -->
445 * <!-- end-user-doc -->
446 * @generated
447 */
448 @Override
449 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
450 switch (eContainerFeatureID()) {
451 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
452 return eInternalContainer().eInverseRemove(this, TaxationPackage.TAX_PAYER__DEPENDENTS, Tax_Payer.class, msgs);
453 case TaxationPackage.DEPENDENT__HOUSEHOLD:
454 return eInternalContainer().eInverseRemove(this, TaxationPackage.HOUSEHOLD__CHILDREN, Household.class, msgs);
455 }
456 return super.eBasicRemoveFromContainerFeature(msgs);
457 }
458
459 /**
460 * <!-- begin-user-doc -->
461 * <!-- end-user-doc -->
462 * @generated
463 */
464 @Override
465 public Object eGet(int featureID, boolean resolve, boolean coreType) {
466 switch (featureID) {
467 case TaxationPackage.DEPENDENT__DEPENDENT_TYPE:
468 return getDependent_type();
469 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
470 return getResponsible_person();
471 case TaxationPackage.DEPENDENT__CONTINUED_STUDIES:
472 return isContinued_studies();
473 case TaxationPackage.DEPENDENT__ALLOWANCES:
474 return getAllowances();
475 case TaxationPackage.DEPENDENT__HOUSEHOLD:
476 return getHousehold();
477 case TaxationPackage.DEPENDENT__FROM_AGENT:
478 if (resolve) return getFrom_agent();
479 return basicGetFrom_agent();
480 case TaxationPackage.DEPENDENT__EXPENSE:
481 return getExpense();
482 }
483 return super.eGet(featureID, resolve, coreType);
484 }
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 @SuppressWarnings("unchecked")
492 @Override
493 public void eSet(int featureID, Object newValue) {
494 switch (featureID) {
495 case TaxationPackage.DEPENDENT__DEPENDENT_TYPE:
496 setDependent_type((Dependent_Type)newValue);
497 return;
498 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
499 setResponsible_person((Tax_Payer)newValue);
500 return;
501 case TaxationPackage.DEPENDENT__CONTINUED_STUDIES:
502 setContinued_studies((Boolean)newValue);
503 return;
504 case TaxationPackage.DEPENDENT__ALLOWANCES:
505 setAllowances((External_Allowance)newValue);
506 return;
507 case TaxationPackage.DEPENDENT__HOUSEHOLD:
508 setHousehold((Household)newValue);
509 return;
510 case TaxationPackage.DEPENDENT__FROM_AGENT:
511 setFrom_agent((FromAgent)newValue);
512 return;
513 case TaxationPackage.DEPENDENT__EXPENSE:
514 getExpense().clear();
515 getExpense().addAll((Collection<? extends Expense>)newValue);
516 return;
517 }
518 super.eSet(featureID, newValue);
519 }
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 @Override
527 public void eUnset(int featureID) {
528 switch (featureID) {
529 case TaxationPackage.DEPENDENT__DEPENDENT_TYPE:
530 setDependent_type(DEPENDENT_TYPE_EDEFAULT);
531 return;
532 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
533 setResponsible_person((Tax_Payer)null);
534 return;
535 case TaxationPackage.DEPENDENT__CONTINUED_STUDIES:
536 setContinued_studies(CONTINUED_STUDIES_EDEFAULT);
537 return;
538 case TaxationPackage.DEPENDENT__ALLOWANCES:
539 setAllowances((External_Allowance)null);
540 return;
541 case TaxationPackage.DEPENDENT__HOUSEHOLD:
542 setHousehold((Household)null);
543 return;
544 case TaxationPackage.DEPENDENT__FROM_AGENT:
545 setFrom_agent((FromAgent)null);
546 return;
547 case TaxationPackage.DEPENDENT__EXPENSE:
548 getExpense().clear();
549 return;
550 }
551 super.eUnset(featureID);
552 }
553
554 /**
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @generated
558 */
559 @Override
560 public boolean eIsSet(int featureID) {
561 switch (featureID) {
562 case TaxationPackage.DEPENDENT__DEPENDENT_TYPE:
563 return dependent_type != DEPENDENT_TYPE_EDEFAULT;
564 case TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON:
565 return getResponsible_person() != null;
566 case TaxationPackage.DEPENDENT__CONTINUED_STUDIES:
567 return continued_studies != CONTINUED_STUDIES_EDEFAULT;
568 case TaxationPackage.DEPENDENT__ALLOWANCES:
569 return allowances != null;
570 case TaxationPackage.DEPENDENT__HOUSEHOLD:
571 return getHousehold() != null;
572 case TaxationPackage.DEPENDENT__FROM_AGENT:
573 return from_agent != null;
574 case TaxationPackage.DEPENDENT__EXPENSE:
575 return expense != null && !expense.isEmpty();
576 }
577 return super.eIsSet(featureID);
578 }
579
580 /**
581 * <!-- begin-user-doc -->
582 * <!-- end-user-doc -->
583 * @generated
584 */
585 @Override
586 public String toString() {
587 if (eIsProxy()) return super.toString();
588
589 StringBuilder result = new StringBuilder(super.toString());
590 result.append(" (dependent_type: ");
591 result.append(dependent_type);
592 result.append(", continued_studies: ");
593 result.append(continued_studies);
594 result.append(')');
595 return result.toString();
596 }
597
598} //DependentImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DonationImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DonationImpl.java
new file mode 100644
index 00000000..e631901a
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DonationImpl.java
@@ -0,0 +1,276 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Donation;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Donation</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.DonationImpl#getBeneficiary1 <em>Beneficiary1</em>}</li>
23 * <li>{@link Taxation.impl.DonationImpl#isIs_beneficiary_eligible <em>Is beneficiary eligible</em>}</li>
24 * <li>{@link Taxation.impl.DonationImpl#isIs_donation_reported <em>Is donation reported</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class DonationImpl extends Special_Expense_DSImpl implements Donation {
30 /**
31 * The default value of the '{@link #getBeneficiary1() <em>Beneficiary1</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getBeneficiary1()
35 * @generated
36 * @ordered
37 */
38 protected static final String BENEFICIARY1_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getBeneficiary1() <em>Beneficiary1</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getBeneficiary1()
45 * @generated
46 * @ordered
47 */
48 protected String beneficiary1 = BENEFICIARY1_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #isIs_beneficiary_eligible() <em>Is beneficiary eligible</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isIs_beneficiary_eligible()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean IS_BENEFICIARY_ELIGIBLE_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isIs_beneficiary_eligible() <em>Is beneficiary eligible</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isIs_beneficiary_eligible()
65 * @generated
66 * @ordered
67 */
68 protected boolean is_beneficiary_eligible = IS_BENEFICIARY_ELIGIBLE_EDEFAULT;
69
70 /**
71 * The default value of the '{@link #isIs_donation_reported() <em>Is donation reported</em>}' attribute.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #isIs_donation_reported()
75 * @generated
76 * @ordered
77 */
78 protected static final boolean IS_DONATION_REPORTED_EDEFAULT = false;
79
80 /**
81 * The cached value of the '{@link #isIs_donation_reported() <em>Is donation reported</em>}' attribute.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #isIs_donation_reported()
85 * @generated
86 * @ordered
87 */
88 protected boolean is_donation_reported = IS_DONATION_REPORTED_EDEFAULT;
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 protected DonationImpl() {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass() {
106 return TaxationPackage.Literals.DONATION;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public String getBeneficiary1() {
116 return beneficiary1;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void setBeneficiary1(String newBeneficiary1) {
126 String oldBeneficiary1 = beneficiary1;
127 beneficiary1 = newBeneficiary1;
128 if (eNotificationRequired())
129 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DONATION__BENEFICIARY1, oldBeneficiary1, beneficiary1));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean isIs_beneficiary_eligible() {
139 return is_beneficiary_eligible;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setIs_beneficiary_eligible(boolean newIs_beneficiary_eligible) {
149 boolean oldIs_beneficiary_eligible = is_beneficiary_eligible;
150 is_beneficiary_eligible = newIs_beneficiary_eligible;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DONATION__IS_BENEFICIARY_ELIGIBLE, oldIs_beneficiary_eligible, is_beneficiary_eligible));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public boolean isIs_donation_reported() {
162 return is_donation_reported;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public void setIs_donation_reported(boolean newIs_donation_reported) {
172 boolean oldIs_donation_reported = is_donation_reported;
173 is_donation_reported = newIs_donation_reported;
174 if (eNotificationRequired())
175 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.DONATION__IS_DONATION_REPORTED, oldIs_donation_reported, is_donation_reported));
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public Object eGet(int featureID, boolean resolve, boolean coreType) {
185 switch (featureID) {
186 case TaxationPackage.DONATION__BENEFICIARY1:
187 return getBeneficiary1();
188 case TaxationPackage.DONATION__IS_BENEFICIARY_ELIGIBLE:
189 return isIs_beneficiary_eligible();
190 case TaxationPackage.DONATION__IS_DONATION_REPORTED:
191 return isIs_donation_reported();
192 }
193 return super.eGet(featureID, resolve, coreType);
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public void eSet(int featureID, Object newValue) {
203 switch (featureID) {
204 case TaxationPackage.DONATION__BENEFICIARY1:
205 setBeneficiary1((String)newValue);
206 return;
207 case TaxationPackage.DONATION__IS_BENEFICIARY_ELIGIBLE:
208 setIs_beneficiary_eligible((Boolean)newValue);
209 return;
210 case TaxationPackage.DONATION__IS_DONATION_REPORTED:
211 setIs_donation_reported((Boolean)newValue);
212 return;
213 }
214 super.eSet(featureID, newValue);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public void eUnset(int featureID) {
224 switch (featureID) {
225 case TaxationPackage.DONATION__BENEFICIARY1:
226 setBeneficiary1(BENEFICIARY1_EDEFAULT);
227 return;
228 case TaxationPackage.DONATION__IS_BENEFICIARY_ELIGIBLE:
229 setIs_beneficiary_eligible(IS_BENEFICIARY_ELIGIBLE_EDEFAULT);
230 return;
231 case TaxationPackage.DONATION__IS_DONATION_REPORTED:
232 setIs_donation_reported(IS_DONATION_REPORTED_EDEFAULT);
233 return;
234 }
235 super.eUnset(featureID);
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 @Override
244 public boolean eIsSet(int featureID) {
245 switch (featureID) {
246 case TaxationPackage.DONATION__BENEFICIARY1:
247 return BENEFICIARY1_EDEFAULT == null ? beneficiary1 != null : !BENEFICIARY1_EDEFAULT.equals(beneficiary1);
248 case TaxationPackage.DONATION__IS_BENEFICIARY_ELIGIBLE:
249 return is_beneficiary_eligible != IS_BENEFICIARY_ELIGIBLE_EDEFAULT;
250 case TaxationPackage.DONATION__IS_DONATION_REPORTED:
251 return is_donation_reported != IS_DONATION_REPORTED_EDEFAULT;
252 }
253 return super.eIsSet(featureID);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public String toString() {
263 if (eIsProxy()) return super.toString();
264
265 StringBuilder result = new StringBuilder(super.toString());
266 result.append(" (beneficiary1: ");
267 result.append(beneficiary1);
268 result.append(", is_beneficiary_eligible: ");
269 result.append(is_beneficiary_eligible);
270 result.append(", is_donation_reported: ");
271 result.append(is_donation_reported);
272 result.append(')');
273 return result.toString();
274 }
275
276} //DonationImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Employment_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Employment_IncomeImpl.java
new file mode 100644
index 00000000..3cdce780
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Employment_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Employment_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Employment Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Employment_IncomeImpl extends Income_TypeImpl implements Employment_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Employment_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.EMPLOYMENT_INCOME;
35 }
36
37} //Employment_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java
new file mode 100644
index 00000000..70dfc53e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java
@@ -0,0 +1,653 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.Expense;
7import Taxation.Expense_Purpose;
8import Taxation.FromAgent;
9import Taxation.Income;
10import Taxation.Physical_Person;
11import Taxation.TaxationPackage;
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20
21import org.eclipse.emf.ecore.util.EcoreUtil;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Expense</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link Taxation.impl.ExpenseImpl#getDeclared_amount <em>Declared amount</em>}</li>
32 * <li>{@link Taxation.impl.ExpenseImpl#getExpense_purpose <em>Expense purpose</em>}</li>
33 * <li>{@link Taxation.impl.ExpenseImpl#getDependent <em>Dependent</em>}</li>
34 * <li>{@link Taxation.impl.ExpenseImpl#getFrom_agent <em>From agent</em>}</li>
35 * <li>{@link Taxation.impl.ExpenseImpl#getIncome <em>Income</em>}</li>
36 * <li>{@link Taxation.impl.ExpenseImpl#getId4 <em>Id4</em>}</li>
37 * <li>{@link Taxation.impl.ExpenseImpl#getBeneficiary <em>Beneficiary</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class ExpenseImpl extends MinimalEObjectImpl.Container implements Expense {
43 /**
44 * The default value of the '{@link #getDeclared_amount() <em>Declared amount</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getDeclared_amount()
48 * @generated
49 * @ordered
50 */
51 protected static final double DECLARED_AMOUNT_EDEFAULT = 0.0;
52
53 /**
54 * The cached value of the '{@link #getDeclared_amount() <em>Declared amount</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getDeclared_amount()
58 * @generated
59 * @ordered
60 */
61 protected double declared_amount = DECLARED_AMOUNT_EDEFAULT;
62
63 /**
64 * The default value of the '{@link #getExpense_purpose() <em>Expense purpose</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getExpense_purpose()
68 * @generated
69 * @ordered
70 */
71 protected static final Expense_Purpose EXPENSE_PURPOSE_EDEFAULT = Expense_Purpose.OTHER;
72
73 /**
74 * The cached value of the '{@link #getExpense_purpose() <em>Expense purpose</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #getExpense_purpose()
78 * @generated
79 * @ordered
80 */
81 protected Expense_Purpose expense_purpose = EXPENSE_PURPOSE_EDEFAULT;
82
83 /**
84 * The cached value of the '{@link #getDependent() <em>Dependent</em>}' reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #getDependent()
88 * @generated
89 * @ordered
90 */
91 protected Dependent dependent;
92
93 /**
94 * The cached value of the '{@link #getFrom_agent() <em>From agent</em>}' reference.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #getFrom_agent()
98 * @generated
99 * @ordered
100 */
101 protected FromAgent from_agent;
102
103 /**
104 * The default value of the '{@link #getId4() <em>Id4</em>}' attribute.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @see #getId4()
108 * @generated
109 * @ordered
110 */
111 protected static final String ID4_EDEFAULT = null;
112
113 /**
114 * The cached value of the '{@link #getId4() <em>Id4</em>}' attribute.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #getId4()
118 * @generated
119 * @ordered
120 */
121 protected String id4 = ID4_EDEFAULT;
122
123 /**
124 * The cached value of the '{@link #getBeneficiary() <em>Beneficiary</em>}' reference.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see #getBeneficiary()
128 * @generated
129 * @ordered
130 */
131 protected Physical_Person beneficiary;
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 protected ExpenseImpl() {
139 super();
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 protected EClass eStaticClass() {
149 return TaxationPackage.Literals.EXPENSE;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public double getDeclared_amount() {
159 return declared_amount;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setDeclared_amount(double newDeclared_amount) {
169 double oldDeclared_amount = declared_amount;
170 declared_amount = newDeclared_amount;
171 if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__DECLARED_AMOUNT, oldDeclared_amount, declared_amount));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public Expense_Purpose getExpense_purpose() {
182 return expense_purpose;
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public void setExpense_purpose(Expense_Purpose newExpense_purpose) {
192 Expense_Purpose oldExpense_purpose = expense_purpose;
193 expense_purpose = newExpense_purpose == null ? EXPENSE_PURPOSE_EDEFAULT : newExpense_purpose;
194 if (eNotificationRequired())
195 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__EXPENSE_PURPOSE, oldExpense_purpose, expense_purpose));
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public Dependent getDependent() {
205 if (dependent != null && dependent.eIsProxy()) {
206 InternalEObject oldDependent = (InternalEObject)dependent;
207 dependent = (Dependent)eResolveProxy(oldDependent);
208 if (dependent != oldDependent) {
209 if (eNotificationRequired())
210 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.EXPENSE__DEPENDENT, oldDependent, dependent));
211 }
212 }
213 return dependent;
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public Dependent basicGetDependent() {
222 return dependent;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 public NotificationChain basicSetDependent(Dependent newDependent, NotificationChain msgs) {
231 Dependent oldDependent = dependent;
232 dependent = newDependent;
233 if (eNotificationRequired()) {
234 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__DEPENDENT, oldDependent, newDependent);
235 if (msgs == null) msgs = notification; else msgs.add(notification);
236 }
237 return msgs;
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public void setDependent(Dependent newDependent) {
247 if (newDependent != dependent) {
248 NotificationChain msgs = null;
249 if (dependent != null)
250 msgs = ((InternalEObject)dependent).eInverseRemove(this, TaxationPackage.DEPENDENT__EXPENSE, Dependent.class, msgs);
251 if (newDependent != null)
252 msgs = ((InternalEObject)newDependent).eInverseAdd(this, TaxationPackage.DEPENDENT__EXPENSE, Dependent.class, msgs);
253 msgs = basicSetDependent(newDependent, msgs);
254 if (msgs != null) msgs.dispatch();
255 }
256 else if (eNotificationRequired())
257 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__DEPENDENT, newDependent, newDependent));
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public FromAgent getFrom_agent() {
267 if (from_agent != null && from_agent.eIsProxy()) {
268 InternalEObject oldFrom_agent = (InternalEObject)from_agent;
269 from_agent = (FromAgent)eResolveProxy(oldFrom_agent);
270 if (from_agent != oldFrom_agent) {
271 if (eNotificationRequired())
272 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.EXPENSE__FROM_AGENT, oldFrom_agent, from_agent));
273 }
274 }
275 return from_agent;
276 }
277
278 /**
279 * <!-- begin-user-doc -->
280 * <!-- end-user-doc -->
281 * @generated
282 */
283 public FromAgent basicGetFrom_agent() {
284 return from_agent;
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 public NotificationChain basicSetFrom_agent(FromAgent newFrom_agent, NotificationChain msgs) {
293 FromAgent oldFrom_agent = from_agent;
294 from_agent = newFrom_agent;
295 if (eNotificationRequired()) {
296 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__FROM_AGENT, oldFrom_agent, newFrom_agent);
297 if (msgs == null) msgs = notification; else msgs.add(notification);
298 }
299 return msgs;
300 }
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 @Override
308 public void setFrom_agent(FromAgent newFrom_agent) {
309 if (newFrom_agent != from_agent) {
310 NotificationChain msgs = null;
311 if (from_agent != null)
312 msgs = ((InternalEObject)from_agent).eInverseRemove(this, TaxationPackage.FROM_AGENT__EXPENSE, FromAgent.class, msgs);
313 if (newFrom_agent != null)
314 msgs = ((InternalEObject)newFrom_agent).eInverseAdd(this, TaxationPackage.FROM_AGENT__EXPENSE, FromAgent.class, msgs);
315 msgs = basicSetFrom_agent(newFrom_agent, msgs);
316 if (msgs != null) msgs.dispatch();
317 }
318 else if (eNotificationRequired())
319 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__FROM_AGENT, newFrom_agent, newFrom_agent));
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public Income getIncome() {
329 if (eContainerFeatureID() != TaxationPackage.EXPENSE__INCOME) return null;
330 return (Income)eInternalContainer();
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 public NotificationChain basicSetIncome(Income newIncome, NotificationChain msgs) {
339 msgs = eBasicSetContainer((InternalEObject)newIncome, TaxationPackage.EXPENSE__INCOME, msgs);
340 return msgs;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public void setIncome(Income newIncome) {
350 if (newIncome != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.EXPENSE__INCOME && newIncome != null)) {
351 if (EcoreUtil.isAncestor(this, newIncome))
352 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
353 NotificationChain msgs = null;
354 if (eInternalContainer() != null)
355 msgs = eBasicRemoveFromContainer(msgs);
356 if (newIncome != null)
357 msgs = ((InternalEObject)newIncome).eInverseAdd(this, TaxationPackage.INCOME__EXPENSES, Income.class, msgs);
358 msgs = basicSetIncome(newIncome, msgs);
359 if (msgs != null) msgs.dispatch();
360 }
361 else if (eNotificationRequired())
362 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__INCOME, newIncome, newIncome));
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 @Override
371 public String getId4() {
372 return id4;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public void setId4(String newId4) {
382 String oldId4 = id4;
383 id4 = newId4;
384 if (eNotificationRequired())
385 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__ID4, oldId4, id4));
386 }
387
388 /**
389 * <!-- begin-user-doc -->
390 * <!-- end-user-doc -->
391 * @generated
392 */
393 @Override
394 public Physical_Person getBeneficiary() {
395 if (beneficiary != null && beneficiary.eIsProxy()) {
396 InternalEObject oldBeneficiary = (InternalEObject)beneficiary;
397 beneficiary = (Physical_Person)eResolveProxy(oldBeneficiary);
398 if (beneficiary != oldBeneficiary) {
399 if (eNotificationRequired())
400 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.EXPENSE__BENEFICIARY, oldBeneficiary, beneficiary));
401 }
402 }
403 return beneficiary;
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 public Physical_Person basicGetBeneficiary() {
412 return beneficiary;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 public NotificationChain basicSetBeneficiary(Physical_Person newBeneficiary, NotificationChain msgs) {
421 Physical_Person oldBeneficiary = beneficiary;
422 beneficiary = newBeneficiary;
423 if (eNotificationRequired()) {
424 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__BENEFICIARY, oldBeneficiary, newBeneficiary);
425 if (msgs == null) msgs = notification; else msgs.add(notification);
426 }
427 return msgs;
428 }
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 @Override
436 public void setBeneficiary(Physical_Person newBeneficiary) {
437 if (newBeneficiary != beneficiary) {
438 NotificationChain msgs = null;
439 if (beneficiary != null)
440 msgs = ((InternalEObject)beneficiary).eInverseRemove(this, TaxationPackage.PHYSICAL_PERSON__EXPENSES, Physical_Person.class, msgs);
441 if (newBeneficiary != null)
442 msgs = ((InternalEObject)newBeneficiary).eInverseAdd(this, TaxationPackage.PHYSICAL_PERSON__EXPENSES, Physical_Person.class, msgs);
443 msgs = basicSetBeneficiary(newBeneficiary, msgs);
444 if (msgs != null) msgs.dispatch();
445 }
446 else if (eNotificationRequired())
447 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXPENSE__BENEFICIARY, newBeneficiary, newBeneficiary));
448 }
449
450 /**
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @generated
454 */
455 @Override
456 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
457 switch (featureID) {
458 case TaxationPackage.EXPENSE__DEPENDENT:
459 if (dependent != null)
460 msgs = ((InternalEObject)dependent).eInverseRemove(this, TaxationPackage.DEPENDENT__EXPENSE, Dependent.class, msgs);
461 return basicSetDependent((Dependent)otherEnd, msgs);
462 case TaxationPackage.EXPENSE__FROM_AGENT:
463 if (from_agent != null)
464 msgs = ((InternalEObject)from_agent).eInverseRemove(this, TaxationPackage.FROM_AGENT__EXPENSE, FromAgent.class, msgs);
465 return basicSetFrom_agent((FromAgent)otherEnd, msgs);
466 case TaxationPackage.EXPENSE__INCOME:
467 if (eInternalContainer() != null)
468 msgs = eBasicRemoveFromContainer(msgs);
469 return basicSetIncome((Income)otherEnd, msgs);
470 case TaxationPackage.EXPENSE__BENEFICIARY:
471 if (beneficiary != null)
472 msgs = ((InternalEObject)beneficiary).eInverseRemove(this, TaxationPackage.PHYSICAL_PERSON__EXPENSES, Physical_Person.class, msgs);
473 return basicSetBeneficiary((Physical_Person)otherEnd, msgs);
474 }
475 return super.eInverseAdd(otherEnd, featureID, msgs);
476 }
477
478 /**
479 * <!-- begin-user-doc -->
480 * <!-- end-user-doc -->
481 * @generated
482 */
483 @Override
484 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
485 switch (featureID) {
486 case TaxationPackage.EXPENSE__DEPENDENT:
487 return basicSetDependent(null, msgs);
488 case TaxationPackage.EXPENSE__FROM_AGENT:
489 return basicSetFrom_agent(null, msgs);
490 case TaxationPackage.EXPENSE__INCOME:
491 return basicSetIncome(null, msgs);
492 case TaxationPackage.EXPENSE__BENEFICIARY:
493 return basicSetBeneficiary(null, msgs);
494 }
495 return super.eInverseRemove(otherEnd, featureID, msgs);
496 }
497
498 /**
499 * <!-- begin-user-doc -->
500 * <!-- end-user-doc -->
501 * @generated
502 */
503 @Override
504 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
505 switch (eContainerFeatureID()) {
506 case TaxationPackage.EXPENSE__INCOME:
507 return eInternalContainer().eInverseRemove(this, TaxationPackage.INCOME__EXPENSES, Income.class, msgs);
508 }
509 return super.eBasicRemoveFromContainerFeature(msgs);
510 }
511
512 /**
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 */
517 @Override
518 public Object eGet(int featureID, boolean resolve, boolean coreType) {
519 switch (featureID) {
520 case TaxationPackage.EXPENSE__DECLARED_AMOUNT:
521 return getDeclared_amount();
522 case TaxationPackage.EXPENSE__EXPENSE_PURPOSE:
523 return getExpense_purpose();
524 case TaxationPackage.EXPENSE__DEPENDENT:
525 if (resolve) return getDependent();
526 return basicGetDependent();
527 case TaxationPackage.EXPENSE__FROM_AGENT:
528 if (resolve) return getFrom_agent();
529 return basicGetFrom_agent();
530 case TaxationPackage.EXPENSE__INCOME:
531 return getIncome();
532 case TaxationPackage.EXPENSE__ID4:
533 return getId4();
534 case TaxationPackage.EXPENSE__BENEFICIARY:
535 if (resolve) return getBeneficiary();
536 return basicGetBeneficiary();
537 }
538 return super.eGet(featureID, resolve, coreType);
539 }
540
541 /**
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 */
546 @Override
547 public void eSet(int featureID, Object newValue) {
548 switch (featureID) {
549 case TaxationPackage.EXPENSE__DECLARED_AMOUNT:
550 setDeclared_amount((Double)newValue);
551 return;
552 case TaxationPackage.EXPENSE__EXPENSE_PURPOSE:
553 setExpense_purpose((Expense_Purpose)newValue);
554 return;
555 case TaxationPackage.EXPENSE__DEPENDENT:
556 setDependent((Dependent)newValue);
557 return;
558 case TaxationPackage.EXPENSE__FROM_AGENT:
559 setFrom_agent((FromAgent)newValue);
560 return;
561 case TaxationPackage.EXPENSE__INCOME:
562 setIncome((Income)newValue);
563 return;
564 case TaxationPackage.EXPENSE__ID4:
565 setId4((String)newValue);
566 return;
567 case TaxationPackage.EXPENSE__BENEFICIARY:
568 setBeneficiary((Physical_Person)newValue);
569 return;
570 }
571 super.eSet(featureID, newValue);
572 }
573
574 /**
575 * <!-- begin-user-doc -->
576 * <!-- end-user-doc -->
577 * @generated
578 */
579 @Override
580 public void eUnset(int featureID) {
581 switch (featureID) {
582 case TaxationPackage.EXPENSE__DECLARED_AMOUNT:
583 setDeclared_amount(DECLARED_AMOUNT_EDEFAULT);
584 return;
585 case TaxationPackage.EXPENSE__EXPENSE_PURPOSE:
586 setExpense_purpose(EXPENSE_PURPOSE_EDEFAULT);
587 return;
588 case TaxationPackage.EXPENSE__DEPENDENT:
589 setDependent((Dependent)null);
590 return;
591 case TaxationPackage.EXPENSE__FROM_AGENT:
592 setFrom_agent((FromAgent)null);
593 return;
594 case TaxationPackage.EXPENSE__INCOME:
595 setIncome((Income)null);
596 return;
597 case TaxationPackage.EXPENSE__ID4:
598 setId4(ID4_EDEFAULT);
599 return;
600 case TaxationPackage.EXPENSE__BENEFICIARY:
601 setBeneficiary((Physical_Person)null);
602 return;
603 }
604 super.eUnset(featureID);
605 }
606
607 /**
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @generated
611 */
612 @Override
613 public boolean eIsSet(int featureID) {
614 switch (featureID) {
615 case TaxationPackage.EXPENSE__DECLARED_AMOUNT:
616 return declared_amount != DECLARED_AMOUNT_EDEFAULT;
617 case TaxationPackage.EXPENSE__EXPENSE_PURPOSE:
618 return expense_purpose != EXPENSE_PURPOSE_EDEFAULT;
619 case TaxationPackage.EXPENSE__DEPENDENT:
620 return dependent != null;
621 case TaxationPackage.EXPENSE__FROM_AGENT:
622 return from_agent != null;
623 case TaxationPackage.EXPENSE__INCOME:
624 return getIncome() != null;
625 case TaxationPackage.EXPENSE__ID4:
626 return ID4_EDEFAULT == null ? id4 != null : !ID4_EDEFAULT.equals(id4);
627 case TaxationPackage.EXPENSE__BENEFICIARY:
628 return beneficiary != null;
629 }
630 return super.eIsSet(featureID);
631 }
632
633 /**
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @generated
637 */
638 @Override
639 public String toString() {
640 if (eIsProxy()) return super.toString();
641
642 StringBuilder result = new StringBuilder(super.toString());
643 result.append(" (declared_amount: ");
644 result.append(declared_amount);
645 result.append(", expense_purpose: ");
646 result.append(expense_purpose);
647 result.append(", id4: ");
648 result.append(id4);
649 result.append(')');
650 return result.toString();
651 }
652
653} //ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java
new file mode 100644
index 00000000..0d0119a5
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java
@@ -0,0 +1,555 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.External_Allowance;
7import Taxation.Grantor;
8import Taxation.Physical_Person;
9import Taxation.TaxationPackage;
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EcoreUtil;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>External Allowance</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link Taxation.impl.External_AllowanceImpl#getAmount <em>Amount</em>}</li>
30 * <li>{@link Taxation.impl.External_AllowanceImpl#getGrantor <em>Grantor</em>}</li>
31 * <li>{@link Taxation.impl.External_AllowanceImpl#getStarting_year <em>Starting year</em>}</li>
32 * <li>{@link Taxation.impl.External_AllowanceImpl#getEnding_year <em>Ending year</em>}</li>
33 * <li>{@link Taxation.impl.External_AllowanceImpl#getReciver <em>Reciver</em>}</li>
34 * <li>{@link Taxation.impl.External_AllowanceImpl#getId5 <em>Id5</em>}</li>
35 * <li>{@link Taxation.impl.External_AllowanceImpl#getPerson <em>Person</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class External_AllowanceImpl extends MinimalEObjectImpl.Container implements External_Allowance {
41 /**
42 * The default value of the '{@link #getAmount() <em>Amount</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getAmount()
46 * @generated
47 * @ordered
48 */
49 protected static final double AMOUNT_EDEFAULT = 0.0;
50
51 /**
52 * The cached value of the '{@link #getAmount() <em>Amount</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getAmount()
56 * @generated
57 * @ordered
58 */
59 protected double amount = AMOUNT_EDEFAULT;
60
61 /**
62 * The default value of the '{@link #getGrantor() <em>Grantor</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getGrantor()
66 * @generated
67 * @ordered
68 */
69 protected static final Grantor GRANTOR_EDEFAULT = Grantor.WWW;
70
71 /**
72 * The cached value of the '{@link #getGrantor() <em>Grantor</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getGrantor()
76 * @generated
77 * @ordered
78 */
79 protected Grantor grantor = GRANTOR_EDEFAULT;
80
81 /**
82 * The default value of the '{@link #getStarting_year() <em>Starting year</em>}' attribute.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @see #getStarting_year()
86 * @generated
87 * @ordered
88 */
89 protected static final int STARTING_YEAR_EDEFAULT = 0;
90
91 /**
92 * The cached value of the '{@link #getStarting_year() <em>Starting year</em>}' attribute.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @see #getStarting_year()
96 * @generated
97 * @ordered
98 */
99 protected int starting_year = STARTING_YEAR_EDEFAULT;
100
101 /**
102 * The default value of the '{@link #getEnding_year() <em>Ending year</em>}' attribute.
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @see #getEnding_year()
106 * @generated
107 * @ordered
108 */
109 protected static final int ENDING_YEAR_EDEFAULT = 0;
110
111 /**
112 * The cached value of the '{@link #getEnding_year() <em>Ending year</em>}' attribute.
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @see #getEnding_year()
116 * @generated
117 * @ordered
118 */
119 protected int ending_year = ENDING_YEAR_EDEFAULT;
120
121 /**
122 * The cached value of the '{@link #getReciver() <em>Reciver</em>}' reference.
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @see #getReciver()
126 * @generated
127 * @ordered
128 */
129 protected Physical_Person reciver;
130
131 /**
132 * The default value of the '{@link #getId5() <em>Id5</em>}' attribute.
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @see #getId5()
136 * @generated
137 * @ordered
138 */
139 protected static final String ID5_EDEFAULT = null;
140
141 /**
142 * The cached value of the '{@link #getId5() <em>Id5</em>}' attribute.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @see #getId5()
146 * @generated
147 * @ordered
148 */
149 protected String id5 = ID5_EDEFAULT;
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 protected External_AllowanceImpl() {
157 super();
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 protected EClass eStaticClass() {
167 return TaxationPackage.Literals.EXTERNAL_ALLOWANCE;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public double getAmount() {
177 return amount;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void setAmount(double newAmount) {
187 double oldAmount = amount;
188 amount = newAmount;
189 if (eNotificationRequired())
190 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__AMOUNT, oldAmount, amount));
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Grantor getGrantor() {
200 return grantor;
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void setGrantor(Grantor newGrantor) {
210 Grantor oldGrantor = grantor;
211 grantor = newGrantor == null ? GRANTOR_EDEFAULT : newGrantor;
212 if (eNotificationRequired())
213 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__GRANTOR, oldGrantor, grantor));
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public int getStarting_year() {
223 return starting_year;
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public void setStarting_year(int newStarting_year) {
233 int oldStarting_year = starting_year;
234 starting_year = newStarting_year;
235 if (eNotificationRequired())
236 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__STARTING_YEAR, oldStarting_year, starting_year));
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public int getEnding_year() {
246 return ending_year;
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 @Override
255 public void setEnding_year(int newEnding_year) {
256 int oldEnding_year = ending_year;
257 ending_year = newEnding_year;
258 if (eNotificationRequired())
259 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__ENDING_YEAR, oldEnding_year, ending_year));
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @Override
268 public Physical_Person getReciver() {
269 if (reciver != null && reciver.eIsProxy()) {
270 InternalEObject oldReciver = (InternalEObject)reciver;
271 reciver = (Physical_Person)eResolveProxy(oldReciver);
272 if (reciver != oldReciver) {
273 if (eNotificationRequired())
274 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER, oldReciver, reciver));
275 }
276 }
277 return reciver;
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 public Physical_Person basicGetReciver() {
286 return reciver;
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public void setReciver(Physical_Person newReciver) {
296 Physical_Person oldReciver = reciver;
297 reciver = newReciver;
298 if (eNotificationRequired())
299 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER, oldReciver, reciver));
300 }
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 @Override
308 public String getId5() {
309 return id5;
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 @Override
318 public void setId5(String newId5) {
319 String oldId5 = id5;
320 id5 = newId5;
321 if (eNotificationRequired())
322 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__ID5, oldId5, id5));
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 @Override
331 public Dependent getPerson() {
332 if (eContainerFeatureID() != TaxationPackage.EXTERNAL_ALLOWANCE__PERSON) return null;
333 return (Dependent)eInternalContainer();
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 public NotificationChain basicSetPerson(Dependent newPerson, NotificationChain msgs) {
342 msgs = eBasicSetContainer((InternalEObject)newPerson, TaxationPackage.EXTERNAL_ALLOWANCE__PERSON, msgs);
343 return msgs;
344 }
345
346 /**
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 */
351 @Override
352 public void setPerson(Dependent newPerson) {
353 if (newPerson != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.EXTERNAL_ALLOWANCE__PERSON && newPerson != null)) {
354 if (EcoreUtil.isAncestor(this, newPerson))
355 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
356 NotificationChain msgs = null;
357 if (eInternalContainer() != null)
358 msgs = eBasicRemoveFromContainer(msgs);
359 if (newPerson != null)
360 msgs = ((InternalEObject)newPerson).eInverseAdd(this, TaxationPackage.DEPENDENT__ALLOWANCES, Dependent.class, msgs);
361 msgs = basicSetPerson(newPerson, msgs);
362 if (msgs != null) msgs.dispatch();
363 }
364 else if (eNotificationRequired())
365 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTERNAL_ALLOWANCE__PERSON, newPerson, newPerson));
366 }
367
368 /**
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @generated
372 */
373 @Override
374 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
375 switch (featureID) {
376 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
377 if (eInternalContainer() != null)
378 msgs = eBasicRemoveFromContainer(msgs);
379 return basicSetPerson((Dependent)otherEnd, msgs);
380 }
381 return super.eInverseAdd(otherEnd, featureID, msgs);
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
391 switch (featureID) {
392 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
393 return basicSetPerson(null, msgs);
394 }
395 return super.eInverseRemove(otherEnd, featureID, msgs);
396 }
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 @Override
404 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
405 switch (eContainerFeatureID()) {
406 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
407 return eInternalContainer().eInverseRemove(this, TaxationPackage.DEPENDENT__ALLOWANCES, Dependent.class, msgs);
408 }
409 return super.eBasicRemoveFromContainerFeature(msgs);
410 }
411
412 /**
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @generated
416 */
417 @Override
418 public Object eGet(int featureID, boolean resolve, boolean coreType) {
419 switch (featureID) {
420 case TaxationPackage.EXTERNAL_ALLOWANCE__AMOUNT:
421 return getAmount();
422 case TaxationPackage.EXTERNAL_ALLOWANCE__GRANTOR:
423 return getGrantor();
424 case TaxationPackage.EXTERNAL_ALLOWANCE__STARTING_YEAR:
425 return getStarting_year();
426 case TaxationPackage.EXTERNAL_ALLOWANCE__ENDING_YEAR:
427 return getEnding_year();
428 case TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER:
429 if (resolve) return getReciver();
430 return basicGetReciver();
431 case TaxationPackage.EXTERNAL_ALLOWANCE__ID5:
432 return getId5();
433 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
434 return getPerson();
435 }
436 return super.eGet(featureID, resolve, coreType);
437 }
438
439 /**
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 */
444 @Override
445 public void eSet(int featureID, Object newValue) {
446 switch (featureID) {
447 case TaxationPackage.EXTERNAL_ALLOWANCE__AMOUNT:
448 setAmount((Double)newValue);
449 return;
450 case TaxationPackage.EXTERNAL_ALLOWANCE__GRANTOR:
451 setGrantor((Grantor)newValue);
452 return;
453 case TaxationPackage.EXTERNAL_ALLOWANCE__STARTING_YEAR:
454 setStarting_year((Integer)newValue);
455 return;
456 case TaxationPackage.EXTERNAL_ALLOWANCE__ENDING_YEAR:
457 setEnding_year((Integer)newValue);
458 return;
459 case TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER:
460 setReciver((Physical_Person)newValue);
461 return;
462 case TaxationPackage.EXTERNAL_ALLOWANCE__ID5:
463 setId5((String)newValue);
464 return;
465 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
466 setPerson((Dependent)newValue);
467 return;
468 }
469 super.eSet(featureID, newValue);
470 }
471
472 /**
473 * <!-- begin-user-doc -->
474 * <!-- end-user-doc -->
475 * @generated
476 */
477 @Override
478 public void eUnset(int featureID) {
479 switch (featureID) {
480 case TaxationPackage.EXTERNAL_ALLOWANCE__AMOUNT:
481 setAmount(AMOUNT_EDEFAULT);
482 return;
483 case TaxationPackage.EXTERNAL_ALLOWANCE__GRANTOR:
484 setGrantor(GRANTOR_EDEFAULT);
485 return;
486 case TaxationPackage.EXTERNAL_ALLOWANCE__STARTING_YEAR:
487 setStarting_year(STARTING_YEAR_EDEFAULT);
488 return;
489 case TaxationPackage.EXTERNAL_ALLOWANCE__ENDING_YEAR:
490 setEnding_year(ENDING_YEAR_EDEFAULT);
491 return;
492 case TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER:
493 setReciver((Physical_Person)null);
494 return;
495 case TaxationPackage.EXTERNAL_ALLOWANCE__ID5:
496 setId5(ID5_EDEFAULT);
497 return;
498 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
499 setPerson((Dependent)null);
500 return;
501 }
502 super.eUnset(featureID);
503 }
504
505 /**
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @generated
509 */
510 @Override
511 public boolean eIsSet(int featureID) {
512 switch (featureID) {
513 case TaxationPackage.EXTERNAL_ALLOWANCE__AMOUNT:
514 return amount != AMOUNT_EDEFAULT;
515 case TaxationPackage.EXTERNAL_ALLOWANCE__GRANTOR:
516 return grantor != GRANTOR_EDEFAULT;
517 case TaxationPackage.EXTERNAL_ALLOWANCE__STARTING_YEAR:
518 return starting_year != STARTING_YEAR_EDEFAULT;
519 case TaxationPackage.EXTERNAL_ALLOWANCE__ENDING_YEAR:
520 return ending_year != ENDING_YEAR_EDEFAULT;
521 case TaxationPackage.EXTERNAL_ALLOWANCE__RECIVER:
522 return reciver != null;
523 case TaxationPackage.EXTERNAL_ALLOWANCE__ID5:
524 return ID5_EDEFAULT == null ? id5 != null : !ID5_EDEFAULT.equals(id5);
525 case TaxationPackage.EXTERNAL_ALLOWANCE__PERSON:
526 return getPerson() != null;
527 }
528 return super.eIsSet(featureID);
529 }
530
531 /**
532 * <!-- begin-user-doc -->
533 * <!-- end-user-doc -->
534 * @generated
535 */
536 @Override
537 public String toString() {
538 if (eIsProxy()) return super.toString();
539
540 StringBuilder result = new StringBuilder(super.toString());
541 result.append(" (amount: ");
542 result.append(amount);
543 result.append(", grantor: ");
544 result.append(grantor);
545 result.append(", starting_year: ");
546 result.append(starting_year);
547 result.append(", ending_year: ");
548 result.append(ending_year);
549 result.append(", id5: ");
550 result.append(id5);
551 result.append(')');
552 return result.toString();
553 }
554
555} //External_AllowanceImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Extraordinary_Expense_CEImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Extraordinary_Expense_CEImpl.java
new file mode 100644
index 00000000..ce69931c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Extraordinary_Expense_CEImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.CE_Type;
6import Taxation.Extraordinary_Expense_CE;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Extraordinary Expense CE</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.Extraordinary_Expense_CEImpl#getThresholded_deduction_percentage <em>Thresholded deduction percentage</em>}</li>
24 * <li>{@link Taxation.impl.Extraordinary_Expense_CEImpl#getCe_type <em>Ce type</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class Extraordinary_Expense_CEImpl extends ExpenseImpl implements Extraordinary_Expense_CE {
30 /**
31 * The default value of the '{@link #getThresholded_deduction_percentage() <em>Thresholded deduction percentage</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getThresholded_deduction_percentage()
35 * @generated
36 * @ordered
37 */
38 protected static final double THRESHOLDED_DEDUCTION_PERCENTAGE_EDEFAULT = 0.0;
39
40 /**
41 * The cached value of the '{@link #getThresholded_deduction_percentage() <em>Thresholded deduction percentage</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getThresholded_deduction_percentage()
45 * @generated
46 * @ordered
47 */
48 protected double thresholded_deduction_percentage = THRESHOLDED_DEDUCTION_PERCENTAGE_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #getCe_type() <em>Ce type</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getCe_type()
55 * @generated
56 * @ordered
57 */
58 protected static final CE_Type CE_TYPE_EDEFAULT = CE_Type.INALIDITY_AND_INFIRMITY;
59
60 /**
61 * The cached value of the '{@link #getCe_type() <em>Ce type</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getCe_type()
65 * @generated
66 * @ordered
67 */
68 protected CE_Type ce_type = CE_TYPE_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected Extraordinary_Expense_CEImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return TaxationPackage.Literals.EXTRAORDINARY_EXPENSE_CE;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public double getThresholded_deduction_percentage() {
96 return thresholded_deduction_percentage;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setThresholded_deduction_percentage(double newThresholded_deduction_percentage) {
106 double oldThresholded_deduction_percentage = thresholded_deduction_percentage;
107 thresholded_deduction_percentage = newThresholded_deduction_percentage;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE, oldThresholded_deduction_percentage, thresholded_deduction_percentage));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public CE_Type getCe_type() {
119 return ce_type;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setCe_type(CE_Type newCe_type) {
129 CE_Type oldCe_type = ce_type;
130 ce_type = newCe_type == null ? CE_TYPE_EDEFAULT : newCe_type;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.EXTRAORDINARY_EXPENSE_CE__CE_TYPE, oldCe_type, ce_type));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE:
144 return getThresholded_deduction_percentage();
145 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__CE_TYPE:
146 return getCe_type();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE:
160 setThresholded_deduction_percentage((Double)newValue);
161 return;
162 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__CE_TYPE:
163 setCe_type((CE_Type)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE:
178 setThresholded_deduction_percentage(THRESHOLDED_DEDUCTION_PERCENTAGE_EDEFAULT);
179 return;
180 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__CE_TYPE:
181 setCe_type(CE_TYPE_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE:
196 return thresholded_deduction_percentage != THRESHOLDED_DEDUCTION_PERCENTAGE_EDEFAULT;
197 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE__CE_TYPE:
198 return ce_type != CE_TYPE_EDEFAULT;
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (thresholded_deduction_percentage: ");
214 result.append(thresholded_deduction_percentage);
215 result.append(", ce_type: ");
216 result.append(ce_type);
217 result.append(')');
218 return result.toString();
219 }
220
221} //Extraordinary_Expense_CEImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FDImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FDImpl.java
new file mode 100644
index 00000000..70b890f3
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FDImpl.java
@@ -0,0 +1,220 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.FD;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>FD</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.FDImpl#getDistance_declared_in_january <em>Distance declared in january</em>}</li>
23 * <li>{@link Taxation.impl.FDImpl#getCalculated_distance <em>Calculated distance</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class FDImpl extends Professional_Expenses_DeductionImpl implements FD {
29 /**
30 * The default value of the '{@link #getDistance_declared_in_january() <em>Distance declared in january</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getDistance_declared_in_january()
34 * @generated
35 * @ordered
36 */
37 protected static final double DISTANCE_DECLARED_IN_JANUARY_EDEFAULT = 0.0;
38
39 /**
40 * The cached value of the '{@link #getDistance_declared_in_january() <em>Distance declared in january</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getDistance_declared_in_january()
44 * @generated
45 * @ordered
46 */
47 protected double distance_declared_in_january = DISTANCE_DECLARED_IN_JANUARY_EDEFAULT;
48
49 /**
50 * The default value of the '{@link #getCalculated_distance() <em>Calculated distance</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getCalculated_distance()
54 * @generated
55 * @ordered
56 */
57 protected static final double CALCULATED_DISTANCE_EDEFAULT = 0.0;
58
59 /**
60 * The cached value of the '{@link #getCalculated_distance() <em>Calculated distance</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getCalculated_distance()
64 * @generated
65 * @ordered
66 */
67 protected double calculated_distance = CALCULATED_DISTANCE_EDEFAULT;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected FDImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return TaxationPackage.Literals.FD;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public double getDistance_declared_in_january() {
95 return distance_declared_in_january;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public void setDistance_declared_in_january(double newDistance_declared_in_january) {
105 double oldDistance_declared_in_january = distance_declared_in_january;
106 distance_declared_in_january = newDistance_declared_in_january;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FD__DISTANCE_DECLARED_IN_JANUARY, oldDistance_declared_in_january, distance_declared_in_january));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public double getCalculated_distance() {
118 return calculated_distance;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void setCalculated_distance(double newCalculated_distance) {
128 double oldCalculated_distance = calculated_distance;
129 calculated_distance = newCalculated_distance;
130 if (eNotificationRequired())
131 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FD__CALCULATED_DISTANCE, oldCalculated_distance, calculated_distance));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public Object eGet(int featureID, boolean resolve, boolean coreType) {
141 switch (featureID) {
142 case TaxationPackage.FD__DISTANCE_DECLARED_IN_JANUARY:
143 return getDistance_declared_in_january();
144 case TaxationPackage.FD__CALCULATED_DISTANCE:
145 return getCalculated_distance();
146 }
147 return super.eGet(featureID, resolve, coreType);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void eSet(int featureID, Object newValue) {
157 switch (featureID) {
158 case TaxationPackage.FD__DISTANCE_DECLARED_IN_JANUARY:
159 setDistance_declared_in_january((Double)newValue);
160 return;
161 case TaxationPackage.FD__CALCULATED_DISTANCE:
162 setCalculated_distance((Double)newValue);
163 return;
164 }
165 super.eSet(featureID, newValue);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public void eUnset(int featureID) {
175 switch (featureID) {
176 case TaxationPackage.FD__DISTANCE_DECLARED_IN_JANUARY:
177 setDistance_declared_in_january(DISTANCE_DECLARED_IN_JANUARY_EDEFAULT);
178 return;
179 case TaxationPackage.FD__CALCULATED_DISTANCE:
180 setCalculated_distance(CALCULATED_DISTANCE_EDEFAULT);
181 return;
182 }
183 super.eUnset(featureID);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public boolean eIsSet(int featureID) {
193 switch (featureID) {
194 case TaxationPackage.FD__DISTANCE_DECLARED_IN_JANUARY:
195 return distance_declared_in_january != DISTANCE_DECLARED_IN_JANUARY_EDEFAULT;
196 case TaxationPackage.FD__CALCULATED_DISTANCE:
197 return calculated_distance != CALCULATED_DISTANCE_EDEFAULT;
198 }
199 return super.eIsSet(featureID);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String toString() {
209 if (eIsProxy()) return super.toString();
210
211 StringBuilder result = new StringBuilder(super.toString());
212 result.append(" (distance_declared_in_january: ");
213 result.append(distance_declared_in_january);
214 result.append(", calculated_distance: ");
215 result.append(calculated_distance);
216 result.append(')');
217 return result.toString();
218 }
219
220} //FDImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FOImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FOImpl.java
new file mode 100644
index 00000000..d03ee8bc
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FOImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.FO;
6import Taxation.TaxationPackage;
7import Taxation.Type_of_Rate;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>FO</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.FOImpl#getRate_type_for_FO <em>Rate type for FO</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class FOImpl extends Professional_Expenses_DeductionImpl implements FO {
29 /**
30 * The default value of the '{@link #getRate_type_for_FO() <em>Rate type for FO</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getRate_type_for_FO()
34 * @generated
35 * @ordered
36 */
37 protected static final Type_of_Rate RATE_TYPE_FOR_FO_EDEFAULT = Type_of_Rate.REGULAR;
38
39 /**
40 * The cached value of the '{@link #getRate_type_for_FO() <em>Rate type for FO</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getRate_type_for_FO()
44 * @generated
45 * @ordered
46 */
47 protected Type_of_Rate rate_type_for_FO = RATE_TYPE_FOR_FO_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected FOImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return TaxationPackage.Literals.FO;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public Type_of_Rate getRate_type_for_FO() {
75 return rate_type_for_FO;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public void setRate_type_for_FO(Type_of_Rate newRate_type_for_FO) {
85 Type_of_Rate oldRate_type_for_FO = rate_type_for_FO;
86 rate_type_for_FO = newRate_type_for_FO == null ? RATE_TYPE_FOR_FO_EDEFAULT : newRate_type_for_FO;
87 if (eNotificationRequired())
88 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FO__RATE_TYPE_FOR_FO, oldRate_type_for_FO, rate_type_for_FO));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case TaxationPackage.FO__RATE_TYPE_FOR_FO:
100 return getRate_type_for_FO();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case TaxationPackage.FO__RATE_TYPE_FOR_FO:
114 setRate_type_for_FO((Type_of_Rate)newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case TaxationPackage.FO__RATE_TYPE_FOR_FO:
129 setRate_type_for_FO(RATE_TYPE_FOR_FO_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case TaxationPackage.FO__RATE_TYPE_FOR_FO:
144 return rate_type_for_FO != RATE_TYPE_FOR_FO_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy()) return super.toString();
157
158 StringBuilder result = new StringBuilder(super.toString());
159 result.append(" (rate_type_for_FO: ");
160 result.append(rate_type_for_FO);
161 result.append(')');
162 return result.toString();
163 }
164
165} //FOImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Fiscal_AddressImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Fiscal_AddressImpl.java
new file mode 100644
index 00000000..70fa328e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Fiscal_AddressImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Fiscal_Address;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Fiscal Address</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Fiscal_AddressImpl extends AddressImpl implements Fiscal_Address {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Fiscal_AddressImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.FISCAL_ADDRESS;
35 }
36
37} //Fiscal_AddressImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Foreign_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Foreign_IncomeImpl.java
new file mode 100644
index 00000000..64c4e9b8
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Foreign_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Foreign_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Foreign Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Foreign_IncomeImpl extends IncomeImpl implements Foreign_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Foreign_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.FOREIGN_INCOME;
35 }
36
37} //Foreign_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java
new file mode 100644
index 00000000..930a23de
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java
@@ -0,0 +1,505 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.Expense;
7import Taxation.FromAgent;
8import Taxation.Tax_Payer;
9import Taxation.TaxationPackage;
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EcoreUtil;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>From Agent</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link Taxation.impl.FromAgentImpl#getTaxPayer <em>Tax Payer</em>}</li>
30 * <li>{@link Taxation.impl.FromAgentImpl#isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care <em>Is dependent eligible for CE Not In Houshold Children Care</em>}</li>
31 * <li>{@link Taxation.impl.FromAgentImpl#getExpense <em>Expense</em>}</li>
32 * <li>{@link Taxation.impl.FromAgentImpl#isIs_eligible_debt <em>Is eligible debt</em>}</li>
33 * <li>{@link Taxation.impl.FromAgentImpl#getDependent <em>Dependent</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class FromAgentImpl extends MinimalEObjectImpl.Container implements FromAgent {
39 /**
40 * The default value of the '{@link #isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care() <em>Is dependent eligible for CE Not In Houshold Children Care</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care() <em>Is dependent eligible for CE Not In Houshold Children Care</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care()
54 * @generated
55 * @ordered
56 */
57 protected boolean is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care = IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getExpense() <em>Expense</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getExpense()
64 * @generated
65 * @ordered
66 */
67 protected Expense expense;
68
69 /**
70 * The default value of the '{@link #isIs_eligible_debt() <em>Is eligible debt</em>}' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #isIs_eligible_debt()
74 * @generated
75 * @ordered
76 */
77 protected static final boolean IS_ELIGIBLE_DEBT_EDEFAULT = false;
78
79 /**
80 * The cached value of the '{@link #isIs_eligible_debt() <em>Is eligible debt</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #isIs_eligible_debt()
84 * @generated
85 * @ordered
86 */
87 protected boolean is_eligible_debt = IS_ELIGIBLE_DEBT_EDEFAULT;
88
89 /**
90 * The cached value of the '{@link #getDependent() <em>Dependent</em>}' reference.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getDependent()
94 * @generated
95 * @ordered
96 */
97 protected Dependent dependent;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 protected FromAgentImpl() {
105 super();
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 protected EClass eStaticClass() {
115 return TaxationPackage.Literals.FROM_AGENT;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Tax_Payer getTaxPayer() {
125 if (eContainerFeatureID() != TaxationPackage.FROM_AGENT__TAX_PAYER) return null;
126 return (Tax_Payer)eInternalContainer();
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NotificationChain basicSetTaxPayer(Tax_Payer newTaxPayer, NotificationChain msgs) {
135 msgs = eBasicSetContainer((InternalEObject)newTaxPayer, TaxationPackage.FROM_AGENT__TAX_PAYER, msgs);
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setTaxPayer(Tax_Payer newTaxPayer) {
146 if (newTaxPayer != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.FROM_AGENT__TAX_PAYER && newTaxPayer != null)) {
147 if (EcoreUtil.isAncestor(this, newTaxPayer))
148 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
149 NotificationChain msgs = null;
150 if (eInternalContainer() != null)
151 msgs = eBasicRemoveFromContainer(msgs);
152 if (newTaxPayer != null)
153 msgs = ((InternalEObject)newTaxPayer).eInverseAdd(this, TaxationPackage.TAX_PAYER__FROM_AGENT, Tax_Payer.class, msgs);
154 msgs = basicSetTaxPayer(newTaxPayer, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__TAX_PAYER, newTaxPayer, newTaxPayer));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public boolean isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care() {
168 return is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public void setIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care(boolean newIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care) {
178 boolean oldIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care = is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care;
179 is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care = newIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care;
180 if (eNotificationRequired())
181 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE, oldIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care, is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care));
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public Expense getExpense() {
191 if (expense != null && expense.eIsProxy()) {
192 InternalEObject oldExpense = (InternalEObject)expense;
193 expense = (Expense)eResolveProxy(oldExpense);
194 if (expense != oldExpense) {
195 if (eNotificationRequired())
196 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.FROM_AGENT__EXPENSE, oldExpense, expense));
197 }
198 }
199 return expense;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 public Expense basicGetExpense() {
208 return expense;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public NotificationChain basicSetExpense(Expense newExpense, NotificationChain msgs) {
217 Expense oldExpense = expense;
218 expense = newExpense;
219 if (eNotificationRequired()) {
220 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__EXPENSE, oldExpense, newExpense);
221 if (msgs == null) msgs = notification; else msgs.add(notification);
222 }
223 return msgs;
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public void setExpense(Expense newExpense) {
233 if (newExpense != expense) {
234 NotificationChain msgs = null;
235 if (expense != null)
236 msgs = ((InternalEObject)expense).eInverseRemove(this, TaxationPackage.EXPENSE__FROM_AGENT, Expense.class, msgs);
237 if (newExpense != null)
238 msgs = ((InternalEObject)newExpense).eInverseAdd(this, TaxationPackage.EXPENSE__FROM_AGENT, Expense.class, msgs);
239 msgs = basicSetExpense(newExpense, msgs);
240 if (msgs != null) msgs.dispatch();
241 }
242 else if (eNotificationRequired())
243 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__EXPENSE, newExpense, newExpense));
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public boolean isIs_eligible_debt() {
253 return is_eligible_debt;
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public void setIs_eligible_debt(boolean newIs_eligible_debt) {
263 boolean oldIs_eligible_debt = is_eligible_debt;
264 is_eligible_debt = newIs_eligible_debt;
265 if (eNotificationRequired())
266 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__IS_ELIGIBLE_DEBT, oldIs_eligible_debt, is_eligible_debt));
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public Dependent getDependent() {
276 if (dependent != null && dependent.eIsProxy()) {
277 InternalEObject oldDependent = (InternalEObject)dependent;
278 dependent = (Dependent)eResolveProxy(oldDependent);
279 if (dependent != oldDependent) {
280 if (eNotificationRequired())
281 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.FROM_AGENT__DEPENDENT, oldDependent, dependent));
282 }
283 }
284 return dependent;
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 public Dependent basicGetDependent() {
293 return dependent;
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 public NotificationChain basicSetDependent(Dependent newDependent, NotificationChain msgs) {
302 Dependent oldDependent = dependent;
303 dependent = newDependent;
304 if (eNotificationRequired()) {
305 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__DEPENDENT, oldDependent, newDependent);
306 if (msgs == null) msgs = notification; else msgs.add(notification);
307 }
308 return msgs;
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 @Override
317 public void setDependent(Dependent newDependent) {
318 if (newDependent != dependent) {
319 NotificationChain msgs = null;
320 if (dependent != null)
321 msgs = ((InternalEObject)dependent).eInverseRemove(this, TaxationPackage.DEPENDENT__FROM_AGENT, Dependent.class, msgs);
322 if (newDependent != null)
323 msgs = ((InternalEObject)newDependent).eInverseAdd(this, TaxationPackage.DEPENDENT__FROM_AGENT, Dependent.class, msgs);
324 msgs = basicSetDependent(newDependent, msgs);
325 if (msgs != null) msgs.dispatch();
326 }
327 else if (eNotificationRequired())
328 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_AGENT__DEPENDENT, newDependent, newDependent));
329 }
330
331 /**
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 @Override
337 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
338 switch (featureID) {
339 case TaxationPackage.FROM_AGENT__TAX_PAYER:
340 if (eInternalContainer() != null)
341 msgs = eBasicRemoveFromContainer(msgs);
342 return basicSetTaxPayer((Tax_Payer)otherEnd, msgs);
343 case TaxationPackage.FROM_AGENT__EXPENSE:
344 if (expense != null)
345 msgs = ((InternalEObject)expense).eInverseRemove(this, TaxationPackage.EXPENSE__FROM_AGENT, Expense.class, msgs);
346 return basicSetExpense((Expense)otherEnd, msgs);
347 case TaxationPackage.FROM_AGENT__DEPENDENT:
348 if (dependent != null)
349 msgs = ((InternalEObject)dependent).eInverseRemove(this, TaxationPackage.DEPENDENT__FROM_AGENT, Dependent.class, msgs);
350 return basicSetDependent((Dependent)otherEnd, msgs);
351 }
352 return super.eInverseAdd(otherEnd, featureID, msgs);
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
362 switch (featureID) {
363 case TaxationPackage.FROM_AGENT__TAX_PAYER:
364 return basicSetTaxPayer(null, msgs);
365 case TaxationPackage.FROM_AGENT__EXPENSE:
366 return basicSetExpense(null, msgs);
367 case TaxationPackage.FROM_AGENT__DEPENDENT:
368 return basicSetDependent(null, msgs);
369 }
370 return super.eInverseRemove(otherEnd, featureID, msgs);
371 }
372
373 /**
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 */
378 @Override
379 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
380 switch (eContainerFeatureID()) {
381 case TaxationPackage.FROM_AGENT__TAX_PAYER:
382 return eInternalContainer().eInverseRemove(this, TaxationPackage.TAX_PAYER__FROM_AGENT, Tax_Payer.class, msgs);
383 }
384 return super.eBasicRemoveFromContainerFeature(msgs);
385 }
386
387 /**
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 */
392 @Override
393 public Object eGet(int featureID, boolean resolve, boolean coreType) {
394 switch (featureID) {
395 case TaxationPackage.FROM_AGENT__TAX_PAYER:
396 return getTaxPayer();
397 case TaxationPackage.FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE:
398 return isIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care();
399 case TaxationPackage.FROM_AGENT__EXPENSE:
400 if (resolve) return getExpense();
401 return basicGetExpense();
402 case TaxationPackage.FROM_AGENT__IS_ELIGIBLE_DEBT:
403 return isIs_eligible_debt();
404 case TaxationPackage.FROM_AGENT__DEPENDENT:
405 if (resolve) return getDependent();
406 return basicGetDependent();
407 }
408 return super.eGet(featureID, resolve, coreType);
409 }
410
411 /**
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 */
416 @Override
417 public void eSet(int featureID, Object newValue) {
418 switch (featureID) {
419 case TaxationPackage.FROM_AGENT__TAX_PAYER:
420 setTaxPayer((Tax_Payer)newValue);
421 return;
422 case TaxationPackage.FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE:
423 setIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care((Boolean)newValue);
424 return;
425 case TaxationPackage.FROM_AGENT__EXPENSE:
426 setExpense((Expense)newValue);
427 return;
428 case TaxationPackage.FROM_AGENT__IS_ELIGIBLE_DEBT:
429 setIs_eligible_debt((Boolean)newValue);
430 return;
431 case TaxationPackage.FROM_AGENT__DEPENDENT:
432 setDependent((Dependent)newValue);
433 return;
434 }
435 super.eSet(featureID, newValue);
436 }
437
438 /**
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 */
443 @Override
444 public void eUnset(int featureID) {
445 switch (featureID) {
446 case TaxationPackage.FROM_AGENT__TAX_PAYER:
447 setTaxPayer((Tax_Payer)null);
448 return;
449 case TaxationPackage.FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE:
450 setIs_dependent_eligible_for_CE_Not_In_Houshold_Children_Care(IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE_EDEFAULT);
451 return;
452 case TaxationPackage.FROM_AGENT__EXPENSE:
453 setExpense((Expense)null);
454 return;
455 case TaxationPackage.FROM_AGENT__IS_ELIGIBLE_DEBT:
456 setIs_eligible_debt(IS_ELIGIBLE_DEBT_EDEFAULT);
457 return;
458 case TaxationPackage.FROM_AGENT__DEPENDENT:
459 setDependent((Dependent)null);
460 return;
461 }
462 super.eUnset(featureID);
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
471 public boolean eIsSet(int featureID) {
472 switch (featureID) {
473 case TaxationPackage.FROM_AGENT__TAX_PAYER:
474 return getTaxPayer() != null;
475 case TaxationPackage.FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE:
476 return is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care != IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE_EDEFAULT;
477 case TaxationPackage.FROM_AGENT__EXPENSE:
478 return expense != null;
479 case TaxationPackage.FROM_AGENT__IS_ELIGIBLE_DEBT:
480 return is_eligible_debt != IS_ELIGIBLE_DEBT_EDEFAULT;
481 case TaxationPackage.FROM_AGENT__DEPENDENT:
482 return dependent != null;
483 }
484 return super.eIsSet(featureID);
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 @Override
493 public String toString() {
494 if (eIsProxy()) return super.toString();
495
496 StringBuilder result = new StringBuilder(super.toString());
497 result.append(" (is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care: ");
498 result.append(is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care);
499 result.append(", is_eligible_debt: ");
500 result.append(is_eligible_debt);
501 result.append(')');
502 return result.toString();
503 }
504
505} //FromAgentImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromLawImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromLawImpl.java
new file mode 100644
index 00000000..8a6a16c7
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromLawImpl.java
@@ -0,0 +1,268 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.FromLaw;
6import Taxation.Tax_Payer;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>From Law</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link Taxation.impl.FromLawImpl#getId <em>Id</em>}</li>
29 * <li>{@link Taxation.impl.FromLawImpl#getTaxPayer <em>Tax Payer</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class FromLawImpl extends MinimalEObjectImpl.Container implements FromLaw {
35 /**
36 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getId()
40 * @generated
41 * @ordered
42 */
43 protected static final String ID_EDEFAULT = null;
44
45 /**
46 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getId()
50 * @generated
51 * @ordered
52 */
53 protected String id = ID_EDEFAULT;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected FromLawImpl() {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass() {
71 return TaxationPackage.Literals.FROM_LAW;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public String getId() {
81 return id;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setId(String newId) {
91 String oldId = id;
92 id = newId;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_LAW__ID, oldId, id));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Tax_Payer getTaxPayer() {
104 if (eContainerFeatureID() != TaxationPackage.FROM_LAW__TAX_PAYER) return null;
105 return (Tax_Payer)eInternalContainer();
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetTaxPayer(Tax_Payer newTaxPayer, NotificationChain msgs) {
114 msgs = eBasicSetContainer((InternalEObject)newTaxPayer, TaxationPackage.FROM_LAW__TAX_PAYER, msgs);
115 return msgs;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void setTaxPayer(Tax_Payer newTaxPayer) {
125 if (newTaxPayer != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.FROM_LAW__TAX_PAYER && newTaxPayer != null)) {
126 if (EcoreUtil.isAncestor(this, newTaxPayer))
127 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
128 NotificationChain msgs = null;
129 if (eInternalContainer() != null)
130 msgs = eBasicRemoveFromContainer(msgs);
131 if (newTaxPayer != null)
132 msgs = ((InternalEObject)newTaxPayer).eInverseAdd(this, TaxationPackage.TAX_PAYER__FROM_LAW, Tax_Payer.class, msgs);
133 msgs = basicSetTaxPayer(newTaxPayer, msgs);
134 if (msgs != null) msgs.dispatch();
135 }
136 else if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.FROM_LAW__TAX_PAYER, newTaxPayer, newTaxPayer));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
147 switch (featureID) {
148 case TaxationPackage.FROM_LAW__TAX_PAYER:
149 if (eInternalContainer() != null)
150 msgs = eBasicRemoveFromContainer(msgs);
151 return basicSetTaxPayer((Tax_Payer)otherEnd, msgs);
152 }
153 return super.eInverseAdd(otherEnd, featureID, msgs);
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
163 switch (featureID) {
164 case TaxationPackage.FROM_LAW__TAX_PAYER:
165 return basicSetTaxPayer(null, msgs);
166 }
167 return super.eInverseRemove(otherEnd, featureID, msgs);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
177 switch (eContainerFeatureID()) {
178 case TaxationPackage.FROM_LAW__TAX_PAYER:
179 return eInternalContainer().eInverseRemove(this, TaxationPackage.TAX_PAYER__FROM_LAW, Tax_Payer.class, msgs);
180 }
181 return super.eBasicRemoveFromContainerFeature(msgs);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public Object eGet(int featureID, boolean resolve, boolean coreType) {
191 switch (featureID) {
192 case TaxationPackage.FROM_LAW__ID:
193 return getId();
194 case TaxationPackage.FROM_LAW__TAX_PAYER:
195 return getTaxPayer();
196 }
197 return super.eGet(featureID, resolve, coreType);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void eSet(int featureID, Object newValue) {
207 switch (featureID) {
208 case TaxationPackage.FROM_LAW__ID:
209 setId((String)newValue);
210 return;
211 case TaxationPackage.FROM_LAW__TAX_PAYER:
212 setTaxPayer((Tax_Payer)newValue);
213 return;
214 }
215 super.eSet(featureID, newValue);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public void eUnset(int featureID) {
225 switch (featureID) {
226 case TaxationPackage.FROM_LAW__ID:
227 setId(ID_EDEFAULT);
228 return;
229 case TaxationPackage.FROM_LAW__TAX_PAYER:
230 setTaxPayer((Tax_Payer)null);
231 return;
232 }
233 super.eUnset(featureID);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public boolean eIsSet(int featureID) {
243 switch (featureID) {
244 case TaxationPackage.FROM_LAW__ID:
245 return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
246 case TaxationPackage.FROM_LAW__TAX_PAYER:
247 return getTaxPayer() != null;
248 }
249 return super.eIsSet(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public String toString() {
259 if (eIsProxy()) return super.toString();
260
261 StringBuilder result = new StringBuilder(super.toString());
262 result.append(" (id: ");
263 result.append(id);
264 result.append(')');
265 return result.toString();
266 }
267
268} //FromLawImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Habitual_AddressImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Habitual_AddressImpl.java
new file mode 100644
index 00000000..9c759b8a
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Habitual_AddressImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Habitual_Address;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Habitual Address</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Habitual_AddressImpl extends AddressImpl implements Habitual_Address {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Habitual_AddressImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.HABITUAL_ADDRESS;
35 }
36
37} //Habitual_AddressImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Health_and_Pension_InsuranceImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Health_and_Pension_InsuranceImpl.java
new file mode 100644
index 00000000..bbf21e82
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Health_and_Pension_InsuranceImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Health_and_Pension_Insurances;
6import Taxation.Health_and_Pension_Insurance;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Health and Pension Insurance</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.Health_and_Pension_InsuranceImpl#getCategory <em>Category</em>}</li>
24 * <li>{@link Taxation.impl.Health_and_Pension_InsuranceImpl#isIs_related_to_additional_salary <em>Is related to additional salary</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class Health_and_Pension_InsuranceImpl extends Special_Expense_DSImpl implements Health_and_Pension_Insurance {
30 /**
31 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getCategory()
35 * @generated
36 * @ordered
37 */
38 protected static final Category_of_Health_and_Pension_Insurances CATEGORY_EDEFAULT = Category_of_Health_and_Pension_Insurances.MANDATORY_HEALTH_AND_PENSION_INSURANCE;
39
40 /**
41 * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getCategory()
45 * @generated
46 * @ordered
47 */
48 protected Category_of_Health_and_Pension_Insurances category = CATEGORY_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #isIs_related_to_additional_salary() <em>Is related to additional salary</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isIs_related_to_additional_salary()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean IS_RELATED_TO_ADDITIONAL_SALARY_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isIs_related_to_additional_salary() <em>Is related to additional salary</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isIs_related_to_additional_salary()
65 * @generated
66 * @ordered
67 */
68 protected boolean is_related_to_additional_salary = IS_RELATED_TO_ADDITIONAL_SALARY_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected Health_and_Pension_InsuranceImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return TaxationPackage.Literals.HEALTH_AND_PENSION_INSURANCE;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Category_of_Health_and_Pension_Insurances getCategory() {
96 return category;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setCategory(Category_of_Health_and_Pension_Insurances newCategory) {
106 Category_of_Health_and_Pension_Insurances oldCategory = category;
107 category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.HEALTH_AND_PENSION_INSURANCE__CATEGORY, oldCategory, category));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public boolean isIs_related_to_additional_salary() {
119 return is_related_to_additional_salary;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setIs_related_to_additional_salary(boolean newIs_related_to_additional_salary) {
129 boolean oldIs_related_to_additional_salary = is_related_to_additional_salary;
130 is_related_to_additional_salary = newIs_related_to_additional_salary;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY, oldIs_related_to_additional_salary, is_related_to_additional_salary));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__CATEGORY:
144 return getCategory();
145 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY:
146 return isIs_related_to_additional_salary();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__CATEGORY:
160 setCategory((Category_of_Health_and_Pension_Insurances)newValue);
161 return;
162 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY:
163 setIs_related_to_additional_salary((Boolean)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__CATEGORY:
178 setCategory(CATEGORY_EDEFAULT);
179 return;
180 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY:
181 setIs_related_to_additional_salary(IS_RELATED_TO_ADDITIONAL_SALARY_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__CATEGORY:
196 return category != CATEGORY_EDEFAULT;
197 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY:
198 return is_related_to_additional_salary != IS_RELATED_TO_ADDITIONAL_SALARY_EDEFAULT;
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (category: ");
214 result.append(category);
215 result.append(", is_related_to_additional_salary: ");
216 result.append(is_related_to_additional_salary);
217 result.append(')');
218 return result.toString();
219 }
220
221} //Health_and_Pension_InsuranceImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/HouseholdImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/HouseholdImpl.java
new file mode 100644
index 00000000..8c3cb920
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/HouseholdImpl.java
@@ -0,0 +1,313 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.Household;
7import Taxation.Legal_Union_Record;
8import Taxation.TaxationPackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Household</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link Taxation.impl.HouseholdImpl#getParents <em>Parents</em>}</li>
35 * <li>{@link Taxation.impl.HouseholdImpl#getId1 <em>Id1</em>}</li>
36 * <li>{@link Taxation.impl.HouseholdImpl#getChildren <em>Children</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public class HouseholdImpl extends MinimalEObjectImpl.Container implements Household {
42 /**
43 * The cached value of the '{@link #getParents() <em>Parents</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getParents()
47 * @generated
48 * @ordered
49 */
50 protected Legal_Union_Record parents;
51
52 /**
53 * The default value of the '{@link #getId1() <em>Id1</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getId1()
57 * @generated
58 * @ordered
59 */
60 protected static final String ID1_EDEFAULT = null;
61
62 /**
63 * The cached value of the '{@link #getId1() <em>Id1</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getId1()
67 * @generated
68 * @ordered
69 */
70 protected String id1 = ID1_EDEFAULT;
71
72 /**
73 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #getChildren()
77 * @generated
78 * @ordered
79 */
80 protected EList<Dependent> children;
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 protected HouseholdImpl() {
88 super();
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 protected EClass eStaticClass() {
98 return TaxationPackage.Literals.HOUSEHOLD;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Legal_Union_Record getParents() {
108 return parents;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 public NotificationChain basicSetParents(Legal_Union_Record newParents, NotificationChain msgs) {
117 Legal_Union_Record oldParents = parents;
118 parents = newParents;
119 if (eNotificationRequired()) {
120 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.HOUSEHOLD__PARENTS, oldParents, newParents);
121 if (msgs == null) msgs = notification; else msgs.add(notification);
122 }
123 return msgs;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public void setParents(Legal_Union_Record newParents) {
133 if (newParents != parents) {
134 NotificationChain msgs = null;
135 if (parents != null)
136 msgs = ((InternalEObject)parents).eInverseRemove(this, TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD, Legal_Union_Record.class, msgs);
137 if (newParents != null)
138 msgs = ((InternalEObject)newParents).eInverseAdd(this, TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD, Legal_Union_Record.class, msgs);
139 msgs = basicSetParents(newParents, msgs);
140 if (msgs != null) msgs.dispatch();
141 }
142 else if (eNotificationRequired())
143 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.HOUSEHOLD__PARENTS, newParents, newParents));
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String getId1() {
153 return id1;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public void setId1(String newId1) {
163 String oldId1 = id1;
164 id1 = newId1;
165 if (eNotificationRequired())
166 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.HOUSEHOLD__ID1, oldId1, id1));
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public EList<Dependent> getChildren() {
176 if (children == null) {
177 children = new EObjectContainmentWithInverseEList<Dependent>(Dependent.class, this, TaxationPackage.HOUSEHOLD__CHILDREN, TaxationPackage.DEPENDENT__HOUSEHOLD);
178 }
179 return children;
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @SuppressWarnings("unchecked")
188 @Override
189 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
190 switch (featureID) {
191 case TaxationPackage.HOUSEHOLD__PARENTS:
192 if (parents != null)
193 msgs = ((InternalEObject)parents).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.HOUSEHOLD__PARENTS, null, msgs);
194 return basicSetParents((Legal_Union_Record)otherEnd, msgs);
195 case TaxationPackage.HOUSEHOLD__CHILDREN:
196 return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
197 }
198 return super.eInverseAdd(otherEnd, featureID, msgs);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
208 switch (featureID) {
209 case TaxationPackage.HOUSEHOLD__PARENTS:
210 return basicSetParents(null, msgs);
211 case TaxationPackage.HOUSEHOLD__CHILDREN:
212 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
213 }
214 return super.eInverseRemove(otherEnd, featureID, msgs);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public Object eGet(int featureID, boolean resolve, boolean coreType) {
224 switch (featureID) {
225 case TaxationPackage.HOUSEHOLD__PARENTS:
226 return getParents();
227 case TaxationPackage.HOUSEHOLD__ID1:
228 return getId1();
229 case TaxationPackage.HOUSEHOLD__CHILDREN:
230 return getChildren();
231 }
232 return super.eGet(featureID, resolve, coreType);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @SuppressWarnings("unchecked")
241 @Override
242 public void eSet(int featureID, Object newValue) {
243 switch (featureID) {
244 case TaxationPackage.HOUSEHOLD__PARENTS:
245 setParents((Legal_Union_Record)newValue);
246 return;
247 case TaxationPackage.HOUSEHOLD__ID1:
248 setId1((String)newValue);
249 return;
250 case TaxationPackage.HOUSEHOLD__CHILDREN:
251 getChildren().clear();
252 getChildren().addAll((Collection<? extends Dependent>)newValue);
253 return;
254 }
255 super.eSet(featureID, newValue);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 @Override
264 public void eUnset(int featureID) {
265 switch (featureID) {
266 case TaxationPackage.HOUSEHOLD__PARENTS:
267 setParents((Legal_Union_Record)null);
268 return;
269 case TaxationPackage.HOUSEHOLD__ID1:
270 setId1(ID1_EDEFAULT);
271 return;
272 case TaxationPackage.HOUSEHOLD__CHILDREN:
273 getChildren().clear();
274 return;
275 }
276 super.eUnset(featureID);
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 @Override
285 public boolean eIsSet(int featureID) {
286 switch (featureID) {
287 case TaxationPackage.HOUSEHOLD__PARENTS:
288 return parents != null;
289 case TaxationPackage.HOUSEHOLD__ID1:
290 return ID1_EDEFAULT == null ? id1 != null : !ID1_EDEFAULT.equals(id1);
291 case TaxationPackage.HOUSEHOLD__CHILDREN:
292 return children != null && !children.isEmpty();
293 }
294 return super.eIsSet(featureID);
295 }
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 @Override
303 public String toString() {
304 if (eIsProxy()) return super.toString();
305
306 StringBuilder result = new StringBuilder(super.toString());
307 result.append(" (id1: ");
308 result.append(id1);
309 result.append(')');
310 return result.toString();
311 }
312
313} //HouseholdImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java
new file mode 100644
index 00000000..233d467c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java
@@ -0,0 +1,782 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Expense;
6import Taxation.Income;
7import Taxation.Income_Detail;
8import Taxation.Income_Type;
9import Taxation.Tax_Card;
10import Taxation.Tax_Payer;
11import Taxation.TaxationPackage;
12import java.util.Collection;
13import java.util.Date;
14
15import org.eclipse.emf.common.notify.Notification;
16import org.eclipse.emf.common.notify.NotificationChain;
17
18import org.eclipse.emf.common.util.EList;
19
20import org.eclipse.emf.ecore.EClass;
21import org.eclipse.emf.ecore.InternalEObject;
22
23import org.eclipse.emf.ecore.impl.ENotificationImpl;
24import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
25
26import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
27import org.eclipse.emf.ecore.util.EcoreUtil;
28import org.eclipse.emf.ecore.util.InternalEList;
29
30/**
31 * <!-- begin-user-doc -->
32 * An implementation of the model object '<em><b>Income</b></em>'.
33 * <!-- end-user-doc -->
34 * <p>
35 * The following features are implemented:
36 * </p>
37 * <ul>
38 * <li>{@link Taxation.impl.IncomeImpl#getIncome_amount <em>Income amount</em>}</li>
39 * <li>{@link Taxation.impl.IncomeImpl#getIncome_type <em>Income type</em>}</li>
40 * <li>{@link Taxation.impl.IncomeImpl#getStart_date_within_taxation_year <em>Start date within taxation year</em>}</li>
41 * <li>{@link Taxation.impl.IncomeImpl#getStart_date_of_contract <em>Start date of contract</em>}</li>
42 * <li>{@link Taxation.impl.IncomeImpl#getEnd_date_within_taxation_year <em>End date within taxation year</em>}</li>
43 * <li>{@link Taxation.impl.IncomeImpl#getTax_card <em>Tax card</em>}</li>
44 * <li>{@link Taxation.impl.IncomeImpl#getTax_liability <em>Tax liability</em>}</li>
45 * <li>{@link Taxation.impl.IncomeImpl#getTaxPayer <em>Tax Payer</em>}</li>
46 * <li>{@link Taxation.impl.IncomeImpl#getDetails <em>Details</em>}</li>
47 * <li>{@link Taxation.impl.IncomeImpl#getNum <em>Num</em>}</li>
48 * <li>{@link Taxation.impl.IncomeImpl#getExpenses <em>Expenses</em>}</li>
49 * </ul>
50 *
51 * @generated
52 */
53public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements Income {
54 /**
55 * The default value of the '{@link #getIncome_amount() <em>Income amount</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getIncome_amount()
59 * @generated
60 * @ordered
61 */
62 protected static final double INCOME_AMOUNT_EDEFAULT = 0.0;
63
64 /**
65 * The cached value of the '{@link #getIncome_amount() <em>Income amount</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getIncome_amount()
69 * @generated
70 * @ordered
71 */
72 protected double income_amount = INCOME_AMOUNT_EDEFAULT;
73
74 /**
75 * The cached value of the '{@link #getIncome_type() <em>Income type</em>}' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getIncome_type()
79 * @generated
80 * @ordered
81 */
82 protected Income_Type income_type;
83
84 /**
85 * The default value of the '{@link #getStart_date_within_taxation_year() <em>Start date within taxation year</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getStart_date_within_taxation_year()
89 * @generated
90 * @ordered
91 */
92 protected static final Date START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT = null;
93
94 /**
95 * The cached value of the '{@link #getStart_date_within_taxation_year() <em>Start date within taxation year</em>}' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #getStart_date_within_taxation_year()
99 * @generated
100 * @ordered
101 */
102 protected Date start_date_within_taxation_year = START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT;
103
104 /**
105 * The default value of the '{@link #getStart_date_of_contract() <em>Start date of contract</em>}' attribute.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #getStart_date_of_contract()
109 * @generated
110 * @ordered
111 */
112 protected static final Date START_DATE_OF_CONTRACT_EDEFAULT = null;
113
114 /**
115 * The cached value of the '{@link #getStart_date_of_contract() <em>Start date of contract</em>}' attribute.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @see #getStart_date_of_contract()
119 * @generated
120 * @ordered
121 */
122 protected Date start_date_of_contract = START_DATE_OF_CONTRACT_EDEFAULT;
123
124 /**
125 * The default value of the '{@link #getEnd_date_within_taxation_year() <em>End date within taxation year</em>}' attribute.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @see #getEnd_date_within_taxation_year()
129 * @generated
130 * @ordered
131 */
132 protected static final Date END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT = null;
133
134 /**
135 * The cached value of the '{@link #getEnd_date_within_taxation_year() <em>End date within taxation year</em>}' attribute.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @see #getEnd_date_within_taxation_year()
139 * @generated
140 * @ordered
141 */
142 protected Date end_date_within_taxation_year = END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT;
143
144 /**
145 * The cached value of the '{@link #getTax_card() <em>Tax card</em>}' containment reference.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @see #getTax_card()
149 * @generated
150 * @ordered
151 */
152 protected Tax_Card tax_card;
153
154 /**
155 * The default value of the '{@link #getTax_liability() <em>Tax liability</em>}' attribute.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #getTax_liability()
159 * @generated
160 * @ordered
161 */
162 protected static final double TAX_LIABILITY_EDEFAULT = 0.0;
163
164 /**
165 * The cached value of the '{@link #getTax_liability() <em>Tax liability</em>}' attribute.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @see #getTax_liability()
169 * @generated
170 * @ordered
171 */
172 protected double tax_liability = TAX_LIABILITY_EDEFAULT;
173
174 /**
175 * The cached value of the '{@link #getDetails() <em>Details</em>}' containment reference list.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @see #getDetails()
179 * @generated
180 * @ordered
181 */
182 protected EList<Income_Detail> details;
183
184 /**
185 * The default value of the '{@link #getNum() <em>Num</em>}' attribute.
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @see #getNum()
189 * @generated
190 * @ordered
191 */
192 protected static final int NUM_EDEFAULT = 0;
193
194 /**
195 * The cached value of the '{@link #getNum() <em>Num</em>}' attribute.
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @see #getNum()
199 * @generated
200 * @ordered
201 */
202 protected int num = NUM_EDEFAULT;
203
204 /**
205 * The cached value of the '{@link #getExpenses() <em>Expenses</em>}' containment reference list.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @see #getExpenses()
209 * @generated
210 * @ordered
211 */
212 protected EList<Expense> expenses;
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 protected IncomeImpl() {
220 super();
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 protected EClass eStaticClass() {
230 return TaxationPackage.Literals.INCOME;
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public double getIncome_amount() {
240 return income_amount;
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public void setIncome_amount(double newIncome_amount) {
250 double oldIncome_amount = income_amount;
251 income_amount = newIncome_amount;
252 if (eNotificationRequired())
253 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__INCOME_AMOUNT, oldIncome_amount, income_amount));
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Income_Type getIncome_type() {
263 return income_type;
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 public NotificationChain basicSetIncome_type(Income_Type newIncome_type, NotificationChain msgs) {
272 Income_Type oldIncome_type = income_type;
273 income_type = newIncome_type;
274 if (eNotificationRequired()) {
275 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__INCOME_TYPE, oldIncome_type, newIncome_type);
276 if (msgs == null) msgs = notification; else msgs.add(notification);
277 }
278 return msgs;
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 @Override
287 public void setIncome_type(Income_Type newIncome_type) {
288 if (newIncome_type != income_type) {
289 NotificationChain msgs = null;
290 if (income_type != null)
291 msgs = ((InternalEObject)income_type).eInverseRemove(this, TaxationPackage.INCOME_TYPE__INCOME, Income_Type.class, msgs);
292 if (newIncome_type != null)
293 msgs = ((InternalEObject)newIncome_type).eInverseAdd(this, TaxationPackage.INCOME_TYPE__INCOME, Income_Type.class, msgs);
294 msgs = basicSetIncome_type(newIncome_type, msgs);
295 if (msgs != null) msgs.dispatch();
296 }
297 else if (eNotificationRequired())
298 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__INCOME_TYPE, newIncome_type, newIncome_type));
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @Override
307 public Date getStart_date_within_taxation_year() {
308 return start_date_within_taxation_year;
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 @Override
317 public void setStart_date_within_taxation_year(Date newStart_date_within_taxation_year) {
318 Date oldStart_date_within_taxation_year = start_date_within_taxation_year;
319 start_date_within_taxation_year = newStart_date_within_taxation_year;
320 if (eNotificationRequired())
321 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR, oldStart_date_within_taxation_year, start_date_within_taxation_year));
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 @Override
330 public Date getStart_date_of_contract() {
331 return start_date_of_contract;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void setStart_date_of_contract(Date newStart_date_of_contract) {
341 Date oldStart_date_of_contract = start_date_of_contract;
342 start_date_of_contract = newStart_date_of_contract;
343 if (eNotificationRequired())
344 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__START_DATE_OF_CONTRACT, oldStart_date_of_contract, start_date_of_contract));
345 }
346
347 /**
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @generated
351 */
352 @Override
353 public Date getEnd_date_within_taxation_year() {
354 return end_date_within_taxation_year;
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 @Override
363 public void setEnd_date_within_taxation_year(Date newEnd_date_within_taxation_year) {
364 Date oldEnd_date_within_taxation_year = end_date_within_taxation_year;
365 end_date_within_taxation_year = newEnd_date_within_taxation_year;
366 if (eNotificationRequired())
367 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR, oldEnd_date_within_taxation_year, end_date_within_taxation_year));
368 }
369
370 /**
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 @Override
376 public Tax_Card getTax_card() {
377 return tax_card;
378 }
379
380 /**
381 * <!-- begin-user-doc -->
382 * <!-- end-user-doc -->
383 * @generated
384 */
385 public NotificationChain basicSetTax_card(Tax_Card newTax_card, NotificationChain msgs) {
386 Tax_Card oldTax_card = tax_card;
387 tax_card = newTax_card;
388 if (eNotificationRequired()) {
389 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__TAX_CARD, oldTax_card, newTax_card);
390 if (msgs == null) msgs = notification; else msgs.add(notification);
391 }
392 return msgs;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 @Override
401 public void setTax_card(Tax_Card newTax_card) {
402 if (newTax_card != tax_card) {
403 NotificationChain msgs = null;
404 if (tax_card != null)
405 msgs = ((InternalEObject)tax_card).eInverseRemove(this, TaxationPackage.TAX_CARD__INCOME, Tax_Card.class, msgs);
406 if (newTax_card != null)
407 msgs = ((InternalEObject)newTax_card).eInverseAdd(this, TaxationPackage.TAX_CARD__INCOME, Tax_Card.class, msgs);
408 msgs = basicSetTax_card(newTax_card, msgs);
409 if (msgs != null) msgs.dispatch();
410 }
411 else if (eNotificationRequired())
412 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__TAX_CARD, newTax_card, newTax_card));
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 @Override
421 public double getTax_liability() {
422 return tax_liability;
423 }
424
425 /**
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @generated
429 */
430 @Override
431 public void setTax_liability(double newTax_liability) {
432 double oldTax_liability = tax_liability;
433 tax_liability = newTax_liability;
434 if (eNotificationRequired())
435 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__TAX_LIABILITY, oldTax_liability, tax_liability));
436 }
437
438 /**
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 */
443 @Override
444 public Tax_Payer getTaxPayer() {
445 if (eContainerFeatureID() != TaxationPackage.INCOME__TAX_PAYER) return null;
446 return (Tax_Payer)eInternalContainer();
447 }
448
449 /**
450 * <!-- begin-user-doc -->
451 * <!-- end-user-doc -->
452 * @generated
453 */
454 public NotificationChain basicSetTaxPayer(Tax_Payer newTaxPayer, NotificationChain msgs) {
455 msgs = eBasicSetContainer((InternalEObject)newTaxPayer, TaxationPackage.INCOME__TAX_PAYER, msgs);
456 return msgs;
457 }
458
459 /**
460 * <!-- begin-user-doc -->
461 * <!-- end-user-doc -->
462 * @generated
463 */
464 @Override
465 public void setTaxPayer(Tax_Payer newTaxPayer) {
466 if (newTaxPayer != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.INCOME__TAX_PAYER && newTaxPayer != null)) {
467 if (EcoreUtil.isAncestor(this, newTaxPayer))
468 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
469 NotificationChain msgs = null;
470 if (eInternalContainer() != null)
471 msgs = eBasicRemoveFromContainer(msgs);
472 if (newTaxPayer != null)
473 msgs = ((InternalEObject)newTaxPayer).eInverseAdd(this, TaxationPackage.TAX_PAYER__INCOMES, Tax_Payer.class, msgs);
474 msgs = basicSetTaxPayer(newTaxPayer, msgs);
475 if (msgs != null) msgs.dispatch();
476 }
477 else if (eNotificationRequired())
478 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__TAX_PAYER, newTaxPayer, newTaxPayer));
479 }
480
481 /**
482 * <!-- begin-user-doc -->
483 * <!-- end-user-doc -->
484 * @generated
485 */
486 @Override
487 public EList<Income_Detail> getDetails() {
488 if (details == null) {
489 details = new EObjectContainmentWithInverseEList<Income_Detail>(Income_Detail.class, this, TaxationPackage.INCOME__DETAILS, TaxationPackage.INCOME_DETAIL__INCOME);
490 }
491 return details;
492 }
493
494 /**
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 */
499 @Override
500 public int getNum() {
501 return num;
502 }
503
504 /**
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 @Override
510 public void setNum(int newNum) {
511 int oldNum = num;
512 num = newNum;
513 if (eNotificationRequired())
514 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__NUM, oldNum, num));
515 }
516
517 /**
518 * <!-- begin-user-doc -->
519 * <!-- end-user-doc -->
520 * @generated
521 */
522 @Override
523 public EList<Expense> getExpenses() {
524 if (expenses == null) {
525 expenses = new EObjectContainmentWithInverseEList<Expense>(Expense.class, this, TaxationPackage.INCOME__EXPENSES, TaxationPackage.EXPENSE__INCOME);
526 }
527 return expenses;
528 }
529
530 /**
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @generated
534 */
535 @SuppressWarnings("unchecked")
536 @Override
537 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
538 switch (featureID) {
539 case TaxationPackage.INCOME__INCOME_TYPE:
540 if (income_type != null)
541 msgs = ((InternalEObject)income_type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.INCOME__INCOME_TYPE, null, msgs);
542 return basicSetIncome_type((Income_Type)otherEnd, msgs);
543 case TaxationPackage.INCOME__TAX_CARD:
544 if (tax_card != null)
545 msgs = ((InternalEObject)tax_card).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.INCOME__TAX_CARD, null, msgs);
546 return basicSetTax_card((Tax_Card)otherEnd, msgs);
547 case TaxationPackage.INCOME__TAX_PAYER:
548 if (eInternalContainer() != null)
549 msgs = eBasicRemoveFromContainer(msgs);
550 return basicSetTaxPayer((Tax_Payer)otherEnd, msgs);
551 case TaxationPackage.INCOME__DETAILS:
552 return ((InternalEList<InternalEObject>)(InternalEList<?>)getDetails()).basicAdd(otherEnd, msgs);
553 case TaxationPackage.INCOME__EXPENSES:
554 return ((InternalEList<InternalEObject>)(InternalEList<?>)getExpenses()).basicAdd(otherEnd, msgs);
555 }
556 return super.eInverseAdd(otherEnd, featureID, msgs);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
566 switch (featureID) {
567 case TaxationPackage.INCOME__INCOME_TYPE:
568 return basicSetIncome_type(null, msgs);
569 case TaxationPackage.INCOME__TAX_CARD:
570 return basicSetTax_card(null, msgs);
571 case TaxationPackage.INCOME__TAX_PAYER:
572 return basicSetTaxPayer(null, msgs);
573 case TaxationPackage.INCOME__DETAILS:
574 return ((InternalEList<?>)getDetails()).basicRemove(otherEnd, msgs);
575 case TaxationPackage.INCOME__EXPENSES:
576 return ((InternalEList<?>)getExpenses()).basicRemove(otherEnd, msgs);
577 }
578 return super.eInverseRemove(otherEnd, featureID, msgs);
579 }
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 @Override
587 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
588 switch (eContainerFeatureID()) {
589 case TaxationPackage.INCOME__TAX_PAYER:
590 return eInternalContainer().eInverseRemove(this, TaxationPackage.TAX_PAYER__INCOMES, Tax_Payer.class, msgs);
591 }
592 return super.eBasicRemoveFromContainerFeature(msgs);
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 @Override
601 public Object eGet(int featureID, boolean resolve, boolean coreType) {
602 switch (featureID) {
603 case TaxationPackage.INCOME__INCOME_AMOUNT:
604 return getIncome_amount();
605 case TaxationPackage.INCOME__INCOME_TYPE:
606 return getIncome_type();
607 case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR:
608 return getStart_date_within_taxation_year();
609 case TaxationPackage.INCOME__START_DATE_OF_CONTRACT:
610 return getStart_date_of_contract();
611 case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR:
612 return getEnd_date_within_taxation_year();
613 case TaxationPackage.INCOME__TAX_CARD:
614 return getTax_card();
615 case TaxationPackage.INCOME__TAX_LIABILITY:
616 return getTax_liability();
617 case TaxationPackage.INCOME__TAX_PAYER:
618 return getTaxPayer();
619 case TaxationPackage.INCOME__DETAILS:
620 return getDetails();
621 case TaxationPackage.INCOME__NUM:
622 return getNum();
623 case TaxationPackage.INCOME__EXPENSES:
624 return getExpenses();
625 }
626 return super.eGet(featureID, resolve, coreType);
627 }
628
629 /**
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 */
634 @SuppressWarnings("unchecked")
635 @Override
636 public void eSet(int featureID, Object newValue) {
637 switch (featureID) {
638 case TaxationPackage.INCOME__INCOME_AMOUNT:
639 setIncome_amount((Double)newValue);
640 return;
641 case TaxationPackage.INCOME__INCOME_TYPE:
642 setIncome_type((Income_Type)newValue);
643 return;
644 case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR:
645 setStart_date_within_taxation_year((Date)newValue);
646 return;
647 case TaxationPackage.INCOME__START_DATE_OF_CONTRACT:
648 setStart_date_of_contract((Date)newValue);
649 return;
650 case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR:
651 setEnd_date_within_taxation_year((Date)newValue);
652 return;
653 case TaxationPackage.INCOME__TAX_CARD:
654 setTax_card((Tax_Card)newValue);
655 return;
656 case TaxationPackage.INCOME__TAX_LIABILITY:
657 setTax_liability((Double)newValue);
658 return;
659 case TaxationPackage.INCOME__TAX_PAYER:
660 setTaxPayer((Tax_Payer)newValue);
661 return;
662 case TaxationPackage.INCOME__DETAILS:
663 getDetails().clear();
664 getDetails().addAll((Collection<? extends Income_Detail>)newValue);
665 return;
666 case TaxationPackage.INCOME__NUM:
667 setNum((Integer)newValue);
668 return;
669 case TaxationPackage.INCOME__EXPENSES:
670 getExpenses().clear();
671 getExpenses().addAll((Collection<? extends Expense>)newValue);
672 return;
673 }
674 super.eSet(featureID, newValue);
675 }
676
677 /**
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 */
682 @Override
683 public void eUnset(int featureID) {
684 switch (featureID) {
685 case TaxationPackage.INCOME__INCOME_AMOUNT:
686 setIncome_amount(INCOME_AMOUNT_EDEFAULT);
687 return;
688 case TaxationPackage.INCOME__INCOME_TYPE:
689 setIncome_type((Income_Type)null);
690 return;
691 case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR:
692 setStart_date_within_taxation_year(START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT);
693 return;
694 case TaxationPackage.INCOME__START_DATE_OF_CONTRACT:
695 setStart_date_of_contract(START_DATE_OF_CONTRACT_EDEFAULT);
696 return;
697 case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR:
698 setEnd_date_within_taxation_year(END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT);
699 return;
700 case TaxationPackage.INCOME__TAX_CARD:
701 setTax_card((Tax_Card)null);
702 return;
703 case TaxationPackage.INCOME__TAX_LIABILITY:
704 setTax_liability(TAX_LIABILITY_EDEFAULT);
705 return;
706 case TaxationPackage.INCOME__TAX_PAYER:
707 setTaxPayer((Tax_Payer)null);
708 return;
709 case TaxationPackage.INCOME__DETAILS:
710 getDetails().clear();
711 return;
712 case TaxationPackage.INCOME__NUM:
713 setNum(NUM_EDEFAULT);
714 return;
715 case TaxationPackage.INCOME__EXPENSES:
716 getExpenses().clear();
717 return;
718 }
719 super.eUnset(featureID);
720 }
721
722 /**
723 * <!-- begin-user-doc -->
724 * <!-- end-user-doc -->
725 * @generated
726 */
727 @Override
728 public boolean eIsSet(int featureID) {
729 switch (featureID) {
730 case TaxationPackage.INCOME__INCOME_AMOUNT:
731 return income_amount != INCOME_AMOUNT_EDEFAULT;
732 case TaxationPackage.INCOME__INCOME_TYPE:
733 return income_type != null;
734 case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR:
735 return START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT == null ? start_date_within_taxation_year != null : !START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT.equals(start_date_within_taxation_year);
736 case TaxationPackage.INCOME__START_DATE_OF_CONTRACT:
737 return START_DATE_OF_CONTRACT_EDEFAULT == null ? start_date_of_contract != null : !START_DATE_OF_CONTRACT_EDEFAULT.equals(start_date_of_contract);
738 case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR:
739 return END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT == null ? end_date_within_taxation_year != null : !END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT.equals(end_date_within_taxation_year);
740 case TaxationPackage.INCOME__TAX_CARD:
741 return tax_card != null;
742 case TaxationPackage.INCOME__TAX_LIABILITY:
743 return tax_liability != TAX_LIABILITY_EDEFAULT;
744 case TaxationPackage.INCOME__TAX_PAYER:
745 return getTaxPayer() != null;
746 case TaxationPackage.INCOME__DETAILS:
747 return details != null && !details.isEmpty();
748 case TaxationPackage.INCOME__NUM:
749 return num != NUM_EDEFAULT;
750 case TaxationPackage.INCOME__EXPENSES:
751 return expenses != null && !expenses.isEmpty();
752 }
753 return super.eIsSet(featureID);
754 }
755
756 /**
757 * <!-- begin-user-doc -->
758 * <!-- end-user-doc -->
759 * @generated
760 */
761 @Override
762 public String toString() {
763 if (eIsProxy()) return super.toString();
764
765 StringBuilder result = new StringBuilder(super.toString());
766 result.append(" (income_amount: ");
767 result.append(income_amount);
768 result.append(", start_date_within_taxation_year: ");
769 result.append(start_date_within_taxation_year);
770 result.append(", start_date_of_contract: ");
771 result.append(start_date_of_contract);
772 result.append(", end_date_within_taxation_year: ");
773 result.append(end_date_within_taxation_year);
774 result.append(", tax_liability: ");
775 result.append(tax_liability);
776 result.append(", num: ");
777 result.append(num);
778 result.append(')');
779 return result.toString();
780 }
781
782} //IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java
new file mode 100644
index 00000000..ff882fd5
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java
@@ -0,0 +1,547 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Income;
6import Taxation.Income_Detail;
7import Taxation.TaxationPackage;
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EcoreUtil;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Income Detail</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link Taxation.impl.Income_DetailImpl#getAmount <em>Amount</em>}</li>
28 * <li>{@link Taxation.impl.Income_DetailImpl#isIs_worked <em>Is worked</em>}</li>
29 * <li>{@link Taxation.impl.Income_DetailImpl#getDistance <em>Distance</em>}</li>
30 * <li>{@link Taxation.impl.Income_DetailImpl#getWorked_days <em>Worked days</em>}</li>
31 * <li>{@link Taxation.impl.Income_DetailImpl#isIs_contributing_CNS <em>Is contributing CNS</em>}</li>
32 * <li>{@link Taxation.impl.Income_DetailImpl#getId5 <em>Id5</em>}</li>
33 * <li>{@link Taxation.impl.Income_DetailImpl#getIncome <em>Income</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class Income_DetailImpl extends MinimalEObjectImpl.Container implements Income_Detail {
39 /**
40 * The default value of the '{@link #getAmount() <em>Amount</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getAmount()
44 * @generated
45 * @ordered
46 */
47 protected static final double AMOUNT_EDEFAULT = 0.0;
48
49 /**
50 * The cached value of the '{@link #getAmount() <em>Amount</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getAmount()
54 * @generated
55 * @ordered
56 */
57 protected double amount = AMOUNT_EDEFAULT;
58
59 /**
60 * The default value of the '{@link #isIs_worked() <em>Is worked</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #isIs_worked()
64 * @generated
65 * @ordered
66 */
67 protected static final boolean IS_WORKED_EDEFAULT = false;
68
69 /**
70 * The cached value of the '{@link #isIs_worked() <em>Is worked</em>}' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #isIs_worked()
74 * @generated
75 * @ordered
76 */
77 protected boolean is_worked = IS_WORKED_EDEFAULT;
78
79 /**
80 * The default value of the '{@link #getDistance() <em>Distance</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getDistance()
84 * @generated
85 * @ordered
86 */
87 protected static final double DISTANCE_EDEFAULT = 0.0;
88
89 /**
90 * The cached value of the '{@link #getDistance() <em>Distance</em>}' attribute.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getDistance()
94 * @generated
95 * @ordered
96 */
97 protected double distance = DISTANCE_EDEFAULT;
98
99 /**
100 * The default value of the '{@link #getWorked_days() <em>Worked days</em>}' attribute.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @see #getWorked_days()
104 * @generated
105 * @ordered
106 */
107 protected static final int WORKED_DAYS_EDEFAULT = 0;
108
109 /**
110 * The cached value of the '{@link #getWorked_days() <em>Worked days</em>}' attribute.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @see #getWorked_days()
114 * @generated
115 * @ordered
116 */
117 protected int worked_days = WORKED_DAYS_EDEFAULT;
118
119 /**
120 * The default value of the '{@link #isIs_contributing_CNS() <em>Is contributing CNS</em>}' attribute.
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @see #isIs_contributing_CNS()
124 * @generated
125 * @ordered
126 */
127 protected static final boolean IS_CONTRIBUTING_CNS_EDEFAULT = false;
128
129 /**
130 * The cached value of the '{@link #isIs_contributing_CNS() <em>Is contributing CNS</em>}' attribute.
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @see #isIs_contributing_CNS()
134 * @generated
135 * @ordered
136 */
137 protected boolean is_contributing_CNS = IS_CONTRIBUTING_CNS_EDEFAULT;
138
139 /**
140 * The default value of the '{@link #getId5() <em>Id5</em>}' attribute.
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @see #getId5()
144 * @generated
145 * @ordered
146 */
147 protected static final String ID5_EDEFAULT = null;
148
149 /**
150 * The cached value of the '{@link #getId5() <em>Id5</em>}' attribute.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @see #getId5()
154 * @generated
155 * @ordered
156 */
157 protected String id5 = ID5_EDEFAULT;
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 protected Income_DetailImpl() {
165 super();
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 protected EClass eStaticClass() {
175 return TaxationPackage.Literals.INCOME_DETAIL;
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public double getAmount() {
185 return amount;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public void setAmount(double newAmount) {
195 double oldAmount = amount;
196 amount = newAmount;
197 if (eNotificationRequired())
198 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__AMOUNT, oldAmount, amount));
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public boolean isIs_worked() {
208 return is_worked;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void setIs_worked(boolean newIs_worked) {
218 boolean oldIs_worked = is_worked;
219 is_worked = newIs_worked;
220 if (eNotificationRequired())
221 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__IS_WORKED, oldIs_worked, is_worked));
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public double getDistance() {
231 return distance;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public void setDistance(double newDistance) {
241 double oldDistance = distance;
242 distance = newDistance;
243 if (eNotificationRequired())
244 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__DISTANCE, oldDistance, distance));
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public int getWorked_days() {
254 return worked_days;
255 }
256
257 /**
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 */
262 @Override
263 public void setWorked_days(int newWorked_days) {
264 int oldWorked_days = worked_days;
265 worked_days = newWorked_days;
266 if (eNotificationRequired())
267 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__WORKED_DAYS, oldWorked_days, worked_days));
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 @Override
276 public boolean isIs_contributing_CNS() {
277 return is_contributing_CNS;
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 @Override
286 public void setIs_contributing_CNS(boolean newIs_contributing_CNS) {
287 boolean oldIs_contributing_CNS = is_contributing_CNS;
288 is_contributing_CNS = newIs_contributing_CNS;
289 if (eNotificationRequired())
290 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__IS_CONTRIBUTING_CNS, oldIs_contributing_CNS, is_contributing_CNS));
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public String getId5() {
300 return id5;
301 }
302
303 /**
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 */
308 @Override
309 public void setId5(String newId5) {
310 String oldId5 = id5;
311 id5 = newId5;
312 if (eNotificationRequired())
313 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__ID5, oldId5, id5));
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 @Override
322 public Income getIncome() {
323 if (eContainerFeatureID() != TaxationPackage.INCOME_DETAIL__INCOME) return null;
324 return (Income)eInternalContainer();
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 public NotificationChain basicSetIncome(Income newIncome, NotificationChain msgs) {
333 msgs = eBasicSetContainer((InternalEObject)newIncome, TaxationPackage.INCOME_DETAIL__INCOME, msgs);
334 return msgs;
335 }
336
337 /**
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 */
342 @Override
343 public void setIncome(Income newIncome) {
344 if (newIncome != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.INCOME_DETAIL__INCOME && newIncome != null)) {
345 if (EcoreUtil.isAncestor(this, newIncome))
346 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
347 NotificationChain msgs = null;
348 if (eInternalContainer() != null)
349 msgs = eBasicRemoveFromContainer(msgs);
350 if (newIncome != null)
351 msgs = ((InternalEObject)newIncome).eInverseAdd(this, TaxationPackage.INCOME__DETAILS, Income.class, msgs);
352 msgs = basicSetIncome(newIncome, msgs);
353 if (msgs != null) msgs.dispatch();
354 }
355 else if (eNotificationRequired())
356 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_DETAIL__INCOME, newIncome, newIncome));
357 }
358
359 /**
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 */
364 @Override
365 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
366 switch (featureID) {
367 case TaxationPackage.INCOME_DETAIL__INCOME:
368 if (eInternalContainer() != null)
369 msgs = eBasicRemoveFromContainer(msgs);
370 return basicSetIncome((Income)otherEnd, msgs);
371 }
372 return super.eInverseAdd(otherEnd, featureID, msgs);
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
382 switch (featureID) {
383 case TaxationPackage.INCOME_DETAIL__INCOME:
384 return basicSetIncome(null, msgs);
385 }
386 return super.eInverseRemove(otherEnd, featureID, msgs);
387 }
388
389 /**
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @generated
393 */
394 @Override
395 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
396 switch (eContainerFeatureID()) {
397 case TaxationPackage.INCOME_DETAIL__INCOME:
398 return eInternalContainer().eInverseRemove(this, TaxationPackage.INCOME__DETAILS, Income.class, msgs);
399 }
400 return super.eBasicRemoveFromContainerFeature(msgs);
401 }
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 @Override
409 public Object eGet(int featureID, boolean resolve, boolean coreType) {
410 switch (featureID) {
411 case TaxationPackage.INCOME_DETAIL__AMOUNT:
412 return getAmount();
413 case TaxationPackage.INCOME_DETAIL__IS_WORKED:
414 return isIs_worked();
415 case TaxationPackage.INCOME_DETAIL__DISTANCE:
416 return getDistance();
417 case TaxationPackage.INCOME_DETAIL__WORKED_DAYS:
418 return getWorked_days();
419 case TaxationPackage.INCOME_DETAIL__IS_CONTRIBUTING_CNS:
420 return isIs_contributing_CNS();
421 case TaxationPackage.INCOME_DETAIL__ID5:
422 return getId5();
423 case TaxationPackage.INCOME_DETAIL__INCOME:
424 return getIncome();
425 }
426 return super.eGet(featureID, resolve, coreType);
427 }
428
429 /**
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 */
434 @Override
435 public void eSet(int featureID, Object newValue) {
436 switch (featureID) {
437 case TaxationPackage.INCOME_DETAIL__AMOUNT:
438 setAmount((Double)newValue);
439 return;
440 case TaxationPackage.INCOME_DETAIL__IS_WORKED:
441 setIs_worked((Boolean)newValue);
442 return;
443 case TaxationPackage.INCOME_DETAIL__DISTANCE:
444 setDistance((Double)newValue);
445 return;
446 case TaxationPackage.INCOME_DETAIL__WORKED_DAYS:
447 setWorked_days((Integer)newValue);
448 return;
449 case TaxationPackage.INCOME_DETAIL__IS_CONTRIBUTING_CNS:
450 setIs_contributing_CNS((Boolean)newValue);
451 return;
452 case TaxationPackage.INCOME_DETAIL__ID5:
453 setId5((String)newValue);
454 return;
455 case TaxationPackage.INCOME_DETAIL__INCOME:
456 setIncome((Income)newValue);
457 return;
458 }
459 super.eSet(featureID, newValue);
460 }
461
462 /**
463 * <!-- begin-user-doc -->
464 * <!-- end-user-doc -->
465 * @generated
466 */
467 @Override
468 public void eUnset(int featureID) {
469 switch (featureID) {
470 case TaxationPackage.INCOME_DETAIL__AMOUNT:
471 setAmount(AMOUNT_EDEFAULT);
472 return;
473 case TaxationPackage.INCOME_DETAIL__IS_WORKED:
474 setIs_worked(IS_WORKED_EDEFAULT);
475 return;
476 case TaxationPackage.INCOME_DETAIL__DISTANCE:
477 setDistance(DISTANCE_EDEFAULT);
478 return;
479 case TaxationPackage.INCOME_DETAIL__WORKED_DAYS:
480 setWorked_days(WORKED_DAYS_EDEFAULT);
481 return;
482 case TaxationPackage.INCOME_DETAIL__IS_CONTRIBUTING_CNS:
483 setIs_contributing_CNS(IS_CONTRIBUTING_CNS_EDEFAULT);
484 return;
485 case TaxationPackage.INCOME_DETAIL__ID5:
486 setId5(ID5_EDEFAULT);
487 return;
488 case TaxationPackage.INCOME_DETAIL__INCOME:
489 setIncome((Income)null);
490 return;
491 }
492 super.eUnset(featureID);
493 }
494
495 /**
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 */
500 @Override
501 public boolean eIsSet(int featureID) {
502 switch (featureID) {
503 case TaxationPackage.INCOME_DETAIL__AMOUNT:
504 return amount != AMOUNT_EDEFAULT;
505 case TaxationPackage.INCOME_DETAIL__IS_WORKED:
506 return is_worked != IS_WORKED_EDEFAULT;
507 case TaxationPackage.INCOME_DETAIL__DISTANCE:
508 return distance != DISTANCE_EDEFAULT;
509 case TaxationPackage.INCOME_DETAIL__WORKED_DAYS:
510 return worked_days != WORKED_DAYS_EDEFAULT;
511 case TaxationPackage.INCOME_DETAIL__IS_CONTRIBUTING_CNS:
512 return is_contributing_CNS != IS_CONTRIBUTING_CNS_EDEFAULT;
513 case TaxationPackage.INCOME_DETAIL__ID5:
514 return ID5_EDEFAULT == null ? id5 != null : !ID5_EDEFAULT.equals(id5);
515 case TaxationPackage.INCOME_DETAIL__INCOME:
516 return getIncome() != null;
517 }
518 return super.eIsSet(featureID);
519 }
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 @Override
527 public String toString() {
528 if (eIsProxy()) return super.toString();
529
530 StringBuilder result = new StringBuilder(super.toString());
531 result.append(" (amount: ");
532 result.append(amount);
533 result.append(", is_worked: ");
534 result.append(is_worked);
535 result.append(", distance: ");
536 result.append(distance);
537 result.append(", worked_days: ");
538 result.append(worked_days);
539 result.append(", is_contributing_CNS: ");
540 result.append(is_contributing_CNS);
541 result.append(", id5: ");
542 result.append(id5);
543 result.append(')');
544 return result.toString();
545 }
546
547} //Income_DetailImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java
new file mode 100644
index 00000000..3083b3fa
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java
@@ -0,0 +1,340 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Income_Tax;
6import Taxation.Tax_Payer;
7import Taxation.TaxationPackage;
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.InternalEObject;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Income Tax</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link Taxation.impl.Income_TaxImpl#getTaxPayer <em>Tax Payer</em>}</li>
25 * <li>{@link Taxation.impl.Income_TaxImpl#getTax_amount <em>Tax amount</em>}</li>
26 * <li>{@link Taxation.impl.Income_TaxImpl#getTax_year <em>Tax year</em>}</li>
27 * <li>{@link Taxation.impl.Income_TaxImpl#getId6 <em>Id6</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class Income_TaxImpl extends MinimalEObjectImpl.Container implements Income_Tax {
33 /**
34 * The cached value of the '{@link #getTaxPayer() <em>Tax Payer</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getTaxPayer()
38 * @generated
39 * @ordered
40 */
41 protected Tax_Payer taxPayer;
42
43 /**
44 * The default value of the '{@link #getTax_amount() <em>Tax amount</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getTax_amount()
48 * @generated
49 * @ordered
50 */
51 protected static final double TAX_AMOUNT_EDEFAULT = 0.0;
52
53 /**
54 * The cached value of the '{@link #getTax_amount() <em>Tax amount</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getTax_amount()
58 * @generated
59 * @ordered
60 */
61 protected double tax_amount = TAX_AMOUNT_EDEFAULT;
62
63 /**
64 * The default value of the '{@link #getTax_year() <em>Tax year</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getTax_year()
68 * @generated
69 * @ordered
70 */
71 protected static final int TAX_YEAR_EDEFAULT = 0;
72
73 /**
74 * The cached value of the '{@link #getTax_year() <em>Tax year</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #getTax_year()
78 * @generated
79 * @ordered
80 */
81 protected int tax_year = TAX_YEAR_EDEFAULT;
82
83 /**
84 * The default value of the '{@link #getId6() <em>Id6</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #getId6()
88 * @generated
89 * @ordered
90 */
91 protected static final String ID6_EDEFAULT = null;
92
93 /**
94 * The cached value of the '{@link #getId6() <em>Id6</em>}' attribute.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #getId6()
98 * @generated
99 * @ordered
100 */
101 protected String id6 = ID6_EDEFAULT;
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 protected Income_TaxImpl() {
109 super();
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 protected EClass eStaticClass() {
119 return TaxationPackage.Literals.INCOME_TAX;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Tax_Payer getTaxPayer() {
129 if (taxPayer != null && taxPayer.eIsProxy()) {
130 InternalEObject oldTaxPayer = (InternalEObject)taxPayer;
131 taxPayer = (Tax_Payer)eResolveProxy(oldTaxPayer);
132 if (taxPayer != oldTaxPayer) {
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.INCOME_TAX__TAX_PAYER, oldTaxPayer, taxPayer));
135 }
136 }
137 return taxPayer;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public Tax_Payer basicGetTaxPayer() {
146 return taxPayer;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void setTaxPayer(Tax_Payer newTaxPayer) {
156 Tax_Payer oldTaxPayer = taxPayer;
157 taxPayer = newTaxPayer;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX__TAX_PAYER, oldTaxPayer, taxPayer));
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public double getTax_amount() {
169 return tax_amount;
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public void setTax_amount(double newTax_amount) {
179 double oldTax_amount = tax_amount;
180 tax_amount = newTax_amount;
181 if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX__TAX_AMOUNT, oldTax_amount, tax_amount));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public int getTax_year() {
192 return tax_year;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void setTax_year(int newTax_year) {
202 int oldTax_year = tax_year;
203 tax_year = newTax_year;
204 if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX__TAX_YEAR, oldTax_year, tax_year));
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public String getId6() {
215 return id6;
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public void setId6(String newId6) {
225 String oldId6 = id6;
226 id6 = newId6;
227 if (eNotificationRequired())
228 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX__ID6, oldId6, id6));
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public Object eGet(int featureID, boolean resolve, boolean coreType) {
238 switch (featureID) {
239 case TaxationPackage.INCOME_TAX__TAX_PAYER:
240 if (resolve) return getTaxPayer();
241 return basicGetTaxPayer();
242 case TaxationPackage.INCOME_TAX__TAX_AMOUNT:
243 return getTax_amount();
244 case TaxationPackage.INCOME_TAX__TAX_YEAR:
245 return getTax_year();
246 case TaxationPackage.INCOME_TAX__ID6:
247 return getId6();
248 }
249 return super.eGet(featureID, resolve, coreType);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public void eSet(int featureID, Object newValue) {
259 switch (featureID) {
260 case TaxationPackage.INCOME_TAX__TAX_PAYER:
261 setTaxPayer((Tax_Payer)newValue);
262 return;
263 case TaxationPackage.INCOME_TAX__TAX_AMOUNT:
264 setTax_amount((Double)newValue);
265 return;
266 case TaxationPackage.INCOME_TAX__TAX_YEAR:
267 setTax_year((Integer)newValue);
268 return;
269 case TaxationPackage.INCOME_TAX__ID6:
270 setId6((String)newValue);
271 return;
272 }
273 super.eSet(featureID, newValue);
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void eUnset(int featureID) {
283 switch (featureID) {
284 case TaxationPackage.INCOME_TAX__TAX_PAYER:
285 setTaxPayer((Tax_Payer)null);
286 return;
287 case TaxationPackage.INCOME_TAX__TAX_AMOUNT:
288 setTax_amount(TAX_AMOUNT_EDEFAULT);
289 return;
290 case TaxationPackage.INCOME_TAX__TAX_YEAR:
291 setTax_year(TAX_YEAR_EDEFAULT);
292 return;
293 case TaxationPackage.INCOME_TAX__ID6:
294 setId6(ID6_EDEFAULT);
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID) {
307 switch (featureID) {
308 case TaxationPackage.INCOME_TAX__TAX_PAYER:
309 return taxPayer != null;
310 case TaxationPackage.INCOME_TAX__TAX_AMOUNT:
311 return tax_amount != TAX_AMOUNT_EDEFAULT;
312 case TaxationPackage.INCOME_TAX__TAX_YEAR:
313 return tax_year != TAX_YEAR_EDEFAULT;
314 case TaxationPackage.INCOME_TAX__ID6:
315 return ID6_EDEFAULT == null ? id6 != null : !ID6_EDEFAULT.equals(id6);
316 }
317 return super.eIsSet(featureID);
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 @Override
326 public String toString() {
327 if (eIsProxy()) return super.toString();
328
329 StringBuilder result = new StringBuilder(super.toString());
330 result.append(" (tax_amount: ");
331 result.append(tax_amount);
332 result.append(", tax_year: ");
333 result.append(tax_year);
334 result.append(", id6: ");
335 result.append(id6);
336 result.append(')');
337 return result.toString();
338 }
339
340} //Income_TaxImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java
new file mode 100644
index 00000000..0dbd6e21
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java
@@ -0,0 +1,625 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Grantor;
6import Taxation.Income_Tax_Credit;
7import Taxation.Tax_Card;
8import Taxation.Tax_Payer;
9import Taxation.TaxationPackage;
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Income Tax Credit</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getGrantedBy <em>Granted By</em>}</li>
28 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getTaxPayer <em>Tax Payer</em>}</li>
29 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getTax_year <em>Tax year</em>}</li>
30 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getYearly <em>Yearly</em>}</li>
31 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getMonthly <em>Monthly</em>}</li>
32 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getDaily <em>Daily</em>}</li>
33 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getId7 <em>Id7</em>}</li>
34 * <li>{@link Taxation.impl.Income_Tax_CreditImpl#getTaxation_Frame <em>Taxation Frame</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class Income_Tax_CreditImpl extends MinimalEObjectImpl.Container implements Income_Tax_Credit {
40 /**
41 * The default value of the '{@link #getGrantedBy() <em>Granted By</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getGrantedBy()
45 * @generated
46 * @ordered
47 */
48 protected static final Grantor GRANTED_BY_EDEFAULT = Grantor.WWW;
49
50 /**
51 * The cached value of the '{@link #getGrantedBy() <em>Granted By</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getGrantedBy()
55 * @generated
56 * @ordered
57 */
58 protected Grantor grantedBy = GRANTED_BY_EDEFAULT;
59
60 /**
61 * The cached value of the '{@link #getTaxPayer() <em>Tax Payer</em>}' reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getTaxPayer()
65 * @generated
66 * @ordered
67 */
68 protected Tax_Payer taxPayer;
69
70 /**
71 * The default value of the '{@link #getTax_year() <em>Tax year</em>}' attribute.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getTax_year()
75 * @generated
76 * @ordered
77 */
78 protected static final int TAX_YEAR_EDEFAULT = 0;
79
80 /**
81 * The cached value of the '{@link #getTax_year() <em>Tax year</em>}' attribute.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #getTax_year()
85 * @generated
86 * @ordered
87 */
88 protected int tax_year = TAX_YEAR_EDEFAULT;
89
90 /**
91 * The default value of the '{@link #getYearly() <em>Yearly</em>}' attribute.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #getYearly()
95 * @generated
96 * @ordered
97 */
98 protected static final double YEARLY_EDEFAULT = 300.0;
99
100 /**
101 * The cached value of the '{@link #getYearly() <em>Yearly</em>}' attribute.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @see #getYearly()
105 * @generated
106 * @ordered
107 */
108 protected double yearly = YEARLY_EDEFAULT;
109
110 /**
111 * The default value of the '{@link #getMonthly() <em>Monthly</em>}' attribute.
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @see #getMonthly()
115 * @generated
116 * @ordered
117 */
118 protected static final double MONTHLY_EDEFAULT = 25.0;
119
120 /**
121 * The cached value of the '{@link #getMonthly() <em>Monthly</em>}' attribute.
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @see #getMonthly()
125 * @generated
126 * @ordered
127 */
128 protected double monthly = MONTHLY_EDEFAULT;
129
130 /**
131 * The default value of the '{@link #getDaily() <em>Daily</em>}' attribute.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @see #getDaily()
135 * @generated
136 * @ordered
137 */
138 protected static final double DAILY_EDEFAULT = 1.0;
139
140 /**
141 * The cached value of the '{@link #getDaily() <em>Daily</em>}' attribute.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @see #getDaily()
145 * @generated
146 * @ordered
147 */
148 protected double daily = DAILY_EDEFAULT;
149
150 /**
151 * The default value of the '{@link #getId7() <em>Id7</em>}' attribute.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @see #getId7()
155 * @generated
156 * @ordered
157 */
158 protected static final String ID7_EDEFAULT = null;
159
160 /**
161 * The cached value of the '{@link #getId7() <em>Id7</em>}' attribute.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @see #getId7()
165 * @generated
166 * @ordered
167 */
168 protected String id7 = ID7_EDEFAULT;
169
170 /**
171 * The cached value of the '{@link #getTaxation_Frame() <em>Taxation Frame</em>}' reference.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @see #getTaxation_Frame()
175 * @generated
176 * @ordered
177 */
178 protected Tax_Card taxation_Frame;
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 protected Income_Tax_CreditImpl() {
186 super();
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 protected EClass eStaticClass() {
196 return TaxationPackage.Literals.INCOME_TAX_CREDIT;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public Grantor getGrantedBy() {
206 return grantedBy;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void setGrantedBy(Grantor newGrantedBy) {
216 Grantor oldGrantedBy = grantedBy;
217 grantedBy = newGrantedBy == null ? GRANTED_BY_EDEFAULT : newGrantedBy;
218 if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY, oldGrantedBy, grantedBy));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Tax_Payer getTaxPayer() {
229 if (taxPayer != null && taxPayer.eIsProxy()) {
230 InternalEObject oldTaxPayer = (InternalEObject)taxPayer;
231 taxPayer = (Tax_Payer)eResolveProxy(oldTaxPayer);
232 if (taxPayer != oldTaxPayer) {
233 if (eNotificationRequired())
234 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER, oldTaxPayer, taxPayer));
235 }
236 }
237 return taxPayer;
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 public Tax_Payer basicGetTaxPayer() {
246 return taxPayer;
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 @Override
255 public void setTaxPayer(Tax_Payer newTaxPayer) {
256 Tax_Payer oldTaxPayer = taxPayer;
257 taxPayer = newTaxPayer;
258 if (eNotificationRequired())
259 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER, oldTaxPayer, taxPayer));
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @Override
268 public int getTax_year() {
269 return tax_year;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public void setTax_year(int newTax_year) {
279 int oldTax_year = tax_year;
280 tax_year = newTax_year;
281 if (eNotificationRequired())
282 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR, oldTax_year, tax_year));
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public double getYearly() {
292 return yearly;
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public void setYearly(double newYearly) {
302 double oldYearly = yearly;
303 yearly = newYearly;
304 if (eNotificationRequired())
305 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__YEARLY, oldYearly, yearly));
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public double getMonthly() {
315 return monthly;
316 }
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 @Override
324 public void setMonthly(double newMonthly) {
325 double oldMonthly = monthly;
326 monthly = newMonthly;
327 if (eNotificationRequired())
328 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__MONTHLY, oldMonthly, monthly));
329 }
330
331 /**
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 @Override
337 public double getDaily() {
338 return daily;
339 }
340
341 /**
342 * <!-- begin-user-doc -->
343 * <!-- end-user-doc -->
344 * @generated
345 */
346 @Override
347 public void setDaily(double newDaily) {
348 double oldDaily = daily;
349 daily = newDaily;
350 if (eNotificationRequired())
351 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__DAILY, oldDaily, daily));
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @Override
360 public String getId7() {
361 return id7;
362 }
363
364 /**
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 */
369 @Override
370 public void setId7(String newId7) {
371 String oldId7 = id7;
372 id7 = newId7;
373 if (eNotificationRequired())
374 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__ID7, oldId7, id7));
375 }
376
377 /**
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @generated
381 */
382 @Override
383 public Tax_Card getTaxation_Frame() {
384 if (taxation_Frame != null && taxation_Frame.eIsProxy()) {
385 InternalEObject oldTaxation_Frame = (InternalEObject)taxation_Frame;
386 taxation_Frame = (Tax_Card)eResolveProxy(oldTaxation_Frame);
387 if (taxation_Frame != oldTaxation_Frame) {
388 if (eNotificationRequired())
389 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, oldTaxation_Frame, taxation_Frame));
390 }
391 }
392 return taxation_Frame;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 public Tax_Card basicGetTaxation_Frame() {
401 return taxation_Frame;
402 }
403
404 /**
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @generated
408 */
409 public NotificationChain basicSetTaxation_Frame(Tax_Card newTaxation_Frame, NotificationChain msgs) {
410 Tax_Card oldTaxation_Frame = taxation_Frame;
411 taxation_Frame = newTaxation_Frame;
412 if (eNotificationRequired()) {
413 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, oldTaxation_Frame, newTaxation_Frame);
414 if (msgs == null) msgs = notification; else msgs.add(notification);
415 }
416 return msgs;
417 }
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 @Override
425 public void setTaxation_Frame(Tax_Card newTaxation_Frame) {
426 if (newTaxation_Frame != taxation_Frame) {
427 NotificationChain msgs = null;
428 if (taxation_Frame != null)
429 msgs = ((InternalEObject)taxation_Frame).eInverseRemove(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
430 if (newTaxation_Frame != null)
431 msgs = ((InternalEObject)newTaxation_Frame).eInverseAdd(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
432 msgs = basicSetTaxation_Frame(newTaxation_Frame, msgs);
433 if (msgs != null) msgs.dispatch();
434 }
435 else if (eNotificationRequired())
436 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, newTaxation_Frame, newTaxation_Frame));
437 }
438
439 /**
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 */
444 @Override
445 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
446 switch (featureID) {
447 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
448 if (taxation_Frame != null)
449 msgs = ((InternalEObject)taxation_Frame).eInverseRemove(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
450 return basicSetTaxation_Frame((Tax_Card)otherEnd, msgs);
451 }
452 return super.eInverseAdd(otherEnd, featureID, msgs);
453 }
454
455 /**
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 */
460 @Override
461 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
462 switch (featureID) {
463 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
464 return basicSetTaxation_Frame(null, msgs);
465 }
466 return super.eInverseRemove(otherEnd, featureID, msgs);
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 @Override
475 public Object eGet(int featureID, boolean resolve, boolean coreType) {
476 switch (featureID) {
477 case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
478 return getGrantedBy();
479 case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
480 if (resolve) return getTaxPayer();
481 return basicGetTaxPayer();
482 case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
483 return getTax_year();
484 case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
485 return getYearly();
486 case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
487 return getMonthly();
488 case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
489 return getDaily();
490 case TaxationPackage.INCOME_TAX_CREDIT__ID7:
491 return getId7();
492 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
493 if (resolve) return getTaxation_Frame();
494 return basicGetTaxation_Frame();
495 }
496 return super.eGet(featureID, resolve, coreType);
497 }
498
499 /**
500 * <!-- begin-user-doc -->
501 * <!-- end-user-doc -->
502 * @generated
503 */
504 @Override
505 public void eSet(int featureID, Object newValue) {
506 switch (featureID) {
507 case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
508 setGrantedBy((Grantor)newValue);
509 return;
510 case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
511 setTaxPayer((Tax_Payer)newValue);
512 return;
513 case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
514 setTax_year((Integer)newValue);
515 return;
516 case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
517 setYearly((Double)newValue);
518 return;
519 case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
520 setMonthly((Double)newValue);
521 return;
522 case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
523 setDaily((Double)newValue);
524 return;
525 case TaxationPackage.INCOME_TAX_CREDIT__ID7:
526 setId7((String)newValue);
527 return;
528 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
529 setTaxation_Frame((Tax_Card)newValue);
530 return;
531 }
532 super.eSet(featureID, newValue);
533 }
534
535 /**
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 */
540 @Override
541 public void eUnset(int featureID) {
542 switch (featureID) {
543 case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
544 setGrantedBy(GRANTED_BY_EDEFAULT);
545 return;
546 case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
547 setTaxPayer((Tax_Payer)null);
548 return;
549 case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
550 setTax_year(TAX_YEAR_EDEFAULT);
551 return;
552 case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
553 setYearly(YEARLY_EDEFAULT);
554 return;
555 case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
556 setMonthly(MONTHLY_EDEFAULT);
557 return;
558 case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
559 setDaily(DAILY_EDEFAULT);
560 return;
561 case TaxationPackage.INCOME_TAX_CREDIT__ID7:
562 setId7(ID7_EDEFAULT);
563 return;
564 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
565 setTaxation_Frame((Tax_Card)null);
566 return;
567 }
568 super.eUnset(featureID);
569 }
570
571 /**
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 */
576 @Override
577 public boolean eIsSet(int featureID) {
578 switch (featureID) {
579 case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
580 return grantedBy != GRANTED_BY_EDEFAULT;
581 case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
582 return taxPayer != null;
583 case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
584 return tax_year != TAX_YEAR_EDEFAULT;
585 case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
586 return yearly != YEARLY_EDEFAULT;
587 case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
588 return monthly != MONTHLY_EDEFAULT;
589 case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
590 return daily != DAILY_EDEFAULT;
591 case TaxationPackage.INCOME_TAX_CREDIT__ID7:
592 return ID7_EDEFAULT == null ? id7 != null : !ID7_EDEFAULT.equals(id7);
593 case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
594 return taxation_Frame != null;
595 }
596 return super.eIsSet(featureID);
597 }
598
599 /**
600 * <!-- begin-user-doc -->
601 * <!-- end-user-doc -->
602 * @generated
603 */
604 @Override
605 public String toString() {
606 if (eIsProxy()) return super.toString();
607
608 StringBuilder result = new StringBuilder(super.toString());
609 result.append(" (grantedBy: ");
610 result.append(grantedBy);
611 result.append(", tax_year: ");
612 result.append(tax_year);
613 result.append(", yearly: ");
614 result.append(yearly);
615 result.append(", monthly: ");
616 result.append(monthly);
617 result.append(", daily: ");
618 result.append(daily);
619 result.append(", id7: ");
620 result.append(id7);
621 result.append(')');
622 return result.toString();
623 }
624
625} //Income_Tax_CreditImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TypeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TypeImpl.java
new file mode 100644
index 00000000..7b2564b2
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TypeImpl.java
@@ -0,0 +1,324 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Income;
6import Taxation.Income_Type;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Income Type</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link Taxation.impl.Income_TypeImpl#isSubjectToWithholdingTax <em>Subject To Withholding Tax</em>}</li>
29 * <li>{@link Taxation.impl.Income_TypeImpl#getId8 <em>Id8</em>}</li>
30 * <li>{@link Taxation.impl.Income_TypeImpl#getIncome <em>Income</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public abstract class Income_TypeImpl extends MinimalEObjectImpl.Container implements Income_Type {
36 /**
37 * The default value of the '{@link #isSubjectToWithholdingTax() <em>Subject To Withholding Tax</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #isSubjectToWithholdingTax()
41 * @generated
42 * @ordered
43 */
44 protected static final boolean SUBJECT_TO_WITHHOLDING_TAX_EDEFAULT = false;
45
46 /**
47 * The cached value of the '{@link #isSubjectToWithholdingTax() <em>Subject To Withholding Tax</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #isSubjectToWithholdingTax()
51 * @generated
52 * @ordered
53 */
54 protected boolean subjectToWithholdingTax = SUBJECT_TO_WITHHOLDING_TAX_EDEFAULT;
55
56 /**
57 * The default value of the '{@link #getId8() <em>Id8</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getId8()
61 * @generated
62 * @ordered
63 */
64 protected static final String ID8_EDEFAULT = null;
65
66 /**
67 * The cached value of the '{@link #getId8() <em>Id8</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getId8()
71 * @generated
72 * @ordered
73 */
74 protected String id8 = ID8_EDEFAULT;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected Income_TypeImpl() {
82 super();
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 protected EClass eStaticClass() {
92 return TaxationPackage.Literals.INCOME_TYPE;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public boolean isSubjectToWithholdingTax() {
102 return subjectToWithholdingTax;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void setSubjectToWithholdingTax(boolean newSubjectToWithholdingTax) {
112 boolean oldSubjectToWithholdingTax = subjectToWithholdingTax;
113 subjectToWithholdingTax = newSubjectToWithholdingTax;
114 if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX, oldSubjectToWithholdingTax, subjectToWithholdingTax));
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public String getId8() {
125 return id8;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setId8(String newId8) {
135 String oldId8 = id8;
136 id8 = newId8;
137 if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TYPE__ID8, oldId8, id8));
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public Income getIncome() {
148 if (eContainerFeatureID() != TaxationPackage.INCOME_TYPE__INCOME) return null;
149 return (Income)eInternalContainer();
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public NotificationChain basicSetIncome(Income newIncome, NotificationChain msgs) {
158 msgs = eBasicSetContainer((InternalEObject)newIncome, TaxationPackage.INCOME_TYPE__INCOME, msgs);
159 return msgs;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setIncome(Income newIncome) {
169 if (newIncome != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.INCOME_TYPE__INCOME && newIncome != null)) {
170 if (EcoreUtil.isAncestor(this, newIncome))
171 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
172 NotificationChain msgs = null;
173 if (eInternalContainer() != null)
174 msgs = eBasicRemoveFromContainer(msgs);
175 if (newIncome != null)
176 msgs = ((InternalEObject)newIncome).eInverseAdd(this, TaxationPackage.INCOME__INCOME_TYPE, Income.class, msgs);
177 msgs = basicSetIncome(newIncome, msgs);
178 if (msgs != null) msgs.dispatch();
179 }
180 else if (eNotificationRequired())
181 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TYPE__INCOME, newIncome, newIncome));
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
191 switch (featureID) {
192 case TaxationPackage.INCOME_TYPE__INCOME:
193 if (eInternalContainer() != null)
194 msgs = eBasicRemoveFromContainer(msgs);
195 return basicSetIncome((Income)otherEnd, msgs);
196 }
197 return super.eInverseAdd(otherEnd, featureID, msgs);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
207 switch (featureID) {
208 case TaxationPackage.INCOME_TYPE__INCOME:
209 return basicSetIncome(null, msgs);
210 }
211 return super.eInverseRemove(otherEnd, featureID, msgs);
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
221 switch (eContainerFeatureID()) {
222 case TaxationPackage.INCOME_TYPE__INCOME:
223 return eInternalContainer().eInverseRemove(this, TaxationPackage.INCOME__INCOME_TYPE, Income.class, msgs);
224 }
225 return super.eBasicRemoveFromContainerFeature(msgs);
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public Object eGet(int featureID, boolean resolve, boolean coreType) {
235 switch (featureID) {
236 case TaxationPackage.INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX:
237 return isSubjectToWithholdingTax();
238 case TaxationPackage.INCOME_TYPE__ID8:
239 return getId8();
240 case TaxationPackage.INCOME_TYPE__INCOME:
241 return getIncome();
242 }
243 return super.eGet(featureID, resolve, coreType);
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public void eSet(int featureID, Object newValue) {
253 switch (featureID) {
254 case TaxationPackage.INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX:
255 setSubjectToWithholdingTax((Boolean)newValue);
256 return;
257 case TaxationPackage.INCOME_TYPE__ID8:
258 setId8((String)newValue);
259 return;
260 case TaxationPackage.INCOME_TYPE__INCOME:
261 setIncome((Income)newValue);
262 return;
263 }
264 super.eSet(featureID, newValue);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public void eUnset(int featureID) {
274 switch (featureID) {
275 case TaxationPackage.INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX:
276 setSubjectToWithholdingTax(SUBJECT_TO_WITHHOLDING_TAX_EDEFAULT);
277 return;
278 case TaxationPackage.INCOME_TYPE__ID8:
279 setId8(ID8_EDEFAULT);
280 return;
281 case TaxationPackage.INCOME_TYPE__INCOME:
282 setIncome((Income)null);
283 return;
284 }
285 super.eUnset(featureID);
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 @Override
294 public boolean eIsSet(int featureID) {
295 switch (featureID) {
296 case TaxationPackage.INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX:
297 return subjectToWithholdingTax != SUBJECT_TO_WITHHOLDING_TAX_EDEFAULT;
298 case TaxationPackage.INCOME_TYPE__ID8:
299 return ID8_EDEFAULT == null ? id8 != null : !ID8_EDEFAULT.equals(id8);
300 case TaxationPackage.INCOME_TYPE__INCOME:
301 return getIncome() != null;
302 }
303 return super.eIsSet(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString() {
313 if (eIsProxy()) return super.toString();
314
315 StringBuilder result = new StringBuilder(super.toString());
316 result.append(" (subjectToWithholdingTax: ");
317 result.append(subjectToWithholdingTax);
318 result.append(", id8: ");
319 result.append(id8);
320 result.append(')');
321 return result.toString();
322 }
323
324} //Income_TypeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Interest_ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Interest_ExpenseImpl.java
new file mode 100644
index 00000000..44a10564
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Interest_ExpenseImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Interest_Expense;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Interest Expense</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Interest_ExpenseImpl extends Special_Expense_DSImpl implements Interest_Expense {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Interest_ExpenseImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.INTEREST_EXPENSE;
35 }
36
37} //Interest_ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java
new file mode 100644
index 00000000..1ab3bf53
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java
@@ -0,0 +1,647 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Household;
6import Taxation.Legal_Union_Record;
7import Taxation.Physical_Person;
8import Taxation.Separation_Causes;
9import Taxation.Tax_Property;
10import Taxation.TaxationPackage;
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.Notification;
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.ENotificationImpl;
22import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
23
24import org.eclipse.emf.ecore.util.EObjectContainmentEList;
25import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
26import org.eclipse.emf.ecore.util.EcoreUtil;
27import org.eclipse.emf.ecore.util.InternalEList;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model object '<em><b>Legal Union Record</b></em>'.
32 * <!-- end-user-doc -->
33 * <p>
34 * The following features are implemented:
35 * </p>
36 * <ul>
37 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getStart_year <em>Start year</em>}</li>
38 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getEnd_year <em>End year</em>}</li>
39 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getSeparation_cause <em>Separation cause</em>}</li>
40 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getIndividual_A <em>Individual A</em>}</li>
41 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getIndividual_B <em>Individual B</em>}</li>
42 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getProperties <em>Properties</em>}</li>
43 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#isMutual_agreement <em>Mutual agreement</em>}</li>
44 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getId9 <em>Id9</em>}</li>
45 * <li>{@link Taxation.impl.Legal_Union_RecordImpl#getHousehold <em>Household</em>}</li>
46 * </ul>
47 *
48 * @generated
49 */
50public abstract class Legal_Union_RecordImpl extends MinimalEObjectImpl.Container implements Legal_Union_Record {
51 /**
52 * The default value of the '{@link #getStart_year() <em>Start year</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getStart_year()
56 * @generated
57 * @ordered
58 */
59 protected static final int START_YEAR_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getStart_year() <em>Start year</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getStart_year()
66 * @generated
67 * @ordered
68 */
69 protected int start_year = START_YEAR_EDEFAULT;
70
71 /**
72 * The default value of the '{@link #getEnd_year() <em>End year</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getEnd_year()
76 * @generated
77 * @ordered
78 */
79 protected static final int END_YEAR_EDEFAULT = 0;
80
81 /**
82 * The cached value of the '{@link #getEnd_year() <em>End year</em>}' attribute.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @see #getEnd_year()
86 * @generated
87 * @ordered
88 */
89 protected int end_year = END_YEAR_EDEFAULT;
90
91 /**
92 * The default value of the '{@link #getSeparation_cause() <em>Separation cause</em>}' attribute.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @see #getSeparation_cause()
96 * @generated
97 * @ordered
98 */
99 protected static final Separation_Causes SEPARATION_CAUSE_EDEFAULT = Separation_Causes.NONE;
100
101 /**
102 * The cached value of the '{@link #getSeparation_cause() <em>Separation cause</em>}' attribute.
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @see #getSeparation_cause()
106 * @generated
107 * @ordered
108 */
109 protected Separation_Causes separation_cause = SEPARATION_CAUSE_EDEFAULT;
110
111 /**
112 * The cached value of the '{@link #getIndividual_A() <em>Individual A</em>}' containment reference.
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @see #getIndividual_A()
116 * @generated
117 * @ordered
118 */
119 protected Physical_Person individual_A;
120
121 /**
122 * The cached value of the '{@link #getIndividual_B() <em>Individual B</em>}' containment reference list.
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @see #getIndividual_B()
126 * @generated
127 * @ordered
128 */
129 protected EList<Physical_Person> individual_B;
130
131 /**
132 * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list.
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @see #getProperties()
136 * @generated
137 * @ordered
138 */
139 protected EList<Tax_Property> properties;
140
141 /**
142 * The default value of the '{@link #isMutual_agreement() <em>Mutual agreement</em>}' attribute.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @see #isMutual_agreement()
146 * @generated
147 * @ordered
148 */
149 protected static final boolean MUTUAL_AGREEMENT_EDEFAULT = false;
150
151 /**
152 * The cached value of the '{@link #isMutual_agreement() <em>Mutual agreement</em>}' attribute.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @see #isMutual_agreement()
156 * @generated
157 * @ordered
158 */
159 protected boolean mutual_agreement = MUTUAL_AGREEMENT_EDEFAULT;
160
161 /**
162 * The default value of the '{@link #getId9() <em>Id9</em>}' attribute.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @see #getId9()
166 * @generated
167 * @ordered
168 */
169 protected static final String ID9_EDEFAULT = null;
170
171 /**
172 * The cached value of the '{@link #getId9() <em>Id9</em>}' attribute.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @see #getId9()
176 * @generated
177 * @ordered
178 */
179 protected String id9 = ID9_EDEFAULT;
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 protected Legal_Union_RecordImpl() {
187 super();
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 protected EClass eStaticClass() {
197 return TaxationPackage.Literals.LEGAL_UNION_RECORD;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public int getStart_year() {
207 return start_year;
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public void setStart_year(int newStart_year) {
217 int oldStart_year = start_year;
218 start_year = newStart_year;
219 if (eNotificationRequired())
220 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__START_YEAR, oldStart_year, start_year));
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public int getEnd_year() {
230 return end_year;
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public void setEnd_year(int newEnd_year) {
240 int oldEnd_year = end_year;
241 end_year = newEnd_year;
242 if (eNotificationRequired())
243 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__END_YEAR, oldEnd_year, end_year));
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public Separation_Causes getSeparation_cause() {
253 return separation_cause;
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public void setSeparation_cause(Separation_Causes newSeparation_cause) {
263 Separation_Causes oldSeparation_cause = separation_cause;
264 separation_cause = newSeparation_cause == null ? SEPARATION_CAUSE_EDEFAULT : newSeparation_cause;
265 if (eNotificationRequired())
266 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__SEPARATION_CAUSE, oldSeparation_cause, separation_cause));
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public Physical_Person getIndividual_A() {
276 return individual_A;
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 public NotificationChain basicSetIndividual_A(Physical_Person newIndividual_A, NotificationChain msgs) {
285 Physical_Person oldIndividual_A = individual_A;
286 individual_A = newIndividual_A;
287 if (eNotificationRequired()) {
288 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A, oldIndividual_A, newIndividual_A);
289 if (msgs == null) msgs = notification; else msgs.add(notification);
290 }
291 return msgs;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public void setIndividual_A(Physical_Person newIndividual_A) {
301 if (newIndividual_A != individual_A) {
302 NotificationChain msgs = null;
303 if (individual_A != null)
304 msgs = ((InternalEObject)individual_A).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A, null, msgs);
305 if (newIndividual_A != null)
306 msgs = ((InternalEObject)newIndividual_A).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A, null, msgs);
307 msgs = basicSetIndividual_A(newIndividual_A, msgs);
308 if (msgs != null) msgs.dispatch();
309 }
310 else if (eNotificationRequired())
311 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A, newIndividual_A, newIndividual_A));
312 }
313
314 /**
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @generated
318 */
319 @Override
320 public EList<Physical_Person> getIndividual_B() {
321 if (individual_B == null) {
322 individual_B = new EObjectContainmentEList<Physical_Person>(Physical_Person.class, this, TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B);
323 }
324 return individual_B;
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public EList<Tax_Property> getProperties() {
334 if (properties == null) {
335 properties = new EObjectContainmentWithInverseEList<Tax_Property>(Tax_Property.class, this, TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES, TaxationPackage.TAX_PROPERTY__UNION_RECORD);
336 }
337 return properties;
338 }
339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 @Override
346 public boolean isMutual_agreement() {
347 return mutual_agreement;
348 }
349
350 /**
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @generated
354 */
355 @Override
356 public void setMutual_agreement(boolean newMutual_agreement) {
357 boolean oldMutual_agreement = mutual_agreement;
358 mutual_agreement = newMutual_agreement;
359 if (eNotificationRequired())
360 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__MUTUAL_AGREEMENT, oldMutual_agreement, mutual_agreement));
361 }
362
363 /**
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 */
368 @Override
369 public String getId9() {
370 return id9;
371 }
372
373 /**
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 */
378 @Override
379 public void setId9(String newId9) {
380 String oldId9 = id9;
381 id9 = newId9;
382 if (eNotificationRequired())
383 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__ID9, oldId9, id9));
384 }
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 @Override
392 public Household getHousehold() {
393 if (eContainerFeatureID() != TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD) return null;
394 return (Household)eInternalContainer();
395 }
396
397 /**
398 * <!-- begin-user-doc -->
399 * <!-- end-user-doc -->
400 * @generated
401 */
402 public NotificationChain basicSetHousehold(Household newHousehold, NotificationChain msgs) {
403 msgs = eBasicSetContainer((InternalEObject)newHousehold, TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD, msgs);
404 return msgs;
405 }
406
407 /**
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 @Override
413 public void setHousehold(Household newHousehold) {
414 if (newHousehold != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD && newHousehold != null)) {
415 if (EcoreUtil.isAncestor(this, newHousehold))
416 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
417 NotificationChain msgs = null;
418 if (eInternalContainer() != null)
419 msgs = eBasicRemoveFromContainer(msgs);
420 if (newHousehold != null)
421 msgs = ((InternalEObject)newHousehold).eInverseAdd(this, TaxationPackage.HOUSEHOLD__PARENTS, Household.class, msgs);
422 msgs = basicSetHousehold(newHousehold, msgs);
423 if (msgs != null) msgs.dispatch();
424 }
425 else if (eNotificationRequired())
426 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD, newHousehold, newHousehold));
427 }
428
429 /**
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 */
434 @SuppressWarnings("unchecked")
435 @Override
436 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
437 switch (featureID) {
438 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
439 return ((InternalEList<InternalEObject>)(InternalEList<?>)getProperties()).basicAdd(otherEnd, msgs);
440 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
441 if (eInternalContainer() != null)
442 msgs = eBasicRemoveFromContainer(msgs);
443 return basicSetHousehold((Household)otherEnd, msgs);
444 }
445 return super.eInverseAdd(otherEnd, featureID, msgs);
446 }
447
448 /**
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 */
453 @Override
454 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
455 switch (featureID) {
456 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A:
457 return basicSetIndividual_A(null, msgs);
458 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B:
459 return ((InternalEList<?>)getIndividual_B()).basicRemove(otherEnd, msgs);
460 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
461 return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
462 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
463 return basicSetHousehold(null, msgs);
464 }
465 return super.eInverseRemove(otherEnd, featureID, msgs);
466 }
467
468 /**
469 * <!-- begin-user-doc -->
470 * <!-- end-user-doc -->
471 * @generated
472 */
473 @Override
474 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
475 switch (eContainerFeatureID()) {
476 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
477 return eInternalContainer().eInverseRemove(this, TaxationPackage.HOUSEHOLD__PARENTS, Household.class, msgs);
478 }
479 return super.eBasicRemoveFromContainerFeature(msgs);
480 }
481
482 /**
483 * <!-- begin-user-doc -->
484 * <!-- end-user-doc -->
485 * @generated
486 */
487 @Override
488 public Object eGet(int featureID, boolean resolve, boolean coreType) {
489 switch (featureID) {
490 case TaxationPackage.LEGAL_UNION_RECORD__START_YEAR:
491 return getStart_year();
492 case TaxationPackage.LEGAL_UNION_RECORD__END_YEAR:
493 return getEnd_year();
494 case TaxationPackage.LEGAL_UNION_RECORD__SEPARATION_CAUSE:
495 return getSeparation_cause();
496 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A:
497 return getIndividual_A();
498 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B:
499 return getIndividual_B();
500 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
501 return getProperties();
502 case TaxationPackage.LEGAL_UNION_RECORD__MUTUAL_AGREEMENT:
503 return isMutual_agreement();
504 case TaxationPackage.LEGAL_UNION_RECORD__ID9:
505 return getId9();
506 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
507 return getHousehold();
508 }
509 return super.eGet(featureID, resolve, coreType);
510 }
511
512 /**
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 */
517 @SuppressWarnings("unchecked")
518 @Override
519 public void eSet(int featureID, Object newValue) {
520 switch (featureID) {
521 case TaxationPackage.LEGAL_UNION_RECORD__START_YEAR:
522 setStart_year((Integer)newValue);
523 return;
524 case TaxationPackage.LEGAL_UNION_RECORD__END_YEAR:
525 setEnd_year((Integer)newValue);
526 return;
527 case TaxationPackage.LEGAL_UNION_RECORD__SEPARATION_CAUSE:
528 setSeparation_cause((Separation_Causes)newValue);
529 return;
530 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A:
531 setIndividual_A((Physical_Person)newValue);
532 return;
533 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B:
534 getIndividual_B().clear();
535 getIndividual_B().addAll((Collection<? extends Physical_Person>)newValue);
536 return;
537 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
538 getProperties().clear();
539 getProperties().addAll((Collection<? extends Tax_Property>)newValue);
540 return;
541 case TaxationPackage.LEGAL_UNION_RECORD__MUTUAL_AGREEMENT:
542 setMutual_agreement((Boolean)newValue);
543 return;
544 case TaxationPackage.LEGAL_UNION_RECORD__ID9:
545 setId9((String)newValue);
546 return;
547 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
548 setHousehold((Household)newValue);
549 return;
550 }
551 super.eSet(featureID, newValue);
552 }
553
554 /**
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @generated
558 */
559 @Override
560 public void eUnset(int featureID) {
561 switch (featureID) {
562 case TaxationPackage.LEGAL_UNION_RECORD__START_YEAR:
563 setStart_year(START_YEAR_EDEFAULT);
564 return;
565 case TaxationPackage.LEGAL_UNION_RECORD__END_YEAR:
566 setEnd_year(END_YEAR_EDEFAULT);
567 return;
568 case TaxationPackage.LEGAL_UNION_RECORD__SEPARATION_CAUSE:
569 setSeparation_cause(SEPARATION_CAUSE_EDEFAULT);
570 return;
571 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A:
572 setIndividual_A((Physical_Person)null);
573 return;
574 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B:
575 getIndividual_B().clear();
576 return;
577 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
578 getProperties().clear();
579 return;
580 case TaxationPackage.LEGAL_UNION_RECORD__MUTUAL_AGREEMENT:
581 setMutual_agreement(MUTUAL_AGREEMENT_EDEFAULT);
582 return;
583 case TaxationPackage.LEGAL_UNION_RECORD__ID9:
584 setId9(ID9_EDEFAULT);
585 return;
586 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
587 setHousehold((Household)null);
588 return;
589 }
590 super.eUnset(featureID);
591 }
592
593 /**
594 * <!-- begin-user-doc -->
595 * <!-- end-user-doc -->
596 * @generated
597 */
598 @Override
599 public boolean eIsSet(int featureID) {
600 switch (featureID) {
601 case TaxationPackage.LEGAL_UNION_RECORD__START_YEAR:
602 return start_year != START_YEAR_EDEFAULT;
603 case TaxationPackage.LEGAL_UNION_RECORD__END_YEAR:
604 return end_year != END_YEAR_EDEFAULT;
605 case TaxationPackage.LEGAL_UNION_RECORD__SEPARATION_CAUSE:
606 return separation_cause != SEPARATION_CAUSE_EDEFAULT;
607 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_A:
608 return individual_A != null;
609 case TaxationPackage.LEGAL_UNION_RECORD__INDIVIDUAL_B:
610 return individual_B != null && !individual_B.isEmpty();
611 case TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES:
612 return properties != null && !properties.isEmpty();
613 case TaxationPackage.LEGAL_UNION_RECORD__MUTUAL_AGREEMENT:
614 return mutual_agreement != MUTUAL_AGREEMENT_EDEFAULT;
615 case TaxationPackage.LEGAL_UNION_RECORD__ID9:
616 return ID9_EDEFAULT == null ? id9 != null : !ID9_EDEFAULT.equals(id9);
617 case TaxationPackage.LEGAL_UNION_RECORD__HOUSEHOLD:
618 return getHousehold() != null;
619 }
620 return super.eIsSet(featureID);
621 }
622
623 /**
624 * <!-- begin-user-doc -->
625 * <!-- end-user-doc -->
626 * @generated
627 */
628 @Override
629 public String toString() {
630 if (eIsProxy()) return super.toString();
631
632 StringBuilder result = new StringBuilder(super.toString());
633 result.append(" (start_year: ");
634 result.append(start_year);
635 result.append(", end_year: ");
636 result.append(end_year);
637 result.append(", separation_cause: ");
638 result.append(separation_cause);
639 result.append(", mutual_agreement: ");
640 result.append(mutual_agreement);
641 result.append(", id9: ");
642 result.append(id9);
643 result.append(')');
644 return result.toString();
645 }
646
647} //Legal_Union_RecordImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Local_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Local_IncomeImpl.java
new file mode 100644
index 00000000..16856767
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Local_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Local_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Local Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Local_IncomeImpl extends IncomeImpl implements Local_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Local_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.LOCAL_INCOME;
35 }
36
37} //Local_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Loss_CarryforwardImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Loss_CarryforwardImpl.java
new file mode 100644
index 00000000..d43422f8
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Loss_CarryforwardImpl.java
@@ -0,0 +1,332 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Loss_Carryforward;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Loss Carryforward</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.Loss_CarryforwardImpl#isRegular_accountability <em>Regular accountability</em>}</li>
23 * <li>{@link Taxation.impl.Loss_CarryforwardImpl#isCompensation_by_other_means <em>Compensation by other means</em>}</li>
24 * <li>{@link Taxation.impl.Loss_CarryforwardImpl#isTax_payer_has_inherited_business_ownership <em>Tax payer has inherited business ownership</em>}</li>
25 * <li>{@link Taxation.impl.Loss_CarryforwardImpl#isTax_payer_has_been_partner_in_business <em>Tax payer has been partner in business</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class Loss_CarryforwardImpl extends Special_Expense_DSImpl implements Loss_Carryforward {
31 /**
32 * The default value of the '{@link #isRegular_accountability() <em>Regular accountability</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #isRegular_accountability()
36 * @generated
37 * @ordered
38 */
39 protected static final boolean REGULAR_ACCOUNTABILITY_EDEFAULT = false;
40
41 /**
42 * The cached value of the '{@link #isRegular_accountability() <em>Regular accountability</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #isRegular_accountability()
46 * @generated
47 * @ordered
48 */
49 protected boolean regular_accountability = REGULAR_ACCOUNTABILITY_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #isCompensation_by_other_means() <em>Compensation by other means</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #isCompensation_by_other_means()
56 * @generated
57 * @ordered
58 */
59 protected static final boolean COMPENSATION_BY_OTHER_MEANS_EDEFAULT = false;
60
61 /**
62 * The cached value of the '{@link #isCompensation_by_other_means() <em>Compensation by other means</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #isCompensation_by_other_means()
66 * @generated
67 * @ordered
68 */
69 protected boolean compensation_by_other_means = COMPENSATION_BY_OTHER_MEANS_EDEFAULT;
70
71 /**
72 * The default value of the '{@link #isTax_payer_has_inherited_business_ownership() <em>Tax payer has inherited business ownership</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #isTax_payer_has_inherited_business_ownership()
76 * @generated
77 * @ordered
78 */
79 protected static final boolean TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP_EDEFAULT = false;
80
81 /**
82 * The cached value of the '{@link #isTax_payer_has_inherited_business_ownership() <em>Tax payer has inherited business ownership</em>}' attribute.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @see #isTax_payer_has_inherited_business_ownership()
86 * @generated
87 * @ordered
88 */
89 protected boolean tax_payer_has_inherited_business_ownership = TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP_EDEFAULT;
90
91 /**
92 * The default value of the '{@link #isTax_payer_has_been_partner_in_business() <em>Tax payer has been partner in business</em>}' attribute.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @see #isTax_payer_has_been_partner_in_business()
96 * @generated
97 * @ordered
98 */
99 protected static final boolean TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS_EDEFAULT = true;
100
101 /**
102 * The cached value of the '{@link #isTax_payer_has_been_partner_in_business() <em>Tax payer has been partner in business</em>}' attribute.
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @see #isTax_payer_has_been_partner_in_business()
106 * @generated
107 * @ordered
108 */
109 protected boolean tax_payer_has_been_partner_in_business = TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS_EDEFAULT;
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 protected Loss_CarryforwardImpl() {
117 super();
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 protected EClass eStaticClass() {
127 return TaxationPackage.Literals.LOSS_CARRYFORWARD;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public boolean isRegular_accountability() {
137 return regular_accountability;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public void setRegular_accountability(boolean newRegular_accountability) {
147 boolean oldRegular_accountability = regular_accountability;
148 regular_accountability = newRegular_accountability;
149 if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY, oldRegular_accountability, regular_accountability));
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean isCompensation_by_other_means() {
160 return compensation_by_other_means;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setCompensation_by_other_means(boolean newCompensation_by_other_means) {
170 boolean oldCompensation_by_other_means = compensation_by_other_means;
171 compensation_by_other_means = newCompensation_by_other_means;
172 if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS, oldCompensation_by_other_means, compensation_by_other_means));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public boolean isTax_payer_has_inherited_business_ownership() {
183 return tax_payer_has_inherited_business_ownership;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setTax_payer_has_inherited_business_ownership(boolean newTax_payer_has_inherited_business_ownership) {
193 boolean oldTax_payer_has_inherited_business_ownership = tax_payer_has_inherited_business_ownership;
194 tax_payer_has_inherited_business_ownership = newTax_payer_has_inherited_business_ownership;
195 if (eNotificationRequired())
196 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP, oldTax_payer_has_inherited_business_ownership, tax_payer_has_inherited_business_ownership));
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public boolean isTax_payer_has_been_partner_in_business() {
206 return tax_payer_has_been_partner_in_business;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void setTax_payer_has_been_partner_in_business(boolean newTax_payer_has_been_partner_in_business) {
216 boolean oldTax_payer_has_been_partner_in_business = tax_payer_has_been_partner_in_business;
217 tax_payer_has_been_partner_in_business = newTax_payer_has_been_partner_in_business;
218 if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS, oldTax_payer_has_been_partner_in_business, tax_payer_has_been_partner_in_business));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Object eGet(int featureID, boolean resolve, boolean coreType) {
229 switch (featureID) {
230 case TaxationPackage.LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY:
231 return isRegular_accountability();
232 case TaxationPackage.LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS:
233 return isCompensation_by_other_means();
234 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP:
235 return isTax_payer_has_inherited_business_ownership();
236 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS:
237 return isTax_payer_has_been_partner_in_business();
238 }
239 return super.eGet(featureID, resolve, coreType);
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 @Override
248 public void eSet(int featureID, Object newValue) {
249 switch (featureID) {
250 case TaxationPackage.LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY:
251 setRegular_accountability((Boolean)newValue);
252 return;
253 case TaxationPackage.LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS:
254 setCompensation_by_other_means((Boolean)newValue);
255 return;
256 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP:
257 setTax_payer_has_inherited_business_ownership((Boolean)newValue);
258 return;
259 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS:
260 setTax_payer_has_been_partner_in_business((Boolean)newValue);
261 return;
262 }
263 super.eSet(featureID, newValue);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public void eUnset(int featureID) {
273 switch (featureID) {
274 case TaxationPackage.LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY:
275 setRegular_accountability(REGULAR_ACCOUNTABILITY_EDEFAULT);
276 return;
277 case TaxationPackage.LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS:
278 setCompensation_by_other_means(COMPENSATION_BY_OTHER_MEANS_EDEFAULT);
279 return;
280 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP:
281 setTax_payer_has_inherited_business_ownership(TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP_EDEFAULT);
282 return;
283 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS:
284 setTax_payer_has_been_partner_in_business(TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS_EDEFAULT);
285 return;
286 }
287 super.eUnset(featureID);
288 }
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 @Override
296 public boolean eIsSet(int featureID) {
297 switch (featureID) {
298 case TaxationPackage.LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY:
299 return regular_accountability != REGULAR_ACCOUNTABILITY_EDEFAULT;
300 case TaxationPackage.LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS:
301 return compensation_by_other_means != COMPENSATION_BY_OTHER_MEANS_EDEFAULT;
302 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP:
303 return tax_payer_has_inherited_business_ownership != TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP_EDEFAULT;
304 case TaxationPackage.LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS:
305 return tax_payer_has_been_partner_in_business != TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS_EDEFAULT;
306 }
307 return super.eIsSet(featureID);
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public String toString() {
317 if (eIsProxy()) return super.toString();
318
319 StringBuilder result = new StringBuilder(super.toString());
320 result.append(" (regular_accountability: ");
321 result.append(regular_accountability);
322 result.append(", compensation_by_other_means: ");
323 result.append(compensation_by_other_means);
324 result.append(", tax_payer_has_inherited_business_ownership: ");
325 result.append(tax_payer_has_inherited_business_ownership);
326 result.append(", tax_payer_has_been_partner_in_business: ");
327 result.append(tax_payer_has_been_partner_in_business);
328 result.append(')');
329 return result.toString();
330 }
331
332} //Loss_CarryforwardImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Marriage_RecordImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Marriage_RecordImpl.java
new file mode 100644
index 00000000..df37dd06
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Marriage_RecordImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Marriage_Record;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Marriage Record</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Marriage_RecordImpl extends Legal_Union_RecordImpl implements Marriage_Record {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Marriage_RecordImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.MARRIAGE_RECORD;
35 }
36
37} //Marriage_RecordImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Miscellaneous_Expense_FOImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Miscellaneous_Expense_FOImpl.java
new file mode 100644
index 00000000..829d7b6d
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Miscellaneous_Expense_FOImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Miscellaneous_Expense_FO;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Miscellaneous Expense FO</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Miscellaneous_Expense_FOImpl extends Professional_ExpenseImpl implements Miscellaneous_Expense_FO {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Miscellaneous_Expense_FOImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.MISCELLANEOUS_EXPENSE_FO;
35 }
36
37} //Miscellaneous_Expense_FOImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Non_Resident_Tax_PayerImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Non_Resident_Tax_PayerImpl.java
new file mode 100644
index 00000000..a8a55ade
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Non_Resident_Tax_PayerImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Non_Resident_Tax_Payer;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Non Resident Tax Payer</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.Non_Resident_Tax_PayerImpl#isIs_assimilated_to_resident <em>Is assimilated to resident</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class Non_Resident_Tax_PayerImpl extends Tax_PayerImpl implements Non_Resident_Tax_Payer {
28 /**
29 * The default value of the '{@link #isIs_assimilated_to_resident() <em>Is assimilated to resident</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #isIs_assimilated_to_resident()
33 * @generated
34 * @ordered
35 */
36 protected static final boolean IS_ASSIMILATED_TO_RESIDENT_EDEFAULT = false;
37
38 /**
39 * The cached value of the '{@link #isIs_assimilated_to_resident() <em>Is assimilated to resident</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isIs_assimilated_to_resident()
43 * @generated
44 * @ordered
45 */
46 protected boolean is_assimilated_to_resident = IS_ASSIMILATED_TO_RESIDENT_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected Non_Resident_Tax_PayerImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return TaxationPackage.Literals.NON_RESIDENT_TAX_PAYER;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public boolean isIs_assimilated_to_resident() {
74 return is_assimilated_to_resident;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public void setIs_assimilated_to_resident(boolean newIs_assimilated_to_resident) {
84 boolean oldIs_assimilated_to_resident = is_assimilated_to_resident;
85 is_assimilated_to_resident = newIs_assimilated_to_resident;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT, oldIs_assimilated_to_resident, is_assimilated_to_resident));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case TaxationPackage.NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT:
99 return isIs_assimilated_to_resident();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case TaxationPackage.NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT:
113 setIs_assimilated_to_resident((Boolean)newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case TaxationPackage.NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT:
128 setIs_assimilated_to_resident(IS_ASSIMILATED_TO_RESIDENT_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case TaxationPackage.NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT:
143 return is_assimilated_to_resident != IS_ASSIMILATED_TO_RESIDENT_EDEFAULT;
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy()) return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (is_assimilated_to_resident: ");
159 result.append(is_assimilated_to_resident);
160 result.append(')');
161 return result.toString();
162 }
163
164} //Non_Resident_Tax_PayerImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Partnership_RecordImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Partnership_RecordImpl.java
new file mode 100644
index 00000000..56ee4a14
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Partnership_RecordImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Partnership_Record;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Partnership Record</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Partnership_RecordImpl extends Legal_Union_RecordImpl implements Partnership_Record {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Partnership_RecordImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.PARTNERSHIP_RECORD;
35 }
36
37} //Partnership_RecordImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Pensions_and_Annuities_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Pensions_and_Annuities_IncomeImpl.java
new file mode 100644
index 00000000..9267ee3c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Pensions_and_Annuities_IncomeImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Pensions_and_Annuities_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Pensions and Annuities Income</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.Pensions_and_Annuities_IncomeImpl#isOccasional_payement <em>Occasional payement</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class Pensions_and_Annuities_IncomeImpl extends Income_TypeImpl implements Pensions_and_Annuities_Income {
28 /**
29 * The default value of the '{@link #isOccasional_payement() <em>Occasional payement</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #isOccasional_payement()
33 * @generated
34 * @ordered
35 */
36 protected static final boolean OCCASIONAL_PAYEMENT_EDEFAULT = false;
37
38 /**
39 * The cached value of the '{@link #isOccasional_payement() <em>Occasional payement</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isOccasional_payement()
43 * @generated
44 * @ordered
45 */
46 protected boolean occasional_payement = OCCASIONAL_PAYEMENT_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected Pensions_and_Annuities_IncomeImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return TaxationPackage.Literals.PENSIONS_AND_ANNUITIES_INCOME;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public boolean isOccasional_payement() {
74 return occasional_payement;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public void setOccasional_payement(boolean newOccasional_payement) {
84 boolean oldOccasional_payement = occasional_payement;
85 occasional_payement = newOccasional_payement;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT, oldOccasional_payement, occasional_payement));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT:
99 return isOccasional_payement();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT:
113 setOccasional_payement((Boolean)newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT:
128 setOccasional_payement(OCCASIONAL_PAYEMENT_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT:
143 return occasional_payement != OCCASIONAL_PAYEMENT_EDEFAULT;
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy()) return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (occasional_payement: ");
159 result.append(occasional_payement);
160 result.append(')');
161 return result.toString();
162 }
163
164} //Pensions_and_Annuities_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Permanent_ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Permanent_ExpenseImpl.java
new file mode 100644
index 00000000..9473ae17
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Permanent_ExpenseImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Permanent_Expense;
6import Taxation.Permanent_Expense;
7import Taxation.TaxationPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Permanent Expense</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link Taxation.impl.Permanent_ExpenseImpl#getCategory <em>Category</em>}</li>
24 * <li>{@link Taxation.impl.Permanent_ExpenseImpl#isIs_eligible_for_deduction <em>Is eligible for deduction</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class Permanent_ExpenseImpl extends Special_Expense_DSImpl implements Permanent_Expense {
30 /**
31 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getCategory()
35 * @generated
36 * @ordered
37 */
38 protected static final Category_of_Permanent_Expense CATEGORY_EDEFAULT = Category_of_Permanent_Expense.MISCELLANEOUS_DEBT;
39
40 /**
41 * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getCategory()
45 * @generated
46 * @ordered
47 */
48 protected Category_of_Permanent_Expense category = CATEGORY_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #isIs_eligible_for_deduction() <em>Is eligible for deduction</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isIs_eligible_for_deduction()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean IS_ELIGIBLE_FOR_DEDUCTION_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isIs_eligible_for_deduction() <em>Is eligible for deduction</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isIs_eligible_for_deduction()
65 * @generated
66 * @ordered
67 */
68 protected boolean is_eligible_for_deduction = IS_ELIGIBLE_FOR_DEDUCTION_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected Permanent_ExpenseImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return TaxationPackage.Literals.PERMANENT_EXPENSE;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Category_of_Permanent_Expense getCategory() {
96 return category;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setCategory(Category_of_Permanent_Expense newCategory) {
106 Category_of_Permanent_Expense oldCategory = category;
107 category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PERMANENT_EXPENSE__CATEGORY, oldCategory, category));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public boolean isIs_eligible_for_deduction() {
119 return is_eligible_for_deduction;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setIs_eligible_for_deduction(boolean newIs_eligible_for_deduction) {
129 boolean oldIs_eligible_for_deduction = is_eligible_for_deduction;
130 is_eligible_for_deduction = newIs_eligible_for_deduction;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION, oldIs_eligible_for_deduction, is_eligible_for_deduction));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case TaxationPackage.PERMANENT_EXPENSE__CATEGORY:
144 return getCategory();
145 case TaxationPackage.PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION:
146 return isIs_eligible_for_deduction();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public void eSet(int featureID, Object newValue) {
158 switch (featureID) {
159 case TaxationPackage.PERMANENT_EXPENSE__CATEGORY:
160 setCategory((Category_of_Permanent_Expense)newValue);
161 return;
162 case TaxationPackage.PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION:
163 setIs_eligible_for_deduction((Boolean)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case TaxationPackage.PERMANENT_EXPENSE__CATEGORY:
178 setCategory(CATEGORY_EDEFAULT);
179 return;
180 case TaxationPackage.PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION:
181 setIs_eligible_for_deduction(IS_ELIGIBLE_FOR_DEDUCTION_EDEFAULT);
182 return;
183 }
184 super.eUnset(featureID);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public boolean eIsSet(int featureID) {
194 switch (featureID) {
195 case TaxationPackage.PERMANENT_EXPENSE__CATEGORY:
196 return category != CATEGORY_EDEFAULT;
197 case TaxationPackage.PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION:
198 return is_eligible_for_deduction != IS_ELIGIBLE_FOR_DEDUCTION_EDEFAULT;
199 }
200 return super.eIsSet(featureID);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public String toString() {
210 if (eIsProxy()) return super.toString();
211
212 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (category: ");
214 result.append(category);
215 result.append(", is_eligible_for_deduction: ");
216 result.append(is_eligible_for_deduction);
217 result.append(')');
218 return result.toString();
219 }
220
221} //Permanent_ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java
new file mode 100644
index 00000000..a63a993e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java
@@ -0,0 +1,766 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Address;
6import Taxation.Disability_Types;
7import Taxation.Expense;
8import Taxation.Physical_Person;
9import Taxation.TaxationPackage;
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Physical Person</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link Taxation.impl.Physical_PersonImpl#isIs_assisting_spouse <em>Is assisting spouse</em>}</li>
36 * <li>{@link Taxation.impl.Physical_PersonImpl#getSSNo <em>SS No</em>}</li>
37 * <li>{@link Taxation.impl.Physical_PersonImpl#getAddresses <em>Addresses</em>}</li>
38 * <li>{@link Taxation.impl.Physical_PersonImpl#getBirth_year <em>Birth year</em>}</li>
39 * <li>{@link Taxation.impl.Physical_PersonImpl#getDisability_percentage <em>Disability percentage</em>}</li>
40 * <li>{@link Taxation.impl.Physical_PersonImpl#getDisability_type <em>Disability type</em>}</li>
41 * <li>{@link Taxation.impl.Physical_PersonImpl#isIs_affiliated_personnaly_to_social_security <em>Is affiliated personnaly to social security</em>}</li>
42 * <li>{@link Taxation.impl.Physical_PersonImpl#getBirth_month <em>Birth month</em>}</li>
43 * <li>{@link Taxation.impl.Physical_PersonImpl#getBirth_day <em>Birth day</em>}</li>
44 * <li>{@link Taxation.impl.Physical_PersonImpl#getExpenses <em>Expenses</em>}</li>
45 * <li>{@link Taxation.impl.Physical_PersonImpl#isIs_widower <em>Is widower</em>}</li>
46 * <li>{@link Taxation.impl.Physical_PersonImpl#getOwns_Address <em>Owns Address</em>}</li>
47 * </ul>
48 *
49 * @generated
50 */
51public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements Physical_Person {
52 /**
53 * The default value of the '{@link #isIs_assisting_spouse() <em>Is assisting spouse</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #isIs_assisting_spouse()
57 * @generated
58 * @ordered
59 */
60 protected static final boolean IS_ASSISTING_SPOUSE_EDEFAULT = false;
61
62 /**
63 * The cached value of the '{@link #isIs_assisting_spouse() <em>Is assisting spouse</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #isIs_assisting_spouse()
67 * @generated
68 * @ordered
69 */
70 protected boolean is_assisting_spouse = IS_ASSISTING_SPOUSE_EDEFAULT;
71
72 /**
73 * The default value of the '{@link #getSSNo() <em>SS No</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #getSSNo()
77 * @generated
78 * @ordered
79 */
80 protected static final String SS_NO_EDEFAULT = null;
81
82 /**
83 * The cached value of the '{@link #getSSNo() <em>SS No</em>}' attribute.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @see #getSSNo()
87 * @generated
88 * @ordered
89 */
90 protected String ssNo = SS_NO_EDEFAULT;
91
92 /**
93 * The cached value of the '{@link #getAddresses() <em>Addresses</em>}' reference list.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @see #getAddresses()
97 * @generated
98 * @ordered
99 */
100 protected EList<Address> addresses;
101
102 /**
103 * The default value of the '{@link #getBirth_year() <em>Birth year</em>}' attribute.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @see #getBirth_year()
107 * @generated
108 * @ordered
109 */
110 protected static final int BIRTH_YEAR_EDEFAULT = 0;
111
112 /**
113 * The cached value of the '{@link #getBirth_year() <em>Birth year</em>}' attribute.
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @see #getBirth_year()
117 * @generated
118 * @ordered
119 */
120 protected int birth_year = BIRTH_YEAR_EDEFAULT;
121
122 /**
123 * The default value of the '{@link #getDisability_percentage() <em>Disability percentage</em>}' attribute.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @see #getDisability_percentage()
127 * @generated
128 * @ordered
129 */
130 protected static final double DISABILITY_PERCENTAGE_EDEFAULT = 0.0;
131
132 /**
133 * The cached value of the '{@link #getDisability_percentage() <em>Disability percentage</em>}' attribute.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see #getDisability_percentage()
137 * @generated
138 * @ordered
139 */
140 protected double disability_percentage = DISABILITY_PERCENTAGE_EDEFAULT;
141
142 /**
143 * The default value of the '{@link #getDisability_type() <em>Disability type</em>}' attribute.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @see #getDisability_type()
147 * @generated
148 * @ordered
149 */
150 protected static final Disability_Types DISABILITY_TYPE_EDEFAULT = Disability_Types.BEUG;
151
152 /**
153 * The cached value of the '{@link #getDisability_type() <em>Disability type</em>}' attribute.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @see #getDisability_type()
157 * @generated
158 * @ordered
159 */
160 protected Disability_Types disability_type = DISABILITY_TYPE_EDEFAULT;
161
162 /**
163 * The default value of the '{@link #isIs_affiliated_personnaly_to_social_security() <em>Is affiliated personnaly to social security</em>}' attribute.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @see #isIs_affiliated_personnaly_to_social_security()
167 * @generated
168 * @ordered
169 */
170 protected static final boolean IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY_EDEFAULT = false;
171
172 /**
173 * The cached value of the '{@link #isIs_affiliated_personnaly_to_social_security() <em>Is affiliated personnaly to social security</em>}' attribute.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @see #isIs_affiliated_personnaly_to_social_security()
177 * @generated
178 * @ordered
179 */
180 protected boolean is_affiliated_personnaly_to_social_security = IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY_EDEFAULT;
181
182 /**
183 * The default value of the '{@link #getBirth_month() <em>Birth month</em>}' attribute.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @see #getBirth_month()
187 * @generated
188 * @ordered
189 */
190 protected static final int BIRTH_MONTH_EDEFAULT = 0;
191
192 /**
193 * The cached value of the '{@link #getBirth_month() <em>Birth month</em>}' attribute.
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @see #getBirth_month()
197 * @generated
198 * @ordered
199 */
200 protected int birth_month = BIRTH_MONTH_EDEFAULT;
201
202 /**
203 * The default value of the '{@link #getBirth_day() <em>Birth day</em>}' attribute.
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @see #getBirth_day()
207 * @generated
208 * @ordered
209 */
210 protected static final int BIRTH_DAY_EDEFAULT = 0;
211
212 /**
213 * The cached value of the '{@link #getBirth_day() <em>Birth day</em>}' attribute.
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @see #getBirth_day()
217 * @generated
218 * @ordered
219 */
220 protected int birth_day = BIRTH_DAY_EDEFAULT;
221
222 /**
223 * The cached value of the '{@link #getExpenses() <em>Expenses</em>}' reference list.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @see #getExpenses()
227 * @generated
228 * @ordered
229 */
230 protected EList<Expense> expenses;
231
232 /**
233 * The default value of the '{@link #isIs_widower() <em>Is widower</em>}' attribute.
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @see #isIs_widower()
237 * @generated
238 * @ordered
239 */
240 protected static final boolean IS_WIDOWER_EDEFAULT = false;
241
242 /**
243 * The cached value of the '{@link #isIs_widower() <em>Is widower</em>}' attribute.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @see #isIs_widower()
247 * @generated
248 * @ordered
249 */
250 protected boolean is_widower = IS_WIDOWER_EDEFAULT;
251
252 /**
253 * The cached value of the '{@link #getOwns_Address() <em>Owns Address</em>}' containment reference list.
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @see #getOwns_Address()
257 * @generated
258 * @ordered
259 */
260 protected EList<Address> owns_Address;
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 protected Physical_PersonImpl() {
268 super();
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @Override
277 protected EClass eStaticClass() {
278 return TaxationPackage.Literals.PHYSICAL_PERSON;
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 @Override
287 public boolean isIs_assisting_spouse() {
288 return is_assisting_spouse;
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public void setIs_assisting_spouse(boolean newIs_assisting_spouse) {
298 boolean oldIs_assisting_spouse = is_assisting_spouse;
299 is_assisting_spouse = newIs_assisting_spouse;
300 if (eNotificationRequired())
301 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__IS_ASSISTING_SPOUSE, oldIs_assisting_spouse, is_assisting_spouse));
302 }
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 @Override
310 public String getSSNo() {
311 return ssNo;
312 }
313
314 /**
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @generated
318 */
319 @Override
320 public void setSSNo(String newSSNo) {
321 String oldSSNo = ssNo;
322 ssNo = newSSNo;
323 if (eNotificationRequired())
324 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__SS_NO, oldSSNo, ssNo));
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public EList<Address> getAddresses() {
334 if (addresses == null) {
335 addresses = new EObjectWithInverseResolvingEList.ManyInverse<Address>(Address.class, this, TaxationPackage.PHYSICAL_PERSON__ADDRESSES, TaxationPackage.ADDRESS__TAX_PAYER);
336 }
337 return addresses;
338 }
339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 @Override
346 public int getBirth_year() {
347 return birth_year;
348 }
349
350 /**
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @generated
354 */
355 @Override
356 public void setBirth_year(int newBirth_year) {
357 int oldBirth_year = birth_year;
358 birth_year = newBirth_year;
359 if (eNotificationRequired())
360 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__BIRTH_YEAR, oldBirth_year, birth_year));
361 }
362
363 /**
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 */
368 @Override
369 public double getDisability_percentage() {
370 return disability_percentage;
371 }
372
373 /**
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 */
378 @Override
379 public void setDisability_percentage(double newDisability_percentage) {
380 double oldDisability_percentage = disability_percentage;
381 disability_percentage = newDisability_percentage;
382 if (eNotificationRequired())
383 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__DISABILITY_PERCENTAGE, oldDisability_percentage, disability_percentage));
384 }
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 @Override
392 public Disability_Types getDisability_type() {
393 return disability_type;
394 }
395
396 /**
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 */
401 @Override
402 public void setDisability_type(Disability_Types newDisability_type) {
403 Disability_Types oldDisability_type = disability_type;
404 disability_type = newDisability_type == null ? DISABILITY_TYPE_EDEFAULT : newDisability_type;
405 if (eNotificationRequired())
406 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__DISABILITY_TYPE, oldDisability_type, disability_type));
407 }
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 @Override
415 public boolean isIs_affiliated_personnaly_to_social_security() {
416 return is_affiliated_personnaly_to_social_security;
417 }
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 @Override
425 public void setIs_affiliated_personnaly_to_social_security(boolean newIs_affiliated_personnaly_to_social_security) {
426 boolean oldIs_affiliated_personnaly_to_social_security = is_affiliated_personnaly_to_social_security;
427 is_affiliated_personnaly_to_social_security = newIs_affiliated_personnaly_to_social_security;
428 if (eNotificationRequired())
429 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY, oldIs_affiliated_personnaly_to_social_security, is_affiliated_personnaly_to_social_security));
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public int getBirth_month() {
439 return birth_month;
440 }
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 @Override
448 public void setBirth_month(int newBirth_month) {
449 int oldBirth_month = birth_month;
450 birth_month = newBirth_month;
451 if (eNotificationRequired())
452 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__BIRTH_MONTH, oldBirth_month, birth_month));
453 }
454
455 /**
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 */
460 @Override
461 public int getBirth_day() {
462 return birth_day;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
471 public void setBirth_day(int newBirth_day) {
472 int oldBirth_day = birth_day;
473 birth_day = newBirth_day;
474 if (eNotificationRequired())
475 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__BIRTH_DAY, oldBirth_day, birth_day));
476 }
477
478 /**
479 * <!-- begin-user-doc -->
480 * <!-- end-user-doc -->
481 * @generated
482 */
483 @Override
484 public EList<Expense> getExpenses() {
485 if (expenses == null) {
486 expenses = new EObjectWithInverseResolvingEList<Expense>(Expense.class, this, TaxationPackage.PHYSICAL_PERSON__EXPENSES, TaxationPackage.EXPENSE__BENEFICIARY);
487 }
488 return expenses;
489 }
490
491 /**
492 * <!-- begin-user-doc -->
493 * <!-- end-user-doc -->
494 * @generated
495 */
496 @Override
497 public boolean isIs_widower() {
498 return is_widower;
499 }
500
501 /**
502 * <!-- begin-user-doc -->
503 * <!-- end-user-doc -->
504 * @generated
505 */
506 @Override
507 public void setIs_widower(boolean newIs_widower) {
508 boolean oldIs_widower = is_widower;
509 is_widower = newIs_widower;
510 if (eNotificationRequired())
511 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER, oldIs_widower, is_widower));
512 }
513
514 /**
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 */
519 @Override
520 public EList<Address> getOwns_Address() {
521 if (owns_Address == null) {
522 owns_Address = new EObjectContainmentEList<Address>(Address.class, this, TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS);
523 }
524 return owns_Address;
525 }
526
527 /**
528 * <!-- begin-user-doc -->
529 * <!-- end-user-doc -->
530 * @generated
531 */
532 @SuppressWarnings("unchecked")
533 @Override
534 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
535 switch (featureID) {
536 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
537 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAddresses()).basicAdd(otherEnd, msgs);
538 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
539 return ((InternalEList<InternalEObject>)(InternalEList<?>)getExpenses()).basicAdd(otherEnd, msgs);
540 }
541 return super.eInverseAdd(otherEnd, featureID, msgs);
542 }
543
544 /**
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @generated
548 */
549 @Override
550 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
551 switch (featureID) {
552 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
553 return ((InternalEList<?>)getAddresses()).basicRemove(otherEnd, msgs);
554 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
555 return ((InternalEList<?>)getExpenses()).basicRemove(otherEnd, msgs);
556 case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS:
557 return ((InternalEList<?>)getOwns_Address()).basicRemove(otherEnd, msgs);
558 }
559 return super.eInverseRemove(otherEnd, featureID, msgs);
560 }
561
562 /**
563 * <!-- begin-user-doc -->
564 * <!-- end-user-doc -->
565 * @generated
566 */
567 @Override
568 public Object eGet(int featureID, boolean resolve, boolean coreType) {
569 switch (featureID) {
570 case TaxationPackage.PHYSICAL_PERSON__IS_ASSISTING_SPOUSE:
571 return isIs_assisting_spouse();
572 case TaxationPackage.PHYSICAL_PERSON__SS_NO:
573 return getSSNo();
574 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
575 return getAddresses();
576 case TaxationPackage.PHYSICAL_PERSON__BIRTH_YEAR:
577 return getBirth_year();
578 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_PERCENTAGE:
579 return getDisability_percentage();
580 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_TYPE:
581 return getDisability_type();
582 case TaxationPackage.PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY:
583 return isIs_affiliated_personnaly_to_social_security();
584 case TaxationPackage.PHYSICAL_PERSON__BIRTH_MONTH:
585 return getBirth_month();
586 case TaxationPackage.PHYSICAL_PERSON__BIRTH_DAY:
587 return getBirth_day();
588 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
589 return getExpenses();
590 case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER:
591 return isIs_widower();
592 case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS:
593 return getOwns_Address();
594 }
595 return super.eGet(featureID, resolve, coreType);
596 }
597
598 /**
599 * <!-- begin-user-doc -->
600 * <!-- end-user-doc -->
601 * @generated
602 */
603 @SuppressWarnings("unchecked")
604 @Override
605 public void eSet(int featureID, Object newValue) {
606 switch (featureID) {
607 case TaxationPackage.PHYSICAL_PERSON__IS_ASSISTING_SPOUSE:
608 setIs_assisting_spouse((Boolean)newValue);
609 return;
610 case TaxationPackage.PHYSICAL_PERSON__SS_NO:
611 setSSNo((String)newValue);
612 return;
613 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
614 getAddresses().clear();
615 getAddresses().addAll((Collection<? extends Address>)newValue);
616 return;
617 case TaxationPackage.PHYSICAL_PERSON__BIRTH_YEAR:
618 setBirth_year((Integer)newValue);
619 return;
620 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_PERCENTAGE:
621 setDisability_percentage((Double)newValue);
622 return;
623 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_TYPE:
624 setDisability_type((Disability_Types)newValue);
625 return;
626 case TaxationPackage.PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY:
627 setIs_affiliated_personnaly_to_social_security((Boolean)newValue);
628 return;
629 case TaxationPackage.PHYSICAL_PERSON__BIRTH_MONTH:
630 setBirth_month((Integer)newValue);
631 return;
632 case TaxationPackage.PHYSICAL_PERSON__BIRTH_DAY:
633 setBirth_day((Integer)newValue);
634 return;
635 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
636 getExpenses().clear();
637 getExpenses().addAll((Collection<? extends Expense>)newValue);
638 return;
639 case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER:
640 setIs_widower((Boolean)newValue);
641 return;
642 case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS:
643 getOwns_Address().clear();
644 getOwns_Address().addAll((Collection<? extends Address>)newValue);
645 return;
646 }
647 super.eSet(featureID, newValue);
648 }
649
650 /**
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 */
655 @Override
656 public void eUnset(int featureID) {
657 switch (featureID) {
658 case TaxationPackage.PHYSICAL_PERSON__IS_ASSISTING_SPOUSE:
659 setIs_assisting_spouse(IS_ASSISTING_SPOUSE_EDEFAULT);
660 return;
661 case TaxationPackage.PHYSICAL_PERSON__SS_NO:
662 setSSNo(SS_NO_EDEFAULT);
663 return;
664 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
665 getAddresses().clear();
666 return;
667 case TaxationPackage.PHYSICAL_PERSON__BIRTH_YEAR:
668 setBirth_year(BIRTH_YEAR_EDEFAULT);
669 return;
670 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_PERCENTAGE:
671 setDisability_percentage(DISABILITY_PERCENTAGE_EDEFAULT);
672 return;
673 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_TYPE:
674 setDisability_type(DISABILITY_TYPE_EDEFAULT);
675 return;
676 case TaxationPackage.PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY:
677 setIs_affiliated_personnaly_to_social_security(IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY_EDEFAULT);
678 return;
679 case TaxationPackage.PHYSICAL_PERSON__BIRTH_MONTH:
680 setBirth_month(BIRTH_MONTH_EDEFAULT);
681 return;
682 case TaxationPackage.PHYSICAL_PERSON__BIRTH_DAY:
683 setBirth_day(BIRTH_DAY_EDEFAULT);
684 return;
685 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
686 getExpenses().clear();
687 return;
688 case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER:
689 setIs_widower(IS_WIDOWER_EDEFAULT);
690 return;
691 case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS:
692 getOwns_Address().clear();
693 return;
694 }
695 super.eUnset(featureID);
696 }
697
698 /**
699 * <!-- begin-user-doc -->
700 * <!-- end-user-doc -->
701 * @generated
702 */
703 @Override
704 public boolean eIsSet(int featureID) {
705 switch (featureID) {
706 case TaxationPackage.PHYSICAL_PERSON__IS_ASSISTING_SPOUSE:
707 return is_assisting_spouse != IS_ASSISTING_SPOUSE_EDEFAULT;
708 case TaxationPackage.PHYSICAL_PERSON__SS_NO:
709 return SS_NO_EDEFAULT == null ? ssNo != null : !SS_NO_EDEFAULT.equals(ssNo);
710 case TaxationPackage.PHYSICAL_PERSON__ADDRESSES:
711 return addresses != null && !addresses.isEmpty();
712 case TaxationPackage.PHYSICAL_PERSON__BIRTH_YEAR:
713 return birth_year != BIRTH_YEAR_EDEFAULT;
714 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_PERCENTAGE:
715 return disability_percentage != DISABILITY_PERCENTAGE_EDEFAULT;
716 case TaxationPackage.PHYSICAL_PERSON__DISABILITY_TYPE:
717 return disability_type != DISABILITY_TYPE_EDEFAULT;
718 case TaxationPackage.PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY:
719 return is_affiliated_personnaly_to_social_security != IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY_EDEFAULT;
720 case TaxationPackage.PHYSICAL_PERSON__BIRTH_MONTH:
721 return birth_month != BIRTH_MONTH_EDEFAULT;
722 case TaxationPackage.PHYSICAL_PERSON__BIRTH_DAY:
723 return birth_day != BIRTH_DAY_EDEFAULT;
724 case TaxationPackage.PHYSICAL_PERSON__EXPENSES:
725 return expenses != null && !expenses.isEmpty();
726 case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER:
727 return is_widower != IS_WIDOWER_EDEFAULT;
728 case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS:
729 return owns_Address != null && !owns_Address.isEmpty();
730 }
731 return super.eIsSet(featureID);
732 }
733
734 /**
735 * <!-- begin-user-doc -->
736 * <!-- end-user-doc -->
737 * @generated
738 */
739 @Override
740 public String toString() {
741 if (eIsProxy()) return super.toString();
742
743 StringBuilder result = new StringBuilder(super.toString());
744 result.append(" (is_assisting_spouse: ");
745 result.append(is_assisting_spouse);
746 result.append(", SSNo: ");
747 result.append(ssNo);
748 result.append(", birth_year: ");
749 result.append(birth_year);
750 result.append(", disability_percentage: ");
751 result.append(disability_percentage);
752 result.append(", disability_type: ");
753 result.append(disability_type);
754 result.append(", is_affiliated_personnaly_to_social_security: ");
755 result.append(is_affiliated_personnaly_to_social_security);
756 result.append(", birth_month: ");
757 result.append(birth_month);
758 result.append(", birth_day: ");
759 result.append(birth_day);
760 result.append(", is_widower: ");
761 result.append(is_widower);
762 result.append(')');
763 return result.toString();
764 }
765
766} //Physical_PersonImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java
new file mode 100644
index 00000000..dfe39a95
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java
@@ -0,0 +1,276 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Category_of_Private_Insurance_and_Plan;
6import Taxation.Private_Insurance_and_Plan;
7import Taxation.TaxationPackage;
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Private Insurance and Plan</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.Private_Insurance_and_PlanImpl#getCategory <em>Category</em>}</li>
23 * <li>{@link Taxation.impl.Private_Insurance_and_PlanImpl#getDuration_of_contract <em>Duration of contract</em>}</li>
24 * <li>{@link Taxation.impl.Private_Insurance_and_PlanImpl#isIs_private_insurance_and_plan_eligible_for_deduction <em>Is private insurance and plan eligible for deduction</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class Private_Insurance_and_PlanImpl extends Special_Expense_DSImpl implements Private_Insurance_and_Plan {
30 /**
31 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getCategory()
35 * @generated
36 * @ordered
37 */
38 protected static final Category_of_Private_Insurance_and_Plan CATEGORY_EDEFAULT = Category_of_Private_Insurance_and_Plan.PRIVATE_INSURANCE;
39
40 /**
41 * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getCategory()
45 * @generated
46 * @ordered
47 */
48 protected Category_of_Private_Insurance_and_Plan category = CATEGORY_EDEFAULT;
49
50 /**
51 * The default value of the '{@link #getDuration_of_contract() <em>Duration of contract</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getDuration_of_contract()
55 * @generated
56 * @ordered
57 */
58 protected static final int DURATION_OF_CONTRACT_EDEFAULT = 0;
59
60 /**
61 * The cached value of the '{@link #getDuration_of_contract() <em>Duration of contract</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getDuration_of_contract()
65 * @generated
66 * @ordered
67 */
68 protected int duration_of_contract = DURATION_OF_CONTRACT_EDEFAULT;
69
70 /**
71 * The default value of the '{@link #isIs_private_insurance_and_plan_eligible_for_deduction() <em>Is private insurance and plan eligible for deduction</em>}' attribute.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #isIs_private_insurance_and_plan_eligible_for_deduction()
75 * @generated
76 * @ordered
77 */
78 protected static final boolean IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION_EDEFAULT = false;
79
80 /**
81 * The cached value of the '{@link #isIs_private_insurance_and_plan_eligible_for_deduction() <em>Is private insurance and plan eligible for deduction</em>}' attribute.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #isIs_private_insurance_and_plan_eligible_for_deduction()
85 * @generated
86 * @ordered
87 */
88 protected boolean is_private_insurance_and_plan_eligible_for_deduction = IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION_EDEFAULT;
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 protected Private_Insurance_and_PlanImpl() {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass() {
106 return TaxationPackage.Literals.PRIVATE_INSURANCE_AND_PLAN;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public Category_of_Private_Insurance_and_Plan getCategory() {
116 return category;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void setCategory(Category_of_Private_Insurance_and_Plan newCategory) {
126 Category_of_Private_Insurance_and_Plan oldCategory = category;
127 category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
128 if (eNotificationRequired())
129 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__CATEGORY, oldCategory, category));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public int getDuration_of_contract() {
139 return duration_of_contract;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setDuration_of_contract(int newDuration_of_contract) {
149 int oldDuration_of_contract = duration_of_contract;
150 duration_of_contract = newDuration_of_contract;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT, oldDuration_of_contract, duration_of_contract));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public boolean isIs_private_insurance_and_plan_eligible_for_deduction() {
162 return is_private_insurance_and_plan_eligible_for_deduction;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public void setIs_private_insurance_and_plan_eligible_for_deduction(boolean newIs_private_insurance_and_plan_eligible_for_deduction) {
172 boolean oldIs_private_insurance_and_plan_eligible_for_deduction = is_private_insurance_and_plan_eligible_for_deduction;
173 is_private_insurance_and_plan_eligible_for_deduction = newIs_private_insurance_and_plan_eligible_for_deduction;
174 if (eNotificationRequired())
175 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION, oldIs_private_insurance_and_plan_eligible_for_deduction, is_private_insurance_and_plan_eligible_for_deduction));
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public Object eGet(int featureID, boolean resolve, boolean coreType) {
185 switch (featureID) {
186 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__CATEGORY:
187 return getCategory();
188 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT:
189 return getDuration_of_contract();
190 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION:
191 return isIs_private_insurance_and_plan_eligible_for_deduction();
192 }
193 return super.eGet(featureID, resolve, coreType);
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public void eSet(int featureID, Object newValue) {
203 switch (featureID) {
204 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__CATEGORY:
205 setCategory((Category_of_Private_Insurance_and_Plan)newValue);
206 return;
207 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT:
208 setDuration_of_contract((Integer)newValue);
209 return;
210 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION:
211 setIs_private_insurance_and_plan_eligible_for_deduction((Boolean)newValue);
212 return;
213 }
214 super.eSet(featureID, newValue);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public void eUnset(int featureID) {
224 switch (featureID) {
225 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__CATEGORY:
226 setCategory(CATEGORY_EDEFAULT);
227 return;
228 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT:
229 setDuration_of_contract(DURATION_OF_CONTRACT_EDEFAULT);
230 return;
231 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION:
232 setIs_private_insurance_and_plan_eligible_for_deduction(IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION_EDEFAULT);
233 return;
234 }
235 super.eUnset(featureID);
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 @Override
244 public boolean eIsSet(int featureID) {
245 switch (featureID) {
246 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__CATEGORY:
247 return category != CATEGORY_EDEFAULT;
248 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT:
249 return duration_of_contract != DURATION_OF_CONTRACT_EDEFAULT;
250 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION:
251 return is_private_insurance_and_plan_eligible_for_deduction != IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION_EDEFAULT;
252 }
253 return super.eIsSet(featureID);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public String toString() {
263 if (eIsProxy()) return super.toString();
264
265 StringBuilder result = new StringBuilder(super.toString());
266 result.append(" (category: ");
267 result.append(category);
268 result.append(", duration_of_contract: ");
269 result.append(duration_of_contract);
270 result.append(", is_private_insurance_and_plan_eligible_for_deduction: ");
271 result.append(is_private_insurance_and_plan_eligible_for_deduction);
272 result.append(')');
273 return result.toString();
274 }
275
276} //Private_Insurance_and_PlanImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_ExpenseImpl.java
new file mode 100644
index 00000000..5f0ca78b
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_ExpenseImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Professional_Expense;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Professional Expense</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Professional_ExpenseImpl extends ExpenseImpl implements Professional_Expense {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Professional_ExpenseImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.PROFESSIONAL_EXPENSE;
35 }
36
37} //Professional_ExpenseImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_Expenses_DeductionImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_Expenses_DeductionImpl.java
new file mode 100644
index 00000000..38bd5195
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Professional_Expenses_DeductionImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Professional_Expenses_Deduction;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Professional Expenses Deduction</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public class Professional_Expenses_DeductionImpl extends MinimalEObjectImpl.Container implements Professional_Expenses_Deduction {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected Professional_Expenses_DeductionImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return TaxationPackage.Literals.PROFESSIONAL_EXPENSES_DEDUCTION;
37 }
38
39} //Professional_Expenses_DeductionImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Rentals_and_Leases_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Rentals_and_Leases_IncomeImpl.java
new file mode 100644
index 00000000..76d97d5f
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Rentals_and_Leases_IncomeImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Rentals_and_Leases_Income;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Rentals and Leases Income</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link Taxation.impl.Rentals_and_Leases_IncomeImpl#isIs_periodic <em>Is periodic</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class Rentals_and_Leases_IncomeImpl extends Income_TypeImpl implements Rentals_and_Leases_Income {
28 /**
29 * The default value of the '{@link #isIs_periodic() <em>Is periodic</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #isIs_periodic()
33 * @generated
34 * @ordered
35 */
36 protected static final boolean IS_PERIODIC_EDEFAULT = true;
37
38 /**
39 * The cached value of the '{@link #isIs_periodic() <em>Is periodic</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isIs_periodic()
43 * @generated
44 * @ordered
45 */
46 protected boolean is_periodic = IS_PERIODIC_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected Rentals_and_Leases_IncomeImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return TaxationPackage.Literals.RENTALS_AND_LEASES_INCOME;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public boolean isIs_periodic() {
74 return is_periodic;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public void setIs_periodic(boolean newIs_periodic) {
84 boolean oldIs_periodic = is_periodic;
85 is_periodic = newIs_periodic;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.RENTALS_AND_LEASES_INCOME__IS_PERIODIC, oldIs_periodic, is_periodic));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case TaxationPackage.RENTALS_AND_LEASES_INCOME__IS_PERIODIC:
99 return isIs_periodic();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case TaxationPackage.RENTALS_AND_LEASES_INCOME__IS_PERIODIC:
113 setIs_periodic((Boolean)newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case TaxationPackage.RENTALS_AND_LEASES_INCOME__IS_PERIODIC:
128 setIs_periodic(IS_PERIODIC_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case TaxationPackage.RENTALS_AND_LEASES_INCOME__IS_PERIODIC:
143 return is_periodic != IS_PERIODIC_EDEFAULT;
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy()) return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (is_periodic: ");
159 result.append(is_periodic);
160 result.append(')');
161 return result.toString();
162 }
163
164} //Rentals_and_Leases_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java
new file mode 100644
index 00000000..34a1f15c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java
@@ -0,0 +1,36 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Resident_Tax_Payer;
6import Taxation.TaxationPackage;
7import org.eclipse.emf.ecore.EClass;
8
9/**
10 * <!-- begin-user-doc -->
11 * An implementation of the model object '<em><b>Resident Tax Payer</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * @generated
15 */
16public class Resident_Tax_PayerImpl extends Tax_PayerImpl implements Resident_Tax_Payer {
17 /**
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 protected Resident_Tax_PayerImpl() {
23 super();
24 }
25
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 @Override
32 protected EClass eStaticClass() {
33 return TaxationPackage.Literals.RESIDENT_TAX_PAYER;
34 }
35
36} //Resident_Tax_PayerImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Special_Expense_DSImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Special_Expense_DSImpl.java
new file mode 100644
index 00000000..797c351e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Special_Expense_DSImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Special_Expense_DS;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Special Expense DS</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Special_Expense_DSImpl extends ExpenseImpl implements Special_Expense_DS {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Special_Expense_DSImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.SPECIAL_EXPENSE_DS;
35 }
36
37} //Special_Expense_DSImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Spousal_Expense_ACImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Spousal_Expense_ACImpl.java
new file mode 100644
index 00000000..3fcb40f9
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Spousal_Expense_ACImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Spousal_Expense_AC;
6import Taxation.TaxationPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Spousal Expense AC</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Spousal_Expense_ACImpl extends ExpenseImpl implements Spousal_Expense_AC {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Spousal_Expense_ACImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.SPOUSAL_EXPENSE_AC;
35 }
36
37} //Spousal_Expense_ACImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java
new file mode 100644
index 00000000..68f4f7f9
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java
@@ -0,0 +1,2263 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Address;
6import Taxation.Income;
7import Taxation.Income_Tax_Credit;
8import Taxation.Job_Activity;
9import Taxation.Tax_Card;
10import Taxation.Tax_Card_Type;
11import Taxation.Tax_Office;
12import Taxation.TaxationPackage;
13import Taxation.Town;
14
15import java.util.Collection;
16import java.util.Date;
17
18import org.eclipse.emf.common.notify.Notification;
19import org.eclipse.emf.common.notify.NotificationChain;
20
21import org.eclipse.emf.common.util.EList;
22
23import org.eclipse.emf.ecore.EClass;
24import org.eclipse.emf.ecore.InternalEObject;
25
26import org.eclipse.emf.ecore.impl.ENotificationImpl;
27import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
28
29import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
30import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
31import org.eclipse.emf.ecore.util.EcoreUtil;
32import org.eclipse.emf.ecore.util.InternalEList;
33
34/**
35 * <!-- begin-user-doc -->
36 * An implementation of the model object '<em><b>Tax Card</b></em>'.
37 * <!-- end-user-doc -->
38 * <p>
39 * The following features are implemented:
40 * </p>
41 * <ul>
42 * <li>{@link Taxation.impl.Tax_CardImpl#getCard_identifier <em>Card identifier</em>}</li>
43 * <li>{@link Taxation.impl.Tax_CardImpl#getTax_card_type <em>Tax card type</em>}</li>
44 * <li>{@link Taxation.impl.Tax_CardImpl#getTax_office <em>Tax office</em>}</li>
45 * <li>{@link Taxation.impl.Tax_CardImpl#getValid_from_date <em>Valid from date</em>}</li>
46 * <li>{@link Taxation.impl.Tax_CardImpl#getValid_until_date <em>Valid until date</em>}</li>
47 * <li>{@link Taxation.impl.Tax_CardImpl#getPercentage_of_witholding <em>Percentage of witholding</em>}</li>
48 * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_name_surname <em>Tax payers name surname</em>}</li>
49 * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_partner_name_surname <em>Tax payers partner name surname</em>}</li>
50 * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_address <em>Tax payers address</em>}</li>
51 * <li>{@link Taxation.impl.Tax_CardImpl#getJobs_Employer_SSNo <em>Jobs Employer SS No</em>}</li>
52 * <li>{@link Taxation.impl.Tax_CardImpl#getJobs_employers_name <em>Jobs employers name</em>}</li>
53 * <li>{@link Taxation.impl.Tax_CardImpl#getJobs_activity_type <em>Jobs activity type</em>}</li>
54 * <li>{@link Taxation.impl.Tax_CardImpl#getJobs_place_of_work <em>Jobs place of work</em>}</li>
55 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_FD_daily <em>Deduction FD daily</em>}</li>
56 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_FD_monthly <em>Deduction FD monthly</em>}</li>
57 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_AC_daily <em>Deduction AC daily</em>}</li>
58 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_AC_monthly <em>Deduction AC monthly</em>}</li>
59 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_AC_yearly <em>Deduction AC yearly</em>}</li>
60 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_CE_daily <em>Deduction CE daily</em>}</li>
61 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_CE_monthly <em>Deduction CE monthly</em>}</li>
62 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_CE_yearly <em>Deduction CE yearly</em>}</li>
63 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_DS_daily <em>Deduction DS daily</em>}</li>
64 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_DS_monthly <em>Deduction DS monthly</em>}</li>
65 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_FO_daily <em>Deduction FO daily</em>}</li>
66 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_FO_monthly <em>Deduction FO monthly</em>}</li>
67 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_FO_yearly <em>Deduction FO yearly</em>}</li>
68 * <li>{@link Taxation.impl.Tax_CardImpl#getCredit_CIS_daily <em>Credit CIS daily</em>}</li>
69 * <li>{@link Taxation.impl.Tax_CardImpl#getCredit_CIS_monthly <em>Credit CIS monthly</em>}</li>
70 * <li>{@link Taxation.impl.Tax_CardImpl#getCredit_CIM_daily <em>Credit CIM daily</em>}</li>
71 * <li>{@link Taxation.impl.Tax_CardImpl#isValidity <em>Validity</em>}</li>
72 * <li>{@link Taxation.impl.Tax_CardImpl#getIncome_Tax_Credit <em>Income Tax Credit</em>}</li>
73 * <li>{@link Taxation.impl.Tax_CardImpl#getPrevious <em>Previous</em>}</li>
74 * <li>{@link Taxation.impl.Tax_CardImpl#getCurrent_tax_card <em>Current tax card</em>}</li>
75 * <li>{@link Taxation.impl.Tax_CardImpl#getCredit_CIM_yearly <em>Credit CIM yearly</em>}</li>
76 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_DS_Alimony_yearly <em>Deduction DS Alimony yearly</em>}</li>
77 * <li>{@link Taxation.impl.Tax_CardImpl#getDeduction_DS_Debt_yearly <em>Deduction DS Debt yearly</em>}</li>
78 * <li>{@link Taxation.impl.Tax_CardImpl#getIncome <em>Income</em>}</li>
79 * </ul>
80 *
81 * @generated
82 */
83public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Card {
84 /**
85 * The default value of the '{@link #getCard_identifier() <em>Card identifier</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getCard_identifier()
89 * @generated
90 * @ordered
91 */
92 protected static final String CARD_IDENTIFIER_EDEFAULT = null;
93
94 /**
95 * The cached value of the '{@link #getCard_identifier() <em>Card identifier</em>}' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #getCard_identifier()
99 * @generated
100 * @ordered
101 */
102 protected String card_identifier = CARD_IDENTIFIER_EDEFAULT;
103
104 /**
105 * The default value of the '{@link #getTax_card_type() <em>Tax card type</em>}' attribute.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #getTax_card_type()
109 * @generated
110 * @ordered
111 */
112 protected static final Tax_Card_Type TAX_CARD_TYPE_EDEFAULT = Tax_Card_Type.PRINCIPAL;
113
114 /**
115 * The cached value of the '{@link #getTax_card_type() <em>Tax card type</em>}' attribute.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @see #getTax_card_type()
119 * @generated
120 * @ordered
121 */
122 protected Tax_Card_Type tax_card_type = TAX_CARD_TYPE_EDEFAULT;
123
124 /**
125 * The default value of the '{@link #getTax_office() <em>Tax office</em>}' attribute.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @see #getTax_office()
129 * @generated
130 * @ordered
131 */
132 protected static final Tax_Office TAX_OFFICE_EDEFAULT = Tax_Office.RTS_2;
133
134 /**
135 * The cached value of the '{@link #getTax_office() <em>Tax office</em>}' attribute.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @see #getTax_office()
139 * @generated
140 * @ordered
141 */
142 protected Tax_Office tax_office = TAX_OFFICE_EDEFAULT;
143
144 /**
145 * The default value of the '{@link #getValid_from_date() <em>Valid from date</em>}' attribute.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @see #getValid_from_date()
149 * @generated
150 * @ordered
151 */
152 protected static final Date VALID_FROM_DATE_EDEFAULT = null;
153
154 /**
155 * The cached value of the '{@link #getValid_from_date() <em>Valid from date</em>}' attribute.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #getValid_from_date()
159 * @generated
160 * @ordered
161 */
162 protected Date valid_from_date = VALID_FROM_DATE_EDEFAULT;
163
164 /**
165 * The default value of the '{@link #getValid_until_date() <em>Valid until date</em>}' attribute.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @see #getValid_until_date()
169 * @generated
170 * @ordered
171 */
172 protected static final Date VALID_UNTIL_DATE_EDEFAULT = null;
173
174 /**
175 * The cached value of the '{@link #getValid_until_date() <em>Valid until date</em>}' attribute.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @see #getValid_until_date()
179 * @generated
180 * @ordered
181 */
182 protected Date valid_until_date = VALID_UNTIL_DATE_EDEFAULT;
183
184 /**
185 * The default value of the '{@link #getPercentage_of_witholding() <em>Percentage of witholding</em>}' attribute.
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @see #getPercentage_of_witholding()
189 * @generated
190 * @ordered
191 */
192 protected static final double PERCENTAGE_OF_WITHOLDING_EDEFAULT = 0.0;
193
194 /**
195 * The cached value of the '{@link #getPercentage_of_witholding() <em>Percentage of witholding</em>}' attribute.
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @see #getPercentage_of_witholding()
199 * @generated
200 * @ordered
201 */
202 protected double percentage_of_witholding = PERCENTAGE_OF_WITHOLDING_EDEFAULT;
203
204 /**
205 * The cached value of the '{@link #getTax_payers_name_surname() <em>Tax payers name surname</em>}' attribute list.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @see #getTax_payers_name_surname()
209 * @generated
210 * @ordered
211 */
212 protected EList<String> tax_payers_name_surname;
213
214 /**
215 * The cached value of the '{@link #getTax_payers_partner_name_surname() <em>Tax payers partner name surname</em>}' attribute list.
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @see #getTax_payers_partner_name_surname()
219 * @generated
220 * @ordered
221 */
222 protected EList<String> tax_payers_partner_name_surname;
223
224 /**
225 * The cached value of the '{@link #getTax_payers_address() <em>Tax payers address</em>}' reference.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @see #getTax_payers_address()
229 * @generated
230 * @ordered
231 */
232 protected Address tax_payers_address;
233
234 /**
235 * The default value of the '{@link #getJobs_Employer_SSNo() <em>Jobs Employer SS No</em>}' attribute.
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @see #getJobs_Employer_SSNo()
239 * @generated
240 * @ordered
241 */
242 protected static final String JOBS_EMPLOYER_SS_NO_EDEFAULT = null;
243
244 /**
245 * The cached value of the '{@link #getJobs_Employer_SSNo() <em>Jobs Employer SS No</em>}' attribute.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @see #getJobs_Employer_SSNo()
249 * @generated
250 * @ordered
251 */
252 protected String jobs_Employer_SSNo = JOBS_EMPLOYER_SS_NO_EDEFAULT;
253
254 /**
255 * The default value of the '{@link #getJobs_employers_name() <em>Jobs employers name</em>}' attribute.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @see #getJobs_employers_name()
259 * @generated
260 * @ordered
261 */
262 protected static final String JOBS_EMPLOYERS_NAME_EDEFAULT = null;
263
264 /**
265 * The cached value of the '{@link #getJobs_employers_name() <em>Jobs employers name</em>}' attribute.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @see #getJobs_employers_name()
269 * @generated
270 * @ordered
271 */
272 protected String jobs_employers_name = JOBS_EMPLOYERS_NAME_EDEFAULT;
273
274 /**
275 * The default value of the '{@link #getJobs_activity_type() <em>Jobs activity type</em>}' attribute.
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @see #getJobs_activity_type()
279 * @generated
280 * @ordered
281 */
282 protected static final Job_Activity JOBS_ACTIVITY_TYPE_EDEFAULT = Job_Activity.SALARY;
283
284 /**
285 * The cached value of the '{@link #getJobs_activity_type() <em>Jobs activity type</em>}' attribute.
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @see #getJobs_activity_type()
289 * @generated
290 * @ordered
291 */
292 protected Job_Activity jobs_activity_type = JOBS_ACTIVITY_TYPE_EDEFAULT;
293
294 /**
295 * The default value of the '{@link #getJobs_place_of_work() <em>Jobs place of work</em>}' attribute.
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @see #getJobs_place_of_work()
299 * @generated
300 * @ordered
301 */
302 protected static final Town JOBS_PLACE_OF_WORK_EDEFAULT = Town.LL;
303
304 /**
305 * The cached value of the '{@link #getJobs_place_of_work() <em>Jobs place of work</em>}' attribute.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @see #getJobs_place_of_work()
309 * @generated
310 * @ordered
311 */
312 protected Town jobs_place_of_work = JOBS_PLACE_OF_WORK_EDEFAULT;
313
314 /**
315 * The default value of the '{@link #getDeduction_FD_daily() <em>Deduction FD daily</em>}' attribute.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @see #getDeduction_FD_daily()
319 * @generated
320 * @ordered
321 */
322 protected static final double DEDUCTION_FD_DAILY_EDEFAULT = 0.0;
323
324 /**
325 * The cached value of the '{@link #getDeduction_FD_daily() <em>Deduction FD daily</em>}' attribute.
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @see #getDeduction_FD_daily()
329 * @generated
330 * @ordered
331 */
332 protected double deduction_FD_daily = DEDUCTION_FD_DAILY_EDEFAULT;
333
334 /**
335 * The default value of the '{@link #getDeduction_FD_monthly() <em>Deduction FD monthly</em>}' attribute.
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @see #getDeduction_FD_monthly()
339 * @generated
340 * @ordered
341 */
342 protected static final double DEDUCTION_FD_MONTHLY_EDEFAULT = 0.0;
343
344 /**
345 * The cached value of the '{@link #getDeduction_FD_monthly() <em>Deduction FD monthly</em>}' attribute.
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @see #getDeduction_FD_monthly()
349 * @generated
350 * @ordered
351 */
352 protected double deduction_FD_monthly = DEDUCTION_FD_MONTHLY_EDEFAULT;
353
354 /**
355 * The default value of the '{@link #getDeduction_AC_daily() <em>Deduction AC daily</em>}' attribute.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @see #getDeduction_AC_daily()
359 * @generated
360 * @ordered
361 */
362 protected static final double DEDUCTION_AC_DAILY_EDEFAULT = 0.0;
363
364 /**
365 * The cached value of the '{@link #getDeduction_AC_daily() <em>Deduction AC daily</em>}' attribute.
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @see #getDeduction_AC_daily()
369 * @generated
370 * @ordered
371 */
372 protected double deduction_AC_daily = DEDUCTION_AC_DAILY_EDEFAULT;
373
374 /**
375 * The default value of the '{@link #getDeduction_AC_monthly() <em>Deduction AC monthly</em>}' attribute.
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @see #getDeduction_AC_monthly()
379 * @generated
380 * @ordered
381 */
382 protected static final double DEDUCTION_AC_MONTHLY_EDEFAULT = 0.0;
383
384 /**
385 * The cached value of the '{@link #getDeduction_AC_monthly() <em>Deduction AC monthly</em>}' attribute.
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @see #getDeduction_AC_monthly()
389 * @generated
390 * @ordered
391 */
392 protected double deduction_AC_monthly = DEDUCTION_AC_MONTHLY_EDEFAULT;
393
394 /**
395 * The default value of the '{@link #getDeduction_AC_yearly() <em>Deduction AC yearly</em>}' attribute.
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @see #getDeduction_AC_yearly()
399 * @generated
400 * @ordered
401 */
402 protected static final double DEDUCTION_AC_YEARLY_EDEFAULT = 0.0;
403
404 /**
405 * The cached value of the '{@link #getDeduction_AC_yearly() <em>Deduction AC yearly</em>}' attribute.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @see #getDeduction_AC_yearly()
409 * @generated
410 * @ordered
411 */
412 protected double deduction_AC_yearly = DEDUCTION_AC_YEARLY_EDEFAULT;
413
414 /**
415 * The default value of the '{@link #getDeduction_CE_daily() <em>Deduction CE daily</em>}' attribute.
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @see #getDeduction_CE_daily()
419 * @generated
420 * @ordered
421 */
422 protected static final double DEDUCTION_CE_DAILY_EDEFAULT = 0.0;
423
424 /**
425 * The cached value of the '{@link #getDeduction_CE_daily() <em>Deduction CE daily</em>}' attribute.
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @see #getDeduction_CE_daily()
429 * @generated
430 * @ordered
431 */
432 protected double deduction_CE_daily = DEDUCTION_CE_DAILY_EDEFAULT;
433
434 /**
435 * The default value of the '{@link #getDeduction_CE_monthly() <em>Deduction CE monthly</em>}' attribute.
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @see #getDeduction_CE_monthly()
439 * @generated
440 * @ordered
441 */
442 protected static final double DEDUCTION_CE_MONTHLY_EDEFAULT = 0.0;
443
444 /**
445 * The cached value of the '{@link #getDeduction_CE_monthly() <em>Deduction CE monthly</em>}' attribute.
446 * <!-- begin-user-doc -->
447 * <!-- end-user-doc -->
448 * @see #getDeduction_CE_monthly()
449 * @generated
450 * @ordered
451 */
452 protected double deduction_CE_monthly = DEDUCTION_CE_MONTHLY_EDEFAULT;
453
454 /**
455 * The default value of the '{@link #getDeduction_CE_yearly() <em>Deduction CE yearly</em>}' attribute.
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @see #getDeduction_CE_yearly()
459 * @generated
460 * @ordered
461 */
462 protected static final double DEDUCTION_CE_YEARLY_EDEFAULT = 0.0;
463
464 /**
465 * The cached value of the '{@link #getDeduction_CE_yearly() <em>Deduction CE yearly</em>}' attribute.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @see #getDeduction_CE_yearly()
469 * @generated
470 * @ordered
471 */
472 protected double deduction_CE_yearly = DEDUCTION_CE_YEARLY_EDEFAULT;
473
474 /**
475 * The default value of the '{@link #getDeduction_DS_daily() <em>Deduction DS daily</em>}' attribute.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @see #getDeduction_DS_daily()
479 * @generated
480 * @ordered
481 */
482 protected static final double DEDUCTION_DS_DAILY_EDEFAULT = 0.0;
483
484 /**
485 * The cached value of the '{@link #getDeduction_DS_daily() <em>Deduction DS daily</em>}' attribute.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @see #getDeduction_DS_daily()
489 * @generated
490 * @ordered
491 */
492 protected double deduction_DS_daily = DEDUCTION_DS_DAILY_EDEFAULT;
493
494 /**
495 * The default value of the '{@link #getDeduction_DS_monthly() <em>Deduction DS monthly</em>}' attribute.
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @see #getDeduction_DS_monthly()
499 * @generated
500 * @ordered
501 */
502 protected static final double DEDUCTION_DS_MONTHLY_EDEFAULT = 0.0;
503
504 /**
505 * The cached value of the '{@link #getDeduction_DS_monthly() <em>Deduction DS monthly</em>}' attribute.
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @see #getDeduction_DS_monthly()
509 * @generated
510 * @ordered
511 */
512 protected double deduction_DS_monthly = DEDUCTION_DS_MONTHLY_EDEFAULT;
513
514 /**
515 * The default value of the '{@link #getDeduction_FO_daily() <em>Deduction FO daily</em>}' attribute.
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @see #getDeduction_FO_daily()
519 * @generated
520 * @ordered
521 */
522 protected static final double DEDUCTION_FO_DAILY_EDEFAULT = 0.0;
523
524 /**
525 * The cached value of the '{@link #getDeduction_FO_daily() <em>Deduction FO daily</em>}' attribute.
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @see #getDeduction_FO_daily()
529 * @generated
530 * @ordered
531 */
532 protected double deduction_FO_daily = DEDUCTION_FO_DAILY_EDEFAULT;
533
534 /**
535 * The default value of the '{@link #getDeduction_FO_monthly() <em>Deduction FO monthly</em>}' attribute.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @see #getDeduction_FO_monthly()
539 * @generated
540 * @ordered
541 */
542 protected static final double DEDUCTION_FO_MONTHLY_EDEFAULT = 0.0;
543
544 /**
545 * The cached value of the '{@link #getDeduction_FO_monthly() <em>Deduction FO monthly</em>}' attribute.
546 * <!-- begin-user-doc -->
547 * <!-- end-user-doc -->
548 * @see #getDeduction_FO_monthly()
549 * @generated
550 * @ordered
551 */
552 protected double deduction_FO_monthly = DEDUCTION_FO_MONTHLY_EDEFAULT;
553
554 /**
555 * The default value of the '{@link #getDeduction_FO_yearly() <em>Deduction FO yearly</em>}' attribute.
556 * <!-- begin-user-doc -->
557 * <!-- end-user-doc -->
558 * @see #getDeduction_FO_yearly()
559 * @generated
560 * @ordered
561 */
562 protected static final double DEDUCTION_FO_YEARLY_EDEFAULT = 0.0;
563
564 /**
565 * The cached value of the '{@link #getDeduction_FO_yearly() <em>Deduction FO yearly</em>}' attribute.
566 * <!-- begin-user-doc -->
567 * <!-- end-user-doc -->
568 * @see #getDeduction_FO_yearly()
569 * @generated
570 * @ordered
571 */
572 protected double deduction_FO_yearly = DEDUCTION_FO_YEARLY_EDEFAULT;
573
574 /**
575 * The default value of the '{@link #getCredit_CIS_daily() <em>Credit CIS daily</em>}' attribute.
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @see #getCredit_CIS_daily()
579 * @generated
580 * @ordered
581 */
582 protected static final double CREDIT_CIS_DAILY_EDEFAULT = 0.0;
583
584 /**
585 * The cached value of the '{@link #getCredit_CIS_daily() <em>Credit CIS daily</em>}' attribute.
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @see #getCredit_CIS_daily()
589 * @generated
590 * @ordered
591 */
592 protected double credit_CIS_daily = CREDIT_CIS_DAILY_EDEFAULT;
593
594 /**
595 * The default value of the '{@link #getCredit_CIS_monthly() <em>Credit CIS monthly</em>}' attribute.
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @see #getCredit_CIS_monthly()
599 * @generated
600 * @ordered
601 */
602 protected static final double CREDIT_CIS_MONTHLY_EDEFAULT = 0.0;
603
604 /**
605 * The cached value of the '{@link #getCredit_CIS_monthly() <em>Credit CIS monthly</em>}' attribute.
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @see #getCredit_CIS_monthly()
609 * @generated
610 * @ordered
611 */
612 protected double credit_CIS_monthly = CREDIT_CIS_MONTHLY_EDEFAULT;
613
614 /**
615 * The default value of the '{@link #getCredit_CIM_daily() <em>Credit CIM daily</em>}' attribute.
616 * <!-- begin-user-doc -->
617 * <!-- end-user-doc -->
618 * @see #getCredit_CIM_daily()
619 * @generated
620 * @ordered
621 */
622 protected static final double CREDIT_CIM_DAILY_EDEFAULT = 0.0;
623
624 /**
625 * The cached value of the '{@link #getCredit_CIM_daily() <em>Credit CIM daily</em>}' attribute.
626 * <!-- begin-user-doc -->
627 * <!-- end-user-doc -->
628 * @see #getCredit_CIM_daily()
629 * @generated
630 * @ordered
631 */
632 protected double credit_CIM_daily = CREDIT_CIM_DAILY_EDEFAULT;
633
634 /**
635 * The default value of the '{@link #isValidity() <em>Validity</em>}' attribute.
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @see #isValidity()
639 * @generated
640 * @ordered
641 */
642 protected static final boolean VALIDITY_EDEFAULT = false;
643
644 /**
645 * The cached value of the '{@link #isValidity() <em>Validity</em>}' attribute.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @see #isValidity()
649 * @generated
650 * @ordered
651 */
652 protected boolean validity = VALIDITY_EDEFAULT;
653
654 /**
655 * The cached value of the '{@link #getIncome_Tax_Credit() <em>Income Tax Credit</em>}' reference list.
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @see #getIncome_Tax_Credit()
659 * @generated
660 * @ordered
661 */
662 protected EList<Income_Tax_Credit> income_Tax_Credit;
663
664 /**
665 * The cached value of the '{@link #getPrevious() <em>Previous</em>}' reference.
666 * <!-- begin-user-doc -->
667 * <!-- end-user-doc -->
668 * @see #getPrevious()
669 * @generated
670 * @ordered
671 */
672 protected Tax_Card previous;
673
674 /**
675 * The cached value of the '{@link #getCurrent_tax_card() <em>Current tax card</em>}' reference.
676 * <!-- begin-user-doc -->
677 * <!-- end-user-doc -->
678 * @see #getCurrent_tax_card()
679 * @generated
680 * @ordered
681 */
682 protected Tax_Card current_tax_card;
683
684 /**
685 * The default value of the '{@link #getCredit_CIM_yearly() <em>Credit CIM yearly</em>}' attribute.
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @see #getCredit_CIM_yearly()
689 * @generated
690 * @ordered
691 */
692 protected static final double CREDIT_CIM_YEARLY_EDEFAULT = 0.0;
693
694 /**
695 * The cached value of the '{@link #getCredit_CIM_yearly() <em>Credit CIM yearly</em>}' attribute.
696 * <!-- begin-user-doc -->
697 * <!-- end-user-doc -->
698 * @see #getCredit_CIM_yearly()
699 * @generated
700 * @ordered
701 */
702 protected double credit_CIM_yearly = CREDIT_CIM_YEARLY_EDEFAULT;
703
704 /**
705 * The default value of the '{@link #getDeduction_DS_Alimony_yearly() <em>Deduction DS Alimony yearly</em>}' attribute.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @see #getDeduction_DS_Alimony_yearly()
709 * @generated
710 * @ordered
711 */
712 protected static final double DEDUCTION_DS_ALIMONY_YEARLY_EDEFAULT = 0.0;
713
714 /**
715 * The cached value of the '{@link #getDeduction_DS_Alimony_yearly() <em>Deduction DS Alimony yearly</em>}' attribute.
716 * <!-- begin-user-doc -->
717 * <!-- end-user-doc -->
718 * @see #getDeduction_DS_Alimony_yearly()
719 * @generated
720 * @ordered
721 */
722 protected double deduction_DS_Alimony_yearly = DEDUCTION_DS_ALIMONY_YEARLY_EDEFAULT;
723
724 /**
725 * The default value of the '{@link #getDeduction_DS_Debt_yearly() <em>Deduction DS Debt yearly</em>}' attribute.
726 * <!-- begin-user-doc -->
727 * <!-- end-user-doc -->
728 * @see #getDeduction_DS_Debt_yearly()
729 * @generated
730 * @ordered
731 */
732 protected static final double DEDUCTION_DS_DEBT_YEARLY_EDEFAULT = 0.0;
733
734 /**
735 * The cached value of the '{@link #getDeduction_DS_Debt_yearly() <em>Deduction DS Debt yearly</em>}' attribute.
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @see #getDeduction_DS_Debt_yearly()
739 * @generated
740 * @ordered
741 */
742 protected double deduction_DS_Debt_yearly = DEDUCTION_DS_DEBT_YEARLY_EDEFAULT;
743
744 /**
745 * <!-- begin-user-doc -->
746 * <!-- end-user-doc -->
747 * @generated
748 */
749 protected Tax_CardImpl() {
750 super();
751 }
752
753 /**
754 * <!-- begin-user-doc -->
755 * <!-- end-user-doc -->
756 * @generated
757 */
758 @Override
759 protected EClass eStaticClass() {
760 return TaxationPackage.Literals.TAX_CARD;
761 }
762
763 /**
764 * <!-- begin-user-doc -->
765 * <!-- end-user-doc -->
766 * @generated
767 */
768 @Override
769 public String getCard_identifier() {
770 return card_identifier;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 @Override
779 public void setCard_identifier(String newCard_identifier) {
780 String oldCard_identifier = card_identifier;
781 card_identifier = newCard_identifier;
782 if (eNotificationRequired())
783 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CARD_IDENTIFIER, oldCard_identifier, card_identifier));
784 }
785
786 /**
787 * <!-- begin-user-doc -->
788 * <!-- end-user-doc -->
789 * @generated
790 */
791 @Override
792 public Tax_Card_Type getTax_card_type() {
793 return tax_card_type;
794 }
795
796 /**
797 * <!-- begin-user-doc -->
798 * <!-- end-user-doc -->
799 * @generated
800 */
801 @Override
802 public void setTax_card_type(Tax_Card_Type newTax_card_type) {
803 Tax_Card_Type oldTax_card_type = tax_card_type;
804 tax_card_type = newTax_card_type == null ? TAX_CARD_TYPE_EDEFAULT : newTax_card_type;
805 if (eNotificationRequired())
806 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__TAX_CARD_TYPE, oldTax_card_type, tax_card_type));
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 @Override
815 public Tax_Office getTax_office() {
816 return tax_office;
817 }
818
819 /**
820 * <!-- begin-user-doc -->
821 * <!-- end-user-doc -->
822 * @generated
823 */
824 @Override
825 public void setTax_office(Tax_Office newTax_office) {
826 Tax_Office oldTax_office = tax_office;
827 tax_office = newTax_office == null ? TAX_OFFICE_EDEFAULT : newTax_office;
828 if (eNotificationRequired())
829 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__TAX_OFFICE, oldTax_office, tax_office));
830 }
831
832 /**
833 * <!-- begin-user-doc -->
834 * <!-- end-user-doc -->
835 * @generated
836 */
837 @Override
838 public Date getValid_from_date() {
839 return valid_from_date;
840 }
841
842 /**
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 */
847 @Override
848 public void setValid_from_date(Date newValid_from_date) {
849 Date oldValid_from_date = valid_from_date;
850 valid_from_date = newValid_from_date;
851 if (eNotificationRequired())
852 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__VALID_FROM_DATE, oldValid_from_date, valid_from_date));
853 }
854
855 /**
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 @Override
861 public Date getValid_until_date() {
862 return valid_until_date;
863 }
864
865 /**
866 * <!-- begin-user-doc -->
867 * <!-- end-user-doc -->
868 * @generated
869 */
870 @Override
871 public void setValid_until_date(Date newValid_until_date) {
872 Date oldValid_until_date = valid_until_date;
873 valid_until_date = newValid_until_date;
874 if (eNotificationRequired())
875 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__VALID_UNTIL_DATE, oldValid_until_date, valid_until_date));
876 }
877
878 /**
879 * <!-- begin-user-doc -->
880 * <!-- end-user-doc -->
881 * @generated
882 */
883 @Override
884 public double getPercentage_of_witholding() {
885 return percentage_of_witholding;
886 }
887
888 /**
889 * <!-- begin-user-doc -->
890 * <!-- end-user-doc -->
891 * @generated
892 */
893 @Override
894 public void setPercentage_of_witholding(double newPercentage_of_witholding) {
895 double oldPercentage_of_witholding = percentage_of_witholding;
896 percentage_of_witholding = newPercentage_of_witholding;
897 if (eNotificationRequired())
898 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING, oldPercentage_of_witholding, percentage_of_witholding));
899 }
900
901 /**
902 * <!-- begin-user-doc -->
903 * <!-- end-user-doc -->
904 * @generated
905 */
906 @Override
907 public EList<String> getTax_payers_name_surname() {
908 if (tax_payers_name_surname == null) {
909 tax_payers_name_surname = new EDataTypeUniqueEList<String>(String.class, this, TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME);
910 }
911 return tax_payers_name_surname;
912 }
913
914 /**
915 * <!-- begin-user-doc -->
916 * <!-- end-user-doc -->
917 * @generated
918 */
919 @Override
920 public EList<String> getTax_payers_partner_name_surname() {
921 if (tax_payers_partner_name_surname == null) {
922 tax_payers_partner_name_surname = new EDataTypeUniqueEList<String>(String.class, this, TaxationPackage.TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME);
923 }
924 return tax_payers_partner_name_surname;
925 }
926
927 /**
928 * <!-- begin-user-doc -->
929 * <!-- end-user-doc -->
930 * @generated
931 */
932 @Override
933 public Address getTax_payers_address() {
934 if (tax_payers_address != null && tax_payers_address.eIsProxy()) {
935 InternalEObject oldTax_payers_address = (InternalEObject)tax_payers_address;
936 tax_payers_address = (Address)eResolveProxy(oldTax_payers_address);
937 if (tax_payers_address != oldTax_payers_address) {
938 if (eNotificationRequired())
939 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS, oldTax_payers_address, tax_payers_address));
940 }
941 }
942 return tax_payers_address;
943 }
944
945 /**
946 * <!-- begin-user-doc -->
947 * <!-- end-user-doc -->
948 * @generated
949 */
950 public Address basicGetTax_payers_address() {
951 return tax_payers_address;
952 }
953
954 /**
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @generated
958 */
959 @Override
960 public void setTax_payers_address(Address newTax_payers_address) {
961 Address oldTax_payers_address = tax_payers_address;
962 tax_payers_address = newTax_payers_address;
963 if (eNotificationRequired())
964 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS, oldTax_payers_address, tax_payers_address));
965 }
966
967 /**
968 * <!-- begin-user-doc -->
969 * <!-- end-user-doc -->
970 * @generated
971 */
972 @Override
973 public String getJobs_Employer_SSNo() {
974 return jobs_Employer_SSNo;
975 }
976
977 /**
978 * <!-- begin-user-doc -->
979 * <!-- end-user-doc -->
980 * @generated
981 */
982 @Override
983 public void setJobs_Employer_SSNo(String newJobs_Employer_SSNo) {
984 String oldJobs_Employer_SSNo = jobs_Employer_SSNo;
985 jobs_Employer_SSNo = newJobs_Employer_SSNo;
986 if (eNotificationRequired())
987 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__JOBS_EMPLOYER_SS_NO, oldJobs_Employer_SSNo, jobs_Employer_SSNo));
988 }
989
990 /**
991 * <!-- begin-user-doc -->
992 * <!-- end-user-doc -->
993 * @generated
994 */
995 @Override
996 public String getJobs_employers_name() {
997 return jobs_employers_name;
998 }
999
1000 /**
1001 * <!-- begin-user-doc -->
1002 * <!-- end-user-doc -->
1003 * @generated
1004 */
1005 @Override
1006 public void setJobs_employers_name(String newJobs_employers_name) {
1007 String oldJobs_employers_name = jobs_employers_name;
1008 jobs_employers_name = newJobs_employers_name;
1009 if (eNotificationRequired())
1010 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__JOBS_EMPLOYERS_NAME, oldJobs_employers_name, jobs_employers_name));
1011 }
1012
1013 /**
1014 * <!-- begin-user-doc -->
1015 * <!-- end-user-doc -->
1016 * @generated
1017 */
1018 @Override
1019 public Job_Activity getJobs_activity_type() {
1020 return jobs_activity_type;
1021 }
1022
1023 /**
1024 * <!-- begin-user-doc -->
1025 * <!-- end-user-doc -->
1026 * @generated
1027 */
1028 @Override
1029 public void setJobs_activity_type(Job_Activity newJobs_activity_type) {
1030 Job_Activity oldJobs_activity_type = jobs_activity_type;
1031 jobs_activity_type = newJobs_activity_type == null ? JOBS_ACTIVITY_TYPE_EDEFAULT : newJobs_activity_type;
1032 if (eNotificationRequired())
1033 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__JOBS_ACTIVITY_TYPE, oldJobs_activity_type, jobs_activity_type));
1034 }
1035
1036 /**
1037 * <!-- begin-user-doc -->
1038 * <!-- end-user-doc -->
1039 * @generated
1040 */
1041 @Override
1042 public Town getJobs_place_of_work() {
1043 return jobs_place_of_work;
1044 }
1045
1046 /**
1047 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc -->
1049 * @generated
1050 */
1051 @Override
1052 public void setJobs_place_of_work(Town newJobs_place_of_work) {
1053 Town oldJobs_place_of_work = jobs_place_of_work;
1054 jobs_place_of_work = newJobs_place_of_work == null ? JOBS_PLACE_OF_WORK_EDEFAULT : newJobs_place_of_work;
1055 if (eNotificationRequired())
1056 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__JOBS_PLACE_OF_WORK, oldJobs_place_of_work, jobs_place_of_work));
1057 }
1058
1059 /**
1060 * <!-- begin-user-doc -->
1061 * <!-- end-user-doc -->
1062 * @generated
1063 */
1064 @Override
1065 public double getDeduction_FD_daily() {
1066 return deduction_FD_daily;
1067 }
1068
1069 /**
1070 * <!-- begin-user-doc -->
1071 * <!-- end-user-doc -->
1072 * @generated
1073 */
1074 @Override
1075 public void setDeduction_FD_daily(double newDeduction_FD_daily) {
1076 double oldDeduction_FD_daily = deduction_FD_daily;
1077 deduction_FD_daily = newDeduction_FD_daily;
1078 if (eNotificationRequired())
1079 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_FD_DAILY, oldDeduction_FD_daily, deduction_FD_daily));
1080 }
1081
1082 /**
1083 * <!-- begin-user-doc -->
1084 * <!-- end-user-doc -->
1085 * @generated
1086 */
1087 @Override
1088 public double getDeduction_FD_monthly() {
1089 return deduction_FD_monthly;
1090 }
1091
1092 /**
1093 * <!-- begin-user-doc -->
1094 * <!-- end-user-doc -->
1095 * @generated
1096 */
1097 @Override
1098 public void setDeduction_FD_monthly(double newDeduction_FD_monthly) {
1099 double oldDeduction_FD_monthly = deduction_FD_monthly;
1100 deduction_FD_monthly = newDeduction_FD_monthly;
1101 if (eNotificationRequired())
1102 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_FD_MONTHLY, oldDeduction_FD_monthly, deduction_FD_monthly));
1103 }
1104
1105 /**
1106 * <!-- begin-user-doc -->
1107 * <!-- end-user-doc -->
1108 * @generated
1109 */
1110 @Override
1111 public double getDeduction_AC_daily() {
1112 return deduction_AC_daily;
1113 }
1114
1115 /**
1116 * <!-- begin-user-doc -->
1117 * <!-- end-user-doc -->
1118 * @generated
1119 */
1120 @Override
1121 public void setDeduction_AC_daily(double newDeduction_AC_daily) {
1122 double oldDeduction_AC_daily = deduction_AC_daily;
1123 deduction_AC_daily = newDeduction_AC_daily;
1124 if (eNotificationRequired())
1125 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_AC_DAILY, oldDeduction_AC_daily, deduction_AC_daily));
1126 }
1127
1128 /**
1129 * <!-- begin-user-doc -->
1130 * <!-- end-user-doc -->
1131 * @generated
1132 */
1133 @Override
1134 public double getDeduction_AC_monthly() {
1135 return deduction_AC_monthly;
1136 }
1137
1138 /**
1139 * <!-- begin-user-doc -->
1140 * <!-- end-user-doc -->
1141 * @generated
1142 */
1143 @Override
1144 public void setDeduction_AC_monthly(double newDeduction_AC_monthly) {
1145 double oldDeduction_AC_monthly = deduction_AC_monthly;
1146 deduction_AC_monthly = newDeduction_AC_monthly;
1147 if (eNotificationRequired())
1148 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_AC_MONTHLY, oldDeduction_AC_monthly, deduction_AC_monthly));
1149 }
1150
1151 /**
1152 * <!-- begin-user-doc -->
1153 * <!-- end-user-doc -->
1154 * @generated
1155 */
1156 @Override
1157 public double getDeduction_AC_yearly() {
1158 return deduction_AC_yearly;
1159 }
1160
1161 /**
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 */
1166 @Override
1167 public void setDeduction_AC_yearly(double newDeduction_AC_yearly) {
1168 double oldDeduction_AC_yearly = deduction_AC_yearly;
1169 deduction_AC_yearly = newDeduction_AC_yearly;
1170 if (eNotificationRequired())
1171 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_AC_YEARLY, oldDeduction_AC_yearly, deduction_AC_yearly));
1172 }
1173
1174 /**
1175 * <!-- begin-user-doc -->
1176 * <!-- end-user-doc -->
1177 * @generated
1178 */
1179 @Override
1180 public double getDeduction_CE_daily() {
1181 return deduction_CE_daily;
1182 }
1183
1184 /**
1185 * <!-- begin-user-doc -->
1186 * <!-- end-user-doc -->
1187 * @generated
1188 */
1189 @Override
1190 public void setDeduction_CE_daily(double newDeduction_CE_daily) {
1191 double oldDeduction_CE_daily = deduction_CE_daily;
1192 deduction_CE_daily = newDeduction_CE_daily;
1193 if (eNotificationRequired())
1194 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_CE_DAILY, oldDeduction_CE_daily, deduction_CE_daily));
1195 }
1196
1197 /**
1198 * <!-- begin-user-doc -->
1199 * <!-- end-user-doc -->
1200 * @generated
1201 */
1202 @Override
1203 public double getDeduction_CE_monthly() {
1204 return deduction_CE_monthly;
1205 }
1206
1207 /**
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @generated
1211 */
1212 @Override
1213 public void setDeduction_CE_monthly(double newDeduction_CE_monthly) {
1214 double oldDeduction_CE_monthly = deduction_CE_monthly;
1215 deduction_CE_monthly = newDeduction_CE_monthly;
1216 if (eNotificationRequired())
1217 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_CE_MONTHLY, oldDeduction_CE_monthly, deduction_CE_monthly));
1218 }
1219
1220 /**
1221 * <!-- begin-user-doc -->
1222 * <!-- end-user-doc -->
1223 * @generated
1224 */
1225 @Override
1226 public double getDeduction_CE_yearly() {
1227 return deduction_CE_yearly;
1228 }
1229
1230 /**
1231 * <!-- begin-user-doc -->
1232 * <!-- end-user-doc -->
1233 * @generated
1234 */
1235 @Override
1236 public void setDeduction_CE_yearly(double newDeduction_CE_yearly) {
1237 double oldDeduction_CE_yearly = deduction_CE_yearly;
1238 deduction_CE_yearly = newDeduction_CE_yearly;
1239 if (eNotificationRequired())
1240 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_CE_YEARLY, oldDeduction_CE_yearly, deduction_CE_yearly));
1241 }
1242
1243 /**
1244 * <!-- begin-user-doc -->
1245 * <!-- end-user-doc -->
1246 * @generated
1247 */
1248 @Override
1249 public double getDeduction_DS_daily() {
1250 return deduction_DS_daily;
1251 }
1252
1253 /**
1254 * <!-- begin-user-doc -->
1255 * <!-- end-user-doc -->
1256 * @generated
1257 */
1258 @Override
1259 public void setDeduction_DS_daily(double newDeduction_DS_daily) {
1260 double oldDeduction_DS_daily = deduction_DS_daily;
1261 deduction_DS_daily = newDeduction_DS_daily;
1262 if (eNotificationRequired())
1263 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_DS_DAILY, oldDeduction_DS_daily, deduction_DS_daily));
1264 }
1265
1266 /**
1267 * <!-- begin-user-doc -->
1268 * <!-- end-user-doc -->
1269 * @generated
1270 */
1271 @Override
1272 public double getDeduction_DS_monthly() {
1273 return deduction_DS_monthly;
1274 }
1275
1276 /**
1277 * <!-- begin-user-doc -->
1278 * <!-- end-user-doc -->
1279 * @generated
1280 */
1281 @Override
1282 public void setDeduction_DS_monthly(double newDeduction_DS_monthly) {
1283 double oldDeduction_DS_monthly = deduction_DS_monthly;
1284 deduction_DS_monthly = newDeduction_DS_monthly;
1285 if (eNotificationRequired())
1286 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_DS_MONTHLY, oldDeduction_DS_monthly, deduction_DS_monthly));
1287 }
1288
1289 /**
1290 * <!-- begin-user-doc -->
1291 * <!-- end-user-doc -->
1292 * @generated
1293 */
1294 @Override
1295 public double getDeduction_FO_daily() {
1296 return deduction_FO_daily;
1297 }
1298
1299 /**
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 */
1304 @Override
1305 public void setDeduction_FO_daily(double newDeduction_FO_daily) {
1306 double oldDeduction_FO_daily = deduction_FO_daily;
1307 deduction_FO_daily = newDeduction_FO_daily;
1308 if (eNotificationRequired())
1309 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_FO_DAILY, oldDeduction_FO_daily, deduction_FO_daily));
1310 }
1311
1312 /**
1313 * <!-- begin-user-doc -->
1314 * <!-- end-user-doc -->
1315 * @generated
1316 */
1317 @Override
1318 public double getDeduction_FO_monthly() {
1319 return deduction_FO_monthly;
1320 }
1321
1322 /**
1323 * <!-- begin-user-doc -->
1324 * <!-- end-user-doc -->
1325 * @generated
1326 */
1327 @Override
1328 public void setDeduction_FO_monthly(double newDeduction_FO_monthly) {
1329 double oldDeduction_FO_monthly = deduction_FO_monthly;
1330 deduction_FO_monthly = newDeduction_FO_monthly;
1331 if (eNotificationRequired())
1332 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_FO_MONTHLY, oldDeduction_FO_monthly, deduction_FO_monthly));
1333 }
1334
1335 /**
1336 * <!-- begin-user-doc -->
1337 * <!-- end-user-doc -->
1338 * @generated
1339 */
1340 @Override
1341 public double getDeduction_FO_yearly() {
1342 return deduction_FO_yearly;
1343 }
1344
1345 /**
1346 * <!-- begin-user-doc -->
1347 * <!-- end-user-doc -->
1348 * @generated
1349 */
1350 @Override
1351 public void setDeduction_FO_yearly(double newDeduction_FO_yearly) {
1352 double oldDeduction_FO_yearly = deduction_FO_yearly;
1353 deduction_FO_yearly = newDeduction_FO_yearly;
1354 if (eNotificationRequired())
1355 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_FO_YEARLY, oldDeduction_FO_yearly, deduction_FO_yearly));
1356 }
1357
1358 /**
1359 * <!-- begin-user-doc -->
1360 * <!-- end-user-doc -->
1361 * @generated
1362 */
1363 @Override
1364 public double getCredit_CIS_daily() {
1365 return credit_CIS_daily;
1366 }
1367
1368 /**
1369 * <!-- begin-user-doc -->
1370 * <!-- end-user-doc -->
1371 * @generated
1372 */
1373 @Override
1374 public void setCredit_CIS_daily(double newCredit_CIS_daily) {
1375 double oldCredit_CIS_daily = credit_CIS_daily;
1376 credit_CIS_daily = newCredit_CIS_daily;
1377 if (eNotificationRequired())
1378 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CREDIT_CIS_DAILY, oldCredit_CIS_daily, credit_CIS_daily));
1379 }
1380
1381 /**
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 */
1386 @Override
1387 public double getCredit_CIS_monthly() {
1388 return credit_CIS_monthly;
1389 }
1390
1391 /**
1392 * <!-- begin-user-doc -->
1393 * <!-- end-user-doc -->
1394 * @generated
1395 */
1396 @Override
1397 public void setCredit_CIS_monthly(double newCredit_CIS_monthly) {
1398 double oldCredit_CIS_monthly = credit_CIS_monthly;
1399 credit_CIS_monthly = newCredit_CIS_monthly;
1400 if (eNotificationRequired())
1401 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CREDIT_CIS_MONTHLY, oldCredit_CIS_monthly, credit_CIS_monthly));
1402 }
1403
1404 /**
1405 * <!-- begin-user-doc -->
1406 * <!-- end-user-doc -->
1407 * @generated
1408 */
1409 @Override
1410 public double getCredit_CIM_daily() {
1411 return credit_CIM_daily;
1412 }
1413
1414 /**
1415 * <!-- begin-user-doc -->
1416 * <!-- end-user-doc -->
1417 * @generated
1418 */
1419 @Override
1420 public void setCredit_CIM_daily(double newCredit_CIM_daily) {
1421 double oldCredit_CIM_daily = credit_CIM_daily;
1422 credit_CIM_daily = newCredit_CIM_daily;
1423 if (eNotificationRequired())
1424 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CREDIT_CIM_DAILY, oldCredit_CIM_daily, credit_CIM_daily));
1425 }
1426
1427 /**
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 */
1432 @Override
1433 public boolean isValidity() {
1434 return validity;
1435 }
1436
1437 /**
1438 * <!-- begin-user-doc -->
1439 * <!-- end-user-doc -->
1440 * @generated
1441 */
1442 @Override
1443 public void setValidity(boolean newValidity) {
1444 boolean oldValidity = validity;
1445 validity = newValidity;
1446 if (eNotificationRequired())
1447 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__VALIDITY, oldValidity, validity));
1448 }
1449
1450 /**
1451 * <!-- begin-user-doc -->
1452 * <!-- end-user-doc -->
1453 * @generated
1454 */
1455 @Override
1456 public EList<Income_Tax_Credit> getIncome_Tax_Credit() {
1457 if (income_Tax_Credit == null) {
1458 income_Tax_Credit = new EObjectWithInverseResolvingEList<Income_Tax_Credit>(Income_Tax_Credit.class, this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME);
1459 }
1460 return income_Tax_Credit;
1461 }
1462
1463 /**
1464 * <!-- begin-user-doc -->
1465 * <!-- end-user-doc -->
1466 * @generated
1467 */
1468 @Override
1469 public Tax_Card getPrevious() {
1470 if (previous != null && previous.eIsProxy()) {
1471 InternalEObject oldPrevious = (InternalEObject)previous;
1472 previous = (Tax_Card)eResolveProxy(oldPrevious);
1473 if (previous != oldPrevious) {
1474 if (eNotificationRequired())
1475 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.TAX_CARD__PREVIOUS, oldPrevious, previous));
1476 }
1477 }
1478 return previous;
1479 }
1480
1481 /**
1482 * <!-- begin-user-doc -->
1483 * <!-- end-user-doc -->
1484 * @generated
1485 */
1486 public Tax_Card basicGetPrevious() {
1487 return previous;
1488 }
1489
1490 /**
1491 * <!-- begin-user-doc -->
1492 * <!-- end-user-doc -->
1493 * @generated
1494 */
1495 public NotificationChain basicSetPrevious(Tax_Card newPrevious, NotificationChain msgs) {
1496 Tax_Card oldPrevious = previous;
1497 previous = newPrevious;
1498 if (eNotificationRequired()) {
1499 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__PREVIOUS, oldPrevious, newPrevious);
1500 if (msgs == null) msgs = notification; else msgs.add(notification);
1501 }
1502 return msgs;
1503 }
1504
1505 /**
1506 * <!-- begin-user-doc -->
1507 * <!-- end-user-doc -->
1508 * @generated
1509 */
1510 @Override
1511 public void setPrevious(Tax_Card newPrevious) {
1512 if (newPrevious != previous) {
1513 NotificationChain msgs = null;
1514 if (previous != null)
1515 msgs = ((InternalEObject)previous).eInverseRemove(this, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, Tax_Card.class, msgs);
1516 if (newPrevious != null)
1517 msgs = ((InternalEObject)newPrevious).eInverseAdd(this, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, Tax_Card.class, msgs);
1518 msgs = basicSetPrevious(newPrevious, msgs);
1519 if (msgs != null) msgs.dispatch();
1520 }
1521 else if (eNotificationRequired())
1522 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__PREVIOUS, newPrevious, newPrevious));
1523 }
1524
1525 /**
1526 * <!-- begin-user-doc -->
1527 * <!-- end-user-doc -->
1528 * @generated
1529 */
1530 @Override
1531 public Tax_Card getCurrent_tax_card() {
1532 if (current_tax_card != null && current_tax_card.eIsProxy()) {
1533 InternalEObject oldCurrent_tax_card = (InternalEObject)current_tax_card;
1534 current_tax_card = (Tax_Card)eResolveProxy(oldCurrent_tax_card);
1535 if (current_tax_card != oldCurrent_tax_card) {
1536 if (eNotificationRequired())
1537 eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, oldCurrent_tax_card, current_tax_card));
1538 }
1539 }
1540 return current_tax_card;
1541 }
1542
1543 /**
1544 * <!-- begin-user-doc -->
1545 * <!-- end-user-doc -->
1546 * @generated
1547 */
1548 public Tax_Card basicGetCurrent_tax_card() {
1549 return current_tax_card;
1550 }
1551
1552 /**
1553 * <!-- begin-user-doc -->
1554 * <!-- end-user-doc -->
1555 * @generated
1556 */
1557 public NotificationChain basicSetCurrent_tax_card(Tax_Card newCurrent_tax_card, NotificationChain msgs) {
1558 Tax_Card oldCurrent_tax_card = current_tax_card;
1559 current_tax_card = newCurrent_tax_card;
1560 if (eNotificationRequired()) {
1561 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, oldCurrent_tax_card, newCurrent_tax_card);
1562 if (msgs == null) msgs = notification; else msgs.add(notification);
1563 }
1564 return msgs;
1565 }
1566
1567 /**
1568 * <!-- begin-user-doc -->
1569 * <!-- end-user-doc -->
1570 * @generated
1571 */
1572 @Override
1573 public void setCurrent_tax_card(Tax_Card newCurrent_tax_card) {
1574 if (newCurrent_tax_card != current_tax_card) {
1575 NotificationChain msgs = null;
1576 if (current_tax_card != null)
1577 msgs = ((InternalEObject)current_tax_card).eInverseRemove(this, TaxationPackage.TAX_CARD__PREVIOUS, Tax_Card.class, msgs);
1578 if (newCurrent_tax_card != null)
1579 msgs = ((InternalEObject)newCurrent_tax_card).eInverseAdd(this, TaxationPackage.TAX_CARD__PREVIOUS, Tax_Card.class, msgs);
1580 msgs = basicSetCurrent_tax_card(newCurrent_tax_card, msgs);
1581 if (msgs != null) msgs.dispatch();
1582 }
1583 else if (eNotificationRequired())
1584 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, newCurrent_tax_card, newCurrent_tax_card));
1585 }
1586
1587 /**
1588 * <!-- begin-user-doc -->
1589 * <!-- end-user-doc -->
1590 * @generated
1591 */
1592 @Override
1593 public double getCredit_CIM_yearly() {
1594 return credit_CIM_yearly;
1595 }
1596
1597 /**
1598 * <!-- begin-user-doc -->
1599 * <!-- end-user-doc -->
1600 * @generated
1601 */
1602 @Override
1603 public void setCredit_CIM_yearly(double newCredit_CIM_yearly) {
1604 double oldCredit_CIM_yearly = credit_CIM_yearly;
1605 credit_CIM_yearly = newCredit_CIM_yearly;
1606 if (eNotificationRequired())
1607 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__CREDIT_CIM_YEARLY, oldCredit_CIM_yearly, credit_CIM_yearly));
1608 }
1609
1610 /**
1611 * <!-- begin-user-doc -->
1612 * <!-- end-user-doc -->
1613 * @generated
1614 */
1615 @Override
1616 public double getDeduction_DS_Alimony_yearly() {
1617 return deduction_DS_Alimony_yearly;
1618 }
1619
1620 /**
1621 * <!-- begin-user-doc -->
1622 * <!-- end-user-doc -->
1623 * @generated
1624 */
1625 @Override
1626 public void setDeduction_DS_Alimony_yearly(double newDeduction_DS_Alimony_yearly) {
1627 double oldDeduction_DS_Alimony_yearly = deduction_DS_Alimony_yearly;
1628 deduction_DS_Alimony_yearly = newDeduction_DS_Alimony_yearly;
1629 if (eNotificationRequired())
1630 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY, oldDeduction_DS_Alimony_yearly, deduction_DS_Alimony_yearly));
1631 }
1632
1633 /**
1634 * <!-- begin-user-doc -->
1635 * <!-- end-user-doc -->
1636 * @generated
1637 */
1638 @Override
1639 public double getDeduction_DS_Debt_yearly() {
1640 return deduction_DS_Debt_yearly;
1641 }
1642
1643 /**
1644 * <!-- begin-user-doc -->
1645 * <!-- end-user-doc -->
1646 * @generated
1647 */
1648 @Override
1649 public void setDeduction_DS_Debt_yearly(double newDeduction_DS_Debt_yearly) {
1650 double oldDeduction_DS_Debt_yearly = deduction_DS_Debt_yearly;
1651 deduction_DS_Debt_yearly = newDeduction_DS_Debt_yearly;
1652 if (eNotificationRequired())
1653 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__DEDUCTION_DS_DEBT_YEARLY, oldDeduction_DS_Debt_yearly, deduction_DS_Debt_yearly));
1654 }
1655
1656 /**
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @generated
1660 */
1661 @Override
1662 public Income getIncome() {
1663 if (eContainerFeatureID() != TaxationPackage.TAX_CARD__INCOME) return null;
1664 return (Income)eInternalContainer();
1665 }
1666
1667 /**
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @generated
1671 */
1672 public NotificationChain basicSetIncome(Income newIncome, NotificationChain msgs) {
1673 msgs = eBasicSetContainer((InternalEObject)newIncome, TaxationPackage.TAX_CARD__INCOME, msgs);
1674 return msgs;
1675 }
1676
1677 /**
1678 * <!-- begin-user-doc -->
1679 * <!-- end-user-doc -->
1680 * @generated
1681 */
1682 @Override
1683 public void setIncome(Income newIncome) {
1684 if (newIncome != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.TAX_CARD__INCOME && newIncome != null)) {
1685 if (EcoreUtil.isAncestor(this, newIncome))
1686 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
1687 NotificationChain msgs = null;
1688 if (eInternalContainer() != null)
1689 msgs = eBasicRemoveFromContainer(msgs);
1690 if (newIncome != null)
1691 msgs = ((InternalEObject)newIncome).eInverseAdd(this, TaxationPackage.INCOME__TAX_CARD, Income.class, msgs);
1692 msgs = basicSetIncome(newIncome, msgs);
1693 if (msgs != null) msgs.dispatch();
1694 }
1695 else if (eNotificationRequired())
1696 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__INCOME, newIncome, newIncome));
1697 }
1698
1699 /**
1700 * <!-- begin-user-doc -->
1701 * <!-- end-user-doc -->
1702 * @generated
1703 */
1704 @SuppressWarnings("unchecked")
1705 @Override
1706 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
1707 switch (featureID) {
1708 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
1709 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncome_Tax_Credit()).basicAdd(otherEnd, msgs);
1710 case TaxationPackage.TAX_CARD__PREVIOUS:
1711 if (previous != null)
1712 msgs = ((InternalEObject)previous).eInverseRemove(this, TaxationPackage.TAX_CARD__CURRENT_TAX_CARD, Tax_Card.class, msgs);
1713 return basicSetPrevious((Tax_Card)otherEnd, msgs);
1714 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
1715 if (current_tax_card != null)
1716 msgs = ((InternalEObject)current_tax_card).eInverseRemove(this, TaxationPackage.TAX_CARD__PREVIOUS, Tax_Card.class, msgs);
1717 return basicSetCurrent_tax_card((Tax_Card)otherEnd, msgs);
1718 case TaxationPackage.TAX_CARD__INCOME:
1719 if (eInternalContainer() != null)
1720 msgs = eBasicRemoveFromContainer(msgs);
1721 return basicSetIncome((Income)otherEnd, msgs);
1722 }
1723 return super.eInverseAdd(otherEnd, featureID, msgs);
1724 }
1725
1726 /**
1727 * <!-- begin-user-doc -->
1728 * <!-- end-user-doc -->
1729 * @generated
1730 */
1731 @Override
1732 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
1733 switch (featureID) {
1734 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
1735 return ((InternalEList<?>)getIncome_Tax_Credit()).basicRemove(otherEnd, msgs);
1736 case TaxationPackage.TAX_CARD__PREVIOUS:
1737 return basicSetPrevious(null, msgs);
1738 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
1739 return basicSetCurrent_tax_card(null, msgs);
1740 case TaxationPackage.TAX_CARD__INCOME:
1741 return basicSetIncome(null, msgs);
1742 }
1743 return super.eInverseRemove(otherEnd, featureID, msgs);
1744 }
1745
1746 /**
1747 * <!-- begin-user-doc -->
1748 * <!-- end-user-doc -->
1749 * @generated
1750 */
1751 @Override
1752 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
1753 switch (eContainerFeatureID()) {
1754 case TaxationPackage.TAX_CARD__INCOME:
1755 return eInternalContainer().eInverseRemove(this, TaxationPackage.INCOME__TAX_CARD, Income.class, msgs);
1756 }
1757 return super.eBasicRemoveFromContainerFeature(msgs);
1758 }
1759
1760 /**
1761 * <!-- begin-user-doc -->
1762 * <!-- end-user-doc -->
1763 * @generated
1764 */
1765 @Override
1766 public Object eGet(int featureID, boolean resolve, boolean coreType) {
1767 switch (featureID) {
1768 case TaxationPackage.TAX_CARD__CARD_IDENTIFIER:
1769 return getCard_identifier();
1770 case TaxationPackage.TAX_CARD__TAX_CARD_TYPE:
1771 return getTax_card_type();
1772 case TaxationPackage.TAX_CARD__TAX_OFFICE:
1773 return getTax_office();
1774 case TaxationPackage.TAX_CARD__VALID_FROM_DATE:
1775 return getValid_from_date();
1776 case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE:
1777 return getValid_until_date();
1778 case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING:
1779 return getPercentage_of_witholding();
1780 case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME:
1781 return getTax_payers_name_surname();
1782 case TaxationPackage.TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME:
1783 return getTax_payers_partner_name_surname();
1784 case TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS:
1785 if (resolve) return getTax_payers_address();
1786 return basicGetTax_payers_address();
1787 case TaxationPackage.TAX_CARD__JOBS_EMPLOYER_SS_NO:
1788 return getJobs_Employer_SSNo();
1789 case TaxationPackage.TAX_CARD__JOBS_EMPLOYERS_NAME:
1790 return getJobs_employers_name();
1791 case TaxationPackage.TAX_CARD__JOBS_ACTIVITY_TYPE:
1792 return getJobs_activity_type();
1793 case TaxationPackage.TAX_CARD__JOBS_PLACE_OF_WORK:
1794 return getJobs_place_of_work();
1795 case TaxationPackage.TAX_CARD__DEDUCTION_FD_DAILY:
1796 return getDeduction_FD_daily();
1797 case TaxationPackage.TAX_CARD__DEDUCTION_FD_MONTHLY:
1798 return getDeduction_FD_monthly();
1799 case TaxationPackage.TAX_CARD__DEDUCTION_AC_DAILY:
1800 return getDeduction_AC_daily();
1801 case TaxationPackage.TAX_CARD__DEDUCTION_AC_MONTHLY:
1802 return getDeduction_AC_monthly();
1803 case TaxationPackage.TAX_CARD__DEDUCTION_AC_YEARLY:
1804 return getDeduction_AC_yearly();
1805 case TaxationPackage.TAX_CARD__DEDUCTION_CE_DAILY:
1806 return getDeduction_CE_daily();
1807 case TaxationPackage.TAX_CARD__DEDUCTION_CE_MONTHLY:
1808 return getDeduction_CE_monthly();
1809 case TaxationPackage.TAX_CARD__DEDUCTION_CE_YEARLY:
1810 return getDeduction_CE_yearly();
1811 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DAILY:
1812 return getDeduction_DS_daily();
1813 case TaxationPackage.TAX_CARD__DEDUCTION_DS_MONTHLY:
1814 return getDeduction_DS_monthly();
1815 case TaxationPackage.TAX_CARD__DEDUCTION_FO_DAILY:
1816 return getDeduction_FO_daily();
1817 case TaxationPackage.TAX_CARD__DEDUCTION_FO_MONTHLY:
1818 return getDeduction_FO_monthly();
1819 case TaxationPackage.TAX_CARD__DEDUCTION_FO_YEARLY:
1820 return getDeduction_FO_yearly();
1821 case TaxationPackage.TAX_CARD__CREDIT_CIS_DAILY:
1822 return getCredit_CIS_daily();
1823 case TaxationPackage.TAX_CARD__CREDIT_CIS_MONTHLY:
1824 return getCredit_CIS_monthly();
1825 case TaxationPackage.TAX_CARD__CREDIT_CIM_DAILY:
1826 return getCredit_CIM_daily();
1827 case TaxationPackage.TAX_CARD__VALIDITY:
1828 return isValidity();
1829 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
1830 return getIncome_Tax_Credit();
1831 case TaxationPackage.TAX_CARD__PREVIOUS:
1832 if (resolve) return getPrevious();
1833 return basicGetPrevious();
1834 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
1835 if (resolve) return getCurrent_tax_card();
1836 return basicGetCurrent_tax_card();
1837 case TaxationPackage.TAX_CARD__CREDIT_CIM_YEARLY:
1838 return getCredit_CIM_yearly();
1839 case TaxationPackage.TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY:
1840 return getDeduction_DS_Alimony_yearly();
1841 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DEBT_YEARLY:
1842 return getDeduction_DS_Debt_yearly();
1843 case TaxationPackage.TAX_CARD__INCOME:
1844 return getIncome();
1845 }
1846 return super.eGet(featureID, resolve, coreType);
1847 }
1848
1849 /**
1850 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc -->
1852 * @generated
1853 */
1854 @SuppressWarnings("unchecked")
1855 @Override
1856 public void eSet(int featureID, Object newValue) {
1857 switch (featureID) {
1858 case TaxationPackage.TAX_CARD__CARD_IDENTIFIER:
1859 setCard_identifier((String)newValue);
1860 return;
1861 case TaxationPackage.TAX_CARD__TAX_CARD_TYPE:
1862 setTax_card_type((Tax_Card_Type)newValue);
1863 return;
1864 case TaxationPackage.TAX_CARD__TAX_OFFICE:
1865 setTax_office((Tax_Office)newValue);
1866 return;
1867 case TaxationPackage.TAX_CARD__VALID_FROM_DATE:
1868 setValid_from_date((Date)newValue);
1869 return;
1870 case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE:
1871 setValid_until_date((Date)newValue);
1872 return;
1873 case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING:
1874 setPercentage_of_witholding((Double)newValue);
1875 return;
1876 case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME:
1877 getTax_payers_name_surname().clear();
1878 getTax_payers_name_surname().addAll((Collection<? extends String>)newValue);
1879 return;
1880 case TaxationPackage.TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME:
1881 getTax_payers_partner_name_surname().clear();
1882 getTax_payers_partner_name_surname().addAll((Collection<? extends String>)newValue);
1883 return;
1884 case TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS:
1885 setTax_payers_address((Address)newValue);
1886 return;
1887 case TaxationPackage.TAX_CARD__JOBS_EMPLOYER_SS_NO:
1888 setJobs_Employer_SSNo((String)newValue);
1889 return;
1890 case TaxationPackage.TAX_CARD__JOBS_EMPLOYERS_NAME:
1891 setJobs_employers_name((String)newValue);
1892 return;
1893 case TaxationPackage.TAX_CARD__JOBS_ACTIVITY_TYPE:
1894 setJobs_activity_type((Job_Activity)newValue);
1895 return;
1896 case TaxationPackage.TAX_CARD__JOBS_PLACE_OF_WORK:
1897 setJobs_place_of_work((Town)newValue);
1898 return;
1899 case TaxationPackage.TAX_CARD__DEDUCTION_FD_DAILY:
1900 setDeduction_FD_daily((Double)newValue);
1901 return;
1902 case TaxationPackage.TAX_CARD__DEDUCTION_FD_MONTHLY:
1903 setDeduction_FD_monthly((Double)newValue);
1904 return;
1905 case TaxationPackage.TAX_CARD__DEDUCTION_AC_DAILY:
1906 setDeduction_AC_daily((Double)newValue);
1907 return;
1908 case TaxationPackage.TAX_CARD__DEDUCTION_AC_MONTHLY:
1909 setDeduction_AC_monthly((Double)newValue);
1910 return;
1911 case TaxationPackage.TAX_CARD__DEDUCTION_AC_YEARLY:
1912 setDeduction_AC_yearly((Double)newValue);
1913 return;
1914 case TaxationPackage.TAX_CARD__DEDUCTION_CE_DAILY:
1915 setDeduction_CE_daily((Double)newValue);
1916 return;
1917 case TaxationPackage.TAX_CARD__DEDUCTION_CE_MONTHLY:
1918 setDeduction_CE_monthly((Double)newValue);
1919 return;
1920 case TaxationPackage.TAX_CARD__DEDUCTION_CE_YEARLY:
1921 setDeduction_CE_yearly((Double)newValue);
1922 return;
1923 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DAILY:
1924 setDeduction_DS_daily((Double)newValue);
1925 return;
1926 case TaxationPackage.TAX_CARD__DEDUCTION_DS_MONTHLY:
1927 setDeduction_DS_monthly((Double)newValue);
1928 return;
1929 case TaxationPackage.TAX_CARD__DEDUCTION_FO_DAILY:
1930 setDeduction_FO_daily((Double)newValue);
1931 return;
1932 case TaxationPackage.TAX_CARD__DEDUCTION_FO_MONTHLY:
1933 setDeduction_FO_monthly((Double)newValue);
1934 return;
1935 case TaxationPackage.TAX_CARD__DEDUCTION_FO_YEARLY:
1936 setDeduction_FO_yearly((Double)newValue);
1937 return;
1938 case TaxationPackage.TAX_CARD__CREDIT_CIS_DAILY:
1939 setCredit_CIS_daily((Double)newValue);
1940 return;
1941 case TaxationPackage.TAX_CARD__CREDIT_CIS_MONTHLY:
1942 setCredit_CIS_monthly((Double)newValue);
1943 return;
1944 case TaxationPackage.TAX_CARD__CREDIT_CIM_DAILY:
1945 setCredit_CIM_daily((Double)newValue);
1946 return;
1947 case TaxationPackage.TAX_CARD__VALIDITY:
1948 setValidity((Boolean)newValue);
1949 return;
1950 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
1951 getIncome_Tax_Credit().clear();
1952 getIncome_Tax_Credit().addAll((Collection<? extends Income_Tax_Credit>)newValue);
1953 return;
1954 case TaxationPackage.TAX_CARD__PREVIOUS:
1955 setPrevious((Tax_Card)newValue);
1956 return;
1957 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
1958 setCurrent_tax_card((Tax_Card)newValue);
1959 return;
1960 case TaxationPackage.TAX_CARD__CREDIT_CIM_YEARLY:
1961 setCredit_CIM_yearly((Double)newValue);
1962 return;
1963 case TaxationPackage.TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY:
1964 setDeduction_DS_Alimony_yearly((Double)newValue);
1965 return;
1966 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DEBT_YEARLY:
1967 setDeduction_DS_Debt_yearly((Double)newValue);
1968 return;
1969 case TaxationPackage.TAX_CARD__INCOME:
1970 setIncome((Income)newValue);
1971 return;
1972 }
1973 super.eSet(featureID, newValue);
1974 }
1975
1976 /**
1977 * <!-- begin-user-doc -->
1978 * <!-- end-user-doc -->
1979 * @generated
1980 */
1981 @Override
1982 public void eUnset(int featureID) {
1983 switch (featureID) {
1984 case TaxationPackage.TAX_CARD__CARD_IDENTIFIER:
1985 setCard_identifier(CARD_IDENTIFIER_EDEFAULT);
1986 return;
1987 case TaxationPackage.TAX_CARD__TAX_CARD_TYPE:
1988 setTax_card_type(TAX_CARD_TYPE_EDEFAULT);
1989 return;
1990 case TaxationPackage.TAX_CARD__TAX_OFFICE:
1991 setTax_office(TAX_OFFICE_EDEFAULT);
1992 return;
1993 case TaxationPackage.TAX_CARD__VALID_FROM_DATE:
1994 setValid_from_date(VALID_FROM_DATE_EDEFAULT);
1995 return;
1996 case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE:
1997 setValid_until_date(VALID_UNTIL_DATE_EDEFAULT);
1998 return;
1999 case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING:
2000 setPercentage_of_witholding(PERCENTAGE_OF_WITHOLDING_EDEFAULT);
2001 return;
2002 case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME:
2003 getTax_payers_name_surname().clear();
2004 return;
2005 case TaxationPackage.TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME:
2006 getTax_payers_partner_name_surname().clear();
2007 return;
2008 case TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS:
2009 setTax_payers_address((Address)null);
2010 return;
2011 case TaxationPackage.TAX_CARD__JOBS_EMPLOYER_SS_NO:
2012 setJobs_Employer_SSNo(JOBS_EMPLOYER_SS_NO_EDEFAULT);
2013 return;
2014 case TaxationPackage.TAX_CARD__JOBS_EMPLOYERS_NAME:
2015 setJobs_employers_name(JOBS_EMPLOYERS_NAME_EDEFAULT);
2016 return;
2017 case TaxationPackage.TAX_CARD__JOBS_ACTIVITY_TYPE:
2018 setJobs_activity_type(JOBS_ACTIVITY_TYPE_EDEFAULT);
2019 return;
2020 case TaxationPackage.TAX_CARD__JOBS_PLACE_OF_WORK:
2021 setJobs_place_of_work(JOBS_PLACE_OF_WORK_EDEFAULT);
2022 return;
2023 case TaxationPackage.TAX_CARD__DEDUCTION_FD_DAILY:
2024 setDeduction_FD_daily(DEDUCTION_FD_DAILY_EDEFAULT);
2025 return;
2026 case TaxationPackage.TAX_CARD__DEDUCTION_FD_MONTHLY:
2027 setDeduction_FD_monthly(DEDUCTION_FD_MONTHLY_EDEFAULT);
2028 return;
2029 case TaxationPackage.TAX_CARD__DEDUCTION_AC_DAILY:
2030 setDeduction_AC_daily(DEDUCTION_AC_DAILY_EDEFAULT);
2031 return;
2032 case TaxationPackage.TAX_CARD__DEDUCTION_AC_MONTHLY:
2033 setDeduction_AC_monthly(DEDUCTION_AC_MONTHLY_EDEFAULT);
2034 return;
2035 case TaxationPackage.TAX_CARD__DEDUCTION_AC_YEARLY:
2036 setDeduction_AC_yearly(DEDUCTION_AC_YEARLY_EDEFAULT);
2037 return;
2038 case TaxationPackage.TAX_CARD__DEDUCTION_CE_DAILY:
2039 setDeduction_CE_daily(DEDUCTION_CE_DAILY_EDEFAULT);
2040 return;
2041 case TaxationPackage.TAX_CARD__DEDUCTION_CE_MONTHLY:
2042 setDeduction_CE_monthly(DEDUCTION_CE_MONTHLY_EDEFAULT);
2043 return;
2044 case TaxationPackage.TAX_CARD__DEDUCTION_CE_YEARLY:
2045 setDeduction_CE_yearly(DEDUCTION_CE_YEARLY_EDEFAULT);
2046 return;
2047 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DAILY:
2048 setDeduction_DS_daily(DEDUCTION_DS_DAILY_EDEFAULT);
2049 return;
2050 case TaxationPackage.TAX_CARD__DEDUCTION_DS_MONTHLY:
2051 setDeduction_DS_monthly(DEDUCTION_DS_MONTHLY_EDEFAULT);
2052 return;
2053 case TaxationPackage.TAX_CARD__DEDUCTION_FO_DAILY:
2054 setDeduction_FO_daily(DEDUCTION_FO_DAILY_EDEFAULT);
2055 return;
2056 case TaxationPackage.TAX_CARD__DEDUCTION_FO_MONTHLY:
2057 setDeduction_FO_monthly(DEDUCTION_FO_MONTHLY_EDEFAULT);
2058 return;
2059 case TaxationPackage.TAX_CARD__DEDUCTION_FO_YEARLY:
2060 setDeduction_FO_yearly(DEDUCTION_FO_YEARLY_EDEFAULT);
2061 return;
2062 case TaxationPackage.TAX_CARD__CREDIT_CIS_DAILY:
2063 setCredit_CIS_daily(CREDIT_CIS_DAILY_EDEFAULT);
2064 return;
2065 case TaxationPackage.TAX_CARD__CREDIT_CIS_MONTHLY:
2066 setCredit_CIS_monthly(CREDIT_CIS_MONTHLY_EDEFAULT);
2067 return;
2068 case TaxationPackage.TAX_CARD__CREDIT_CIM_DAILY:
2069 setCredit_CIM_daily(CREDIT_CIM_DAILY_EDEFAULT);
2070 return;
2071 case TaxationPackage.TAX_CARD__VALIDITY:
2072 setValidity(VALIDITY_EDEFAULT);
2073 return;
2074 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
2075 getIncome_Tax_Credit().clear();
2076 return;
2077 case TaxationPackage.TAX_CARD__PREVIOUS:
2078 setPrevious((Tax_Card)null);
2079 return;
2080 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
2081 setCurrent_tax_card((Tax_Card)null);
2082 return;
2083 case TaxationPackage.TAX_CARD__CREDIT_CIM_YEARLY:
2084 setCredit_CIM_yearly(CREDIT_CIM_YEARLY_EDEFAULT);
2085 return;
2086 case TaxationPackage.TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY:
2087 setDeduction_DS_Alimony_yearly(DEDUCTION_DS_ALIMONY_YEARLY_EDEFAULT);
2088 return;
2089 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DEBT_YEARLY:
2090 setDeduction_DS_Debt_yearly(DEDUCTION_DS_DEBT_YEARLY_EDEFAULT);
2091 return;
2092 case TaxationPackage.TAX_CARD__INCOME:
2093 setIncome((Income)null);
2094 return;
2095 }
2096 super.eUnset(featureID);
2097 }
2098
2099 /**
2100 * <!-- begin-user-doc -->
2101 * <!-- end-user-doc -->
2102 * @generated
2103 */
2104 @Override
2105 public boolean eIsSet(int featureID) {
2106 switch (featureID) {
2107 case TaxationPackage.TAX_CARD__CARD_IDENTIFIER:
2108 return CARD_IDENTIFIER_EDEFAULT == null ? card_identifier != null : !CARD_IDENTIFIER_EDEFAULT.equals(card_identifier);
2109 case TaxationPackage.TAX_CARD__TAX_CARD_TYPE:
2110 return tax_card_type != TAX_CARD_TYPE_EDEFAULT;
2111 case TaxationPackage.TAX_CARD__TAX_OFFICE:
2112 return tax_office != TAX_OFFICE_EDEFAULT;
2113 case TaxationPackage.TAX_CARD__VALID_FROM_DATE:
2114 return VALID_FROM_DATE_EDEFAULT == null ? valid_from_date != null : !VALID_FROM_DATE_EDEFAULT.equals(valid_from_date);
2115 case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE:
2116 return VALID_UNTIL_DATE_EDEFAULT == null ? valid_until_date != null : !VALID_UNTIL_DATE_EDEFAULT.equals(valid_until_date);
2117 case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING:
2118 return percentage_of_witholding != PERCENTAGE_OF_WITHOLDING_EDEFAULT;
2119 case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME:
2120 return tax_payers_name_surname != null && !tax_payers_name_surname.isEmpty();
2121 case TaxationPackage.TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME:
2122 return tax_payers_partner_name_surname != null && !tax_payers_partner_name_surname.isEmpty();
2123 case TaxationPackage.TAX_CARD__TAX_PAYERS_ADDRESS:
2124 return tax_payers_address != null;
2125 case TaxationPackage.TAX_CARD__JOBS_EMPLOYER_SS_NO:
2126 return JOBS_EMPLOYER_SS_NO_EDEFAULT == null ? jobs_Employer_SSNo != null : !JOBS_EMPLOYER_SS_NO_EDEFAULT.equals(jobs_Employer_SSNo);
2127 case TaxationPackage.TAX_CARD__JOBS_EMPLOYERS_NAME:
2128 return JOBS_EMPLOYERS_NAME_EDEFAULT == null ? jobs_employers_name != null : !JOBS_EMPLOYERS_NAME_EDEFAULT.equals(jobs_employers_name);
2129 case TaxationPackage.TAX_CARD__JOBS_ACTIVITY_TYPE:
2130 return jobs_activity_type != JOBS_ACTIVITY_TYPE_EDEFAULT;
2131 case TaxationPackage.TAX_CARD__JOBS_PLACE_OF_WORK:
2132 return jobs_place_of_work != JOBS_PLACE_OF_WORK_EDEFAULT;
2133 case TaxationPackage.TAX_CARD__DEDUCTION_FD_DAILY:
2134 return deduction_FD_daily != DEDUCTION_FD_DAILY_EDEFAULT;
2135 case TaxationPackage.TAX_CARD__DEDUCTION_FD_MONTHLY:
2136 return deduction_FD_monthly != DEDUCTION_FD_MONTHLY_EDEFAULT;
2137 case TaxationPackage.TAX_CARD__DEDUCTION_AC_DAILY:
2138 return deduction_AC_daily != DEDUCTION_AC_DAILY_EDEFAULT;
2139 case TaxationPackage.TAX_CARD__DEDUCTION_AC_MONTHLY:
2140 return deduction_AC_monthly != DEDUCTION_AC_MONTHLY_EDEFAULT;
2141 case TaxationPackage.TAX_CARD__DEDUCTION_AC_YEARLY:
2142 return deduction_AC_yearly != DEDUCTION_AC_YEARLY_EDEFAULT;
2143 case TaxationPackage.TAX_CARD__DEDUCTION_CE_DAILY:
2144 return deduction_CE_daily != DEDUCTION_CE_DAILY_EDEFAULT;
2145 case TaxationPackage.TAX_CARD__DEDUCTION_CE_MONTHLY:
2146 return deduction_CE_monthly != DEDUCTION_CE_MONTHLY_EDEFAULT;
2147 case TaxationPackage.TAX_CARD__DEDUCTION_CE_YEARLY:
2148 return deduction_CE_yearly != DEDUCTION_CE_YEARLY_EDEFAULT;
2149 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DAILY:
2150 return deduction_DS_daily != DEDUCTION_DS_DAILY_EDEFAULT;
2151 case TaxationPackage.TAX_CARD__DEDUCTION_DS_MONTHLY:
2152 return deduction_DS_monthly != DEDUCTION_DS_MONTHLY_EDEFAULT;
2153 case TaxationPackage.TAX_CARD__DEDUCTION_FO_DAILY:
2154 return deduction_FO_daily != DEDUCTION_FO_DAILY_EDEFAULT;
2155 case TaxationPackage.TAX_CARD__DEDUCTION_FO_MONTHLY:
2156 return deduction_FO_monthly != DEDUCTION_FO_MONTHLY_EDEFAULT;
2157 case TaxationPackage.TAX_CARD__DEDUCTION_FO_YEARLY:
2158 return deduction_FO_yearly != DEDUCTION_FO_YEARLY_EDEFAULT;
2159 case TaxationPackage.TAX_CARD__CREDIT_CIS_DAILY:
2160 return credit_CIS_daily != CREDIT_CIS_DAILY_EDEFAULT;
2161 case TaxationPackage.TAX_CARD__CREDIT_CIS_MONTHLY:
2162 return credit_CIS_monthly != CREDIT_CIS_MONTHLY_EDEFAULT;
2163 case TaxationPackage.TAX_CARD__CREDIT_CIM_DAILY:
2164 return credit_CIM_daily != CREDIT_CIM_DAILY_EDEFAULT;
2165 case TaxationPackage.TAX_CARD__VALIDITY:
2166 return validity != VALIDITY_EDEFAULT;
2167 case TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT:
2168 return income_Tax_Credit != null && !income_Tax_Credit.isEmpty();
2169 case TaxationPackage.TAX_CARD__PREVIOUS:
2170 return previous != null;
2171 case TaxationPackage.TAX_CARD__CURRENT_TAX_CARD:
2172 return current_tax_card != null;
2173 case TaxationPackage.TAX_CARD__CREDIT_CIM_YEARLY:
2174 return credit_CIM_yearly != CREDIT_CIM_YEARLY_EDEFAULT;
2175 case TaxationPackage.TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY:
2176 return deduction_DS_Alimony_yearly != DEDUCTION_DS_ALIMONY_YEARLY_EDEFAULT;
2177 case TaxationPackage.TAX_CARD__DEDUCTION_DS_DEBT_YEARLY:
2178 return deduction_DS_Debt_yearly != DEDUCTION_DS_DEBT_YEARLY_EDEFAULT;
2179 case TaxationPackage.TAX_CARD__INCOME:
2180 return getIncome() != null;
2181 }
2182 return super.eIsSet(featureID);
2183 }
2184
2185 /**
2186 * <!-- begin-user-doc -->
2187 * <!-- end-user-doc -->
2188 * @generated
2189 */
2190 @Override
2191 public String toString() {
2192 if (eIsProxy()) return super.toString();
2193
2194 StringBuilder result = new StringBuilder(super.toString());
2195 result.append(" (card_identifier: ");
2196 result.append(card_identifier);
2197 result.append(", tax_card_type: ");
2198 result.append(tax_card_type);
2199 result.append(", tax_office: ");
2200 result.append(tax_office);
2201 result.append(", valid_from_date: ");
2202 result.append(valid_from_date);
2203 result.append(", valid_until_date: ");
2204 result.append(valid_until_date);
2205 result.append(", percentage_of_witholding: ");
2206 result.append(percentage_of_witholding);
2207 result.append(", tax_payers_name_surname: ");
2208 result.append(tax_payers_name_surname);
2209 result.append(", tax_payers_partner_name_surname: ");
2210 result.append(tax_payers_partner_name_surname);
2211 result.append(", jobs_Employer_SSNo: ");
2212 result.append(jobs_Employer_SSNo);
2213 result.append(", jobs_employers_name: ");
2214 result.append(jobs_employers_name);
2215 result.append(", jobs_activity_type: ");
2216 result.append(jobs_activity_type);
2217 result.append(", jobs_place_of_work: ");
2218 result.append(jobs_place_of_work);
2219 result.append(", deduction_FD_daily: ");
2220 result.append(deduction_FD_daily);
2221 result.append(", deduction_FD_monthly: ");
2222 result.append(deduction_FD_monthly);
2223 result.append(", deduction_AC_daily: ");
2224 result.append(deduction_AC_daily);
2225 result.append(", deduction_AC_monthly: ");
2226 result.append(deduction_AC_monthly);
2227 result.append(", deduction_AC_yearly: ");
2228 result.append(deduction_AC_yearly);
2229 result.append(", deduction_CE_daily: ");
2230 result.append(deduction_CE_daily);
2231 result.append(", deduction_CE_monthly: ");
2232 result.append(deduction_CE_monthly);
2233 result.append(", deduction_CE_yearly: ");
2234 result.append(deduction_CE_yearly);
2235 result.append(", deduction_DS_daily: ");
2236 result.append(deduction_DS_daily);
2237 result.append(", deduction_DS_monthly: ");
2238 result.append(deduction_DS_monthly);
2239 result.append(", deduction_FO_daily: ");
2240 result.append(deduction_FO_daily);
2241 result.append(", deduction_FO_monthly: ");
2242 result.append(deduction_FO_monthly);
2243 result.append(", deduction_FO_yearly: ");
2244 result.append(deduction_FO_yearly);
2245 result.append(", credit_CIS_daily: ");
2246 result.append(credit_CIS_daily);
2247 result.append(", credit_CIS_monthly: ");
2248 result.append(credit_CIS_monthly);
2249 result.append(", credit_CIM_daily: ");
2250 result.append(credit_CIM_daily);
2251 result.append(", validity: ");
2252 result.append(validity);
2253 result.append(", credit_CIM_yearly: ");
2254 result.append(credit_CIM_yearly);
2255 result.append(", deduction_DS_Alimony_yearly: ");
2256 result.append(deduction_DS_Alimony_yearly);
2257 result.append(", deduction_DS_Debt_yearly: ");
2258 result.append(deduction_DS_Debt_yearly);
2259 result.append(')');
2260 return result.toString();
2261 }
2262
2263} //Tax_CardImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PayerImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PayerImpl.java
new file mode 100644
index 00000000..7e382d7f
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PayerImpl.java
@@ -0,0 +1,425 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Dependent;
6import Taxation.FromAgent;
7import Taxation.FromLaw;
8import Taxation.Income;
9import Taxation.Tax_Payer;
10import Taxation.TaxationPackage;
11
12import java.util.Collection;
13
14import org.eclipse.emf.common.notify.Notification;
15import org.eclipse.emf.common.notify.NotificationChain;
16
17import org.eclipse.emf.common.util.EList;
18
19import org.eclipse.emf.ecore.EClass;
20import org.eclipse.emf.ecore.InternalEObject;
21
22import org.eclipse.emf.ecore.impl.ENotificationImpl;
23
24import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Tax Payer</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link Taxation.impl.Tax_PayerImpl#getDependents <em>Dependents</em>}</li>
36 * <li>{@link Taxation.impl.Tax_PayerImpl#getFrom_agent <em>From agent</em>}</li>
37 * <li>{@link Taxation.impl.Tax_PayerImpl#getIncomes <em>Incomes</em>}</li>
38 * <li>{@link Taxation.impl.Tax_PayerImpl#getFrom_law <em>From law</em>}</li>
39 * <li>{@link Taxation.impl.Tax_PayerImpl#getTaxesDue <em>Taxes Due</em>}</li>
40 * </ul>
41 *
42 * @generated
43 */
44public abstract class Tax_PayerImpl extends Physical_PersonImpl implements Tax_Payer {
45 /**
46 * The cached value of the '{@link #getDependents() <em>Dependents</em>}' containment reference list.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getDependents()
50 * @generated
51 * @ordered
52 */
53 protected EList<Dependent> dependents;
54
55 /**
56 * The cached value of the '{@link #getFrom_agent() <em>From agent</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getFrom_agent()
60 * @generated
61 * @ordered
62 */
63 protected FromAgent from_agent;
64
65 /**
66 * The cached value of the '{@link #getIncomes() <em>Incomes</em>}' containment reference list.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getIncomes()
70 * @generated
71 * @ordered
72 */
73 protected EList<Income> incomes;
74
75 /**
76 * The cached value of the '{@link #getFrom_law() <em>From law</em>}' containment reference.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getFrom_law()
80 * @generated
81 * @ordered
82 */
83 protected FromLaw from_law;
84
85 /**
86 * The default value of the '{@link #getTaxesDue() <em>Taxes Due</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getTaxesDue()
90 * @generated
91 * @ordered
92 */
93 protected static final double TAXES_DUE_EDEFAULT = 0.0;
94
95 /**
96 * The cached value of the '{@link #getTaxesDue() <em>Taxes Due</em>}' attribute.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getTaxesDue()
100 * @generated
101 * @ordered
102 */
103 protected double taxesDue = TAXES_DUE_EDEFAULT;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 protected Tax_PayerImpl() {
111 super();
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 protected EClass eStaticClass() {
121 return TaxationPackage.Literals.TAX_PAYER;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public EList<Dependent> getDependents() {
131 if (dependents == null) {
132 dependents = new EObjectContainmentWithInverseEList<Dependent>(Dependent.class, this, TaxationPackage.TAX_PAYER__DEPENDENTS, TaxationPackage.DEPENDENT__RESPONSIBLE_PERSON);
133 }
134 return dependents;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public FromAgent getFrom_agent() {
144 return from_agent;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public NotificationChain basicSetFrom_agent(FromAgent newFrom_agent, NotificationChain msgs) {
153 FromAgent oldFrom_agent = from_agent;
154 from_agent = newFrom_agent;
155 if (eNotificationRequired()) {
156 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PAYER__FROM_AGENT, oldFrom_agent, newFrom_agent);
157 if (msgs == null) msgs = notification; else msgs.add(notification);
158 }
159 return msgs;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setFrom_agent(FromAgent newFrom_agent) {
169 if (newFrom_agent != from_agent) {
170 NotificationChain msgs = null;
171 if (from_agent != null)
172 msgs = ((InternalEObject)from_agent).eInverseRemove(this, TaxationPackage.FROM_AGENT__TAX_PAYER, FromAgent.class, msgs);
173 if (newFrom_agent != null)
174 msgs = ((InternalEObject)newFrom_agent).eInverseAdd(this, TaxationPackage.FROM_AGENT__TAX_PAYER, FromAgent.class, msgs);
175 msgs = basicSetFrom_agent(newFrom_agent, msgs);
176 if (msgs != null) msgs.dispatch();
177 }
178 else if (eNotificationRequired())
179 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PAYER__FROM_AGENT, newFrom_agent, newFrom_agent));
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public EList<Income> getIncomes() {
189 if (incomes == null) {
190 incomes = new EObjectContainmentWithInverseEList<Income>(Income.class, this, TaxationPackage.TAX_PAYER__INCOMES, TaxationPackage.INCOME__TAX_PAYER);
191 }
192 return incomes;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public FromLaw getFrom_law() {
202 return from_law;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 public NotificationChain basicSetFrom_law(FromLaw newFrom_law, NotificationChain msgs) {
211 FromLaw oldFrom_law = from_law;
212 from_law = newFrom_law;
213 if (eNotificationRequired()) {
214 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PAYER__FROM_LAW, oldFrom_law, newFrom_law);
215 if (msgs == null) msgs = notification; else msgs.add(notification);
216 }
217 return msgs;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public void setFrom_law(FromLaw newFrom_law) {
227 if (newFrom_law != from_law) {
228 NotificationChain msgs = null;
229 if (from_law != null)
230 msgs = ((InternalEObject)from_law).eInverseRemove(this, TaxationPackage.FROM_LAW__TAX_PAYER, FromLaw.class, msgs);
231 if (newFrom_law != null)
232 msgs = ((InternalEObject)newFrom_law).eInverseAdd(this, TaxationPackage.FROM_LAW__TAX_PAYER, FromLaw.class, msgs);
233 msgs = basicSetFrom_law(newFrom_law, msgs);
234 if (msgs != null) msgs.dispatch();
235 }
236 else if (eNotificationRequired())
237 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PAYER__FROM_LAW, newFrom_law, newFrom_law));
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public double getTaxesDue() {
247 return taxesDue;
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public void setTaxesDue(double newTaxesDue) {
257 double oldTaxesDue = taxesDue;
258 taxesDue = newTaxesDue;
259 if (eNotificationRequired())
260 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PAYER__TAXES_DUE, oldTaxesDue, taxesDue));
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @SuppressWarnings("unchecked")
269 @Override
270 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
271 switch (featureID) {
272 case TaxationPackage.TAX_PAYER__DEPENDENTS:
273 return ((InternalEList<InternalEObject>)(InternalEList<?>)getDependents()).basicAdd(otherEnd, msgs);
274 case TaxationPackage.TAX_PAYER__FROM_AGENT:
275 if (from_agent != null)
276 msgs = ((InternalEObject)from_agent).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.TAX_PAYER__FROM_AGENT, null, msgs);
277 return basicSetFrom_agent((FromAgent)otherEnd, msgs);
278 case TaxationPackage.TAX_PAYER__INCOMES:
279 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomes()).basicAdd(otherEnd, msgs);
280 case TaxationPackage.TAX_PAYER__FROM_LAW:
281 if (from_law != null)
282 msgs = ((InternalEObject)from_law).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TaxationPackage.TAX_PAYER__FROM_LAW, null, msgs);
283 return basicSetFrom_law((FromLaw)otherEnd, msgs);
284 }
285 return super.eInverseAdd(otherEnd, featureID, msgs);
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 @Override
294 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
295 switch (featureID) {
296 case TaxationPackage.TAX_PAYER__DEPENDENTS:
297 return ((InternalEList<?>)getDependents()).basicRemove(otherEnd, msgs);
298 case TaxationPackage.TAX_PAYER__FROM_AGENT:
299 return basicSetFrom_agent(null, msgs);
300 case TaxationPackage.TAX_PAYER__INCOMES:
301 return ((InternalEList<?>)getIncomes()).basicRemove(otherEnd, msgs);
302 case TaxationPackage.TAX_PAYER__FROM_LAW:
303 return basicSetFrom_law(null, msgs);
304 }
305 return super.eInverseRemove(otherEnd, featureID, msgs);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public Object eGet(int featureID, boolean resolve, boolean coreType) {
315 switch (featureID) {
316 case TaxationPackage.TAX_PAYER__DEPENDENTS:
317 return getDependents();
318 case TaxationPackage.TAX_PAYER__FROM_AGENT:
319 return getFrom_agent();
320 case TaxationPackage.TAX_PAYER__INCOMES:
321 return getIncomes();
322 case TaxationPackage.TAX_PAYER__FROM_LAW:
323 return getFrom_law();
324 case TaxationPackage.TAX_PAYER__TAXES_DUE:
325 return getTaxesDue();
326 }
327 return super.eGet(featureID, resolve, coreType);
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 @SuppressWarnings("unchecked")
336 @Override
337 public void eSet(int featureID, Object newValue) {
338 switch (featureID) {
339 case TaxationPackage.TAX_PAYER__DEPENDENTS:
340 getDependents().clear();
341 getDependents().addAll((Collection<? extends Dependent>)newValue);
342 return;
343 case TaxationPackage.TAX_PAYER__FROM_AGENT:
344 setFrom_agent((FromAgent)newValue);
345 return;
346 case TaxationPackage.TAX_PAYER__INCOMES:
347 getIncomes().clear();
348 getIncomes().addAll((Collection<? extends Income>)newValue);
349 return;
350 case TaxationPackage.TAX_PAYER__FROM_LAW:
351 setFrom_law((FromLaw)newValue);
352 return;
353 case TaxationPackage.TAX_PAYER__TAXES_DUE:
354 setTaxesDue((Double)newValue);
355 return;
356 }
357 super.eSet(featureID, newValue);
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 @Override
366 public void eUnset(int featureID) {
367 switch (featureID) {
368 case TaxationPackage.TAX_PAYER__DEPENDENTS:
369 getDependents().clear();
370 return;
371 case TaxationPackage.TAX_PAYER__FROM_AGENT:
372 setFrom_agent((FromAgent)null);
373 return;
374 case TaxationPackage.TAX_PAYER__INCOMES:
375 getIncomes().clear();
376 return;
377 case TaxationPackage.TAX_PAYER__FROM_LAW:
378 setFrom_law((FromLaw)null);
379 return;
380 case TaxationPackage.TAX_PAYER__TAXES_DUE:
381 setTaxesDue(TAXES_DUE_EDEFAULT);
382 return;
383 }
384 super.eUnset(featureID);
385 }
386
387 /**
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 */
392 @Override
393 public boolean eIsSet(int featureID) {
394 switch (featureID) {
395 case TaxationPackage.TAX_PAYER__DEPENDENTS:
396 return dependents != null && !dependents.isEmpty();
397 case TaxationPackage.TAX_PAYER__FROM_AGENT:
398 return from_agent != null;
399 case TaxationPackage.TAX_PAYER__INCOMES:
400 return incomes != null && !incomes.isEmpty();
401 case TaxationPackage.TAX_PAYER__FROM_LAW:
402 return from_law != null;
403 case TaxationPackage.TAX_PAYER__TAXES_DUE:
404 return taxesDue != TAXES_DUE_EDEFAULT;
405 }
406 return super.eIsSet(featureID);
407 }
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 @Override
415 public String toString() {
416 if (eIsProxy()) return super.toString();
417
418 StringBuilder result = new StringBuilder(super.toString());
419 result.append(" (taxesDue: ");
420 result.append(taxesDue);
421 result.append(')');
422 return result.toString();
423 }
424
425} //Tax_PayerImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java
new file mode 100644
index 00000000..e1ed46e4
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java
@@ -0,0 +1,323 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Legal_Union_Record;
6import Taxation.Tax_Property;
7import Taxation.TaxationPackage;
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EcoreUtil;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Tax Property</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link Taxation.impl.Tax_PropertyImpl#getStarting_year <em>Starting year</em>}</li>
28 * <li>{@link Taxation.impl.Tax_PropertyImpl#getId10 <em>Id10</em>}</li>
29 * <li>{@link Taxation.impl.Tax_PropertyImpl#getUnion_record <em>Union record</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class Tax_PropertyImpl extends MinimalEObjectImpl.Container implements Tax_Property {
35 /**
36 * The default value of the '{@link #getStarting_year() <em>Starting year</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getStarting_year()
40 * @generated
41 * @ordered
42 */
43 protected static final int STARTING_YEAR_EDEFAULT = 0;
44
45 /**
46 * The cached value of the '{@link #getStarting_year() <em>Starting year</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getStarting_year()
50 * @generated
51 * @ordered
52 */
53 protected int starting_year = STARTING_YEAR_EDEFAULT;
54
55 /**
56 * The default value of the '{@link #getId10() <em>Id10</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getId10()
60 * @generated
61 * @ordered
62 */
63 protected static final String ID10_EDEFAULT = null;
64
65 /**
66 * The cached value of the '{@link #getId10() <em>Id10</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getId10()
70 * @generated
71 * @ordered
72 */
73 protected String id10 = ID10_EDEFAULT;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected Tax_PropertyImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return TaxationPackage.Literals.TAX_PROPERTY;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public int getStarting_year() {
101 return starting_year;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setStarting_year(int newStarting_year) {
111 int oldStarting_year = starting_year;
112 starting_year = newStarting_year;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PROPERTY__STARTING_YEAR, oldStarting_year, starting_year));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public String getId10() {
124 return id10;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void setId10(String newId10) {
134 String oldId10 = id10;
135 id10 = newId10;
136 if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PROPERTY__ID10, oldId10, id10));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public Legal_Union_Record getUnion_record() {
147 if (eContainerFeatureID() != TaxationPackage.TAX_PROPERTY__UNION_RECORD) return null;
148 return (Legal_Union_Record)eInternalContainer();
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public NotificationChain basicSetUnion_record(Legal_Union_Record newUnion_record, NotificationChain msgs) {
157 msgs = eBasicSetContainer((InternalEObject)newUnion_record, TaxationPackage.TAX_PROPERTY__UNION_RECORD, msgs);
158 return msgs;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public void setUnion_record(Legal_Union_Record newUnion_record) {
168 if (newUnion_record != eInternalContainer() || (eContainerFeatureID() != TaxationPackage.TAX_PROPERTY__UNION_RECORD && newUnion_record != null)) {
169 if (EcoreUtil.isAncestor(this, newUnion_record))
170 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
171 NotificationChain msgs = null;
172 if (eInternalContainer() != null)
173 msgs = eBasicRemoveFromContainer(msgs);
174 if (newUnion_record != null)
175 msgs = ((InternalEObject)newUnion_record).eInverseAdd(this, TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES, Legal_Union_Record.class, msgs);
176 msgs = basicSetUnion_record(newUnion_record, msgs);
177 if (msgs != null) msgs.dispatch();
178 }
179 else if (eNotificationRequired())
180 eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_PROPERTY__UNION_RECORD, newUnion_record, newUnion_record));
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
190 switch (featureID) {
191 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
192 if (eInternalContainer() != null)
193 msgs = eBasicRemoveFromContainer(msgs);
194 return basicSetUnion_record((Legal_Union_Record)otherEnd, msgs);
195 }
196 return super.eInverseAdd(otherEnd, featureID, msgs);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
206 switch (featureID) {
207 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
208 return basicSetUnion_record(null, msgs);
209 }
210 return super.eInverseRemove(otherEnd, featureID, msgs);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
220 switch (eContainerFeatureID()) {
221 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
222 return eInternalContainer().eInverseRemove(this, TaxationPackage.LEGAL_UNION_RECORD__PROPERTIES, Legal_Union_Record.class, msgs);
223 }
224 return super.eBasicRemoveFromContainerFeature(msgs);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public Object eGet(int featureID, boolean resolve, boolean coreType) {
234 switch (featureID) {
235 case TaxationPackage.TAX_PROPERTY__STARTING_YEAR:
236 return getStarting_year();
237 case TaxationPackage.TAX_PROPERTY__ID10:
238 return getId10();
239 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
240 return getUnion_record();
241 }
242 return super.eGet(featureID, resolve, coreType);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public void eSet(int featureID, Object newValue) {
252 switch (featureID) {
253 case TaxationPackage.TAX_PROPERTY__STARTING_YEAR:
254 setStarting_year((Integer)newValue);
255 return;
256 case TaxationPackage.TAX_PROPERTY__ID10:
257 setId10((String)newValue);
258 return;
259 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
260 setUnion_record((Legal_Union_Record)newValue);
261 return;
262 }
263 super.eSet(featureID, newValue);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public void eUnset(int featureID) {
273 switch (featureID) {
274 case TaxationPackage.TAX_PROPERTY__STARTING_YEAR:
275 setStarting_year(STARTING_YEAR_EDEFAULT);
276 return;
277 case TaxationPackage.TAX_PROPERTY__ID10:
278 setId10(ID10_EDEFAULT);
279 return;
280 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
281 setUnion_record((Legal_Union_Record)null);
282 return;
283 }
284 super.eUnset(featureID);
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 @Override
293 public boolean eIsSet(int featureID) {
294 switch (featureID) {
295 case TaxationPackage.TAX_PROPERTY__STARTING_YEAR:
296 return starting_year != STARTING_YEAR_EDEFAULT;
297 case TaxationPackage.TAX_PROPERTY__ID10:
298 return ID10_EDEFAULT == null ? id10 != null : !ID10_EDEFAULT.equals(id10);
299 case TaxationPackage.TAX_PROPERTY__UNION_RECORD:
300 return getUnion_record() != null;
301 }
302 return super.eIsSet(featureID);
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public String toString() {
312 if (eIsProxy()) return super.toString();
313
314 StringBuilder result = new StringBuilder(super.toString());
315 result.append(" (starting_year: ");
316 result.append(starting_year);
317 result.append(", id10: ");
318 result.append(id10);
319 result.append(')');
320 return result.toString();
321 }
322
323} //Tax_PropertyImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore
new file mode 100644
index 00000000..7834561d
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore
@@ -0,0 +1,1257 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Taxation" nsURI="http:///TaxCardOld.ecore" nsPrefix="TaxCard">
4 <eAnnotations source="http://www.eclipse.org/OCL/Import">
5 <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EEnum" name="Grantor">
8 <eLiterals name="WWW" literal="WWW"/>
9 <eLiterals name="Employer" value="1" literal="Employer"/>
10 <eLiterals name="MMM" value="2" literal="MMM"/>
11 <eLiterals name="UUU" value="3" literal="UUU"/>
12 <eLiterals name="YYY" value="4" literal="YYY"/>
13 <eLiterals name="OOO" value="5" literal="OOO"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="Constants" abstract="true">
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD"
17 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
18 defaultValueLiteral="3480.0"/>
19 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE"
20 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
21 defaultValueLiteral="3600.0"/>
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMUM_SALARY" lowerBound="1"
23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1500.0"/>
24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION"
25 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
26 defaultValueLiteral="4500.0"/>
27 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS"
28 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
29 defaultValueLiteral="20.0"/>
30 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS"
31 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
32 defaultValueLiteral="120.0"/>
33 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC"
34 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
35 defaultValueLiteral="0.0"/>
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE"
37 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
38 defaultValueLiteral="24000.0"/>
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION"
40 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
41 defaultValueLiteral="99.0"/>
42 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION"
43 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
44 defaultValueLiteral="30.0"/>
45 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION"
46 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
47 defaultValueLiteral="4.0"/>
48 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_DAILY" lowerBound="1"
49 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="2.0"/>
50 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_MONTHLY"
51 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
52 defaultValueLiteral="62.0"/>
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_YEARLY" lowerBound="1"
54 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="750.0"/>
55 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_DAILY" lowerBound="1"
56 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
57 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_MONTHLY"
58 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
59 defaultValueLiteral="25.0"/>
60 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_YEARLY" lowerBound="1"
61 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="30.0"/>
62 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_DAILY" lowerBound="1"
63 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
64 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_MONTHLY"
65 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
66 defaultValueLiteral="25.0"/>
67 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_YEARLY" lowerBound="1"
68 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="300.0"/>
69 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT"
70 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
71 defaultValueLiteral="99.0"/>
72 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS"
73 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
74 <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE"
75 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
76 <eStructuralFeatures xsi:type="ecore:EAttribute" name="DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE"
77 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
78 <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE"
79 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
80 </eClassifiers>
81 <eClassifiers xsi:type="ecore:EEnum" name="Disability_Types">
82 <eLiterals name="beug"/>
83 <eLiterals name="NONE" value="1"/>
84 <eLiterals name="A" value="2" literal="A"/>
85 <eLiterals name="B" value="3" literal="B"/>
86 <eLiterals name="C" value="4" literal="C"/>
87 <eLiterals name="D" value="5" literal="D"/>
88 <eLiterals name="E" value="6" literal="E"/>
89 <eLiterals name="OTHER" value="7"/>
90 </eClassifiers>
91 <eClassifiers xsi:type="ecore:EEnum" name="Country">
92 <eLiterals name="ZZ" literal="ZZ"/>
93 <eLiterals name="FF" value="1" literal="FF"/>
94 <eLiterals name="BB" value="2" literal="BB"/>
95 <eLiterals name="DD" value="3" literal="DD"/>
96 <eLiterals name="NN" value="4" literal="NN"/>
97 <eLiterals name="OTHER" value="5" literal="OTHER"/>
98 </eClassifiers>
99 <eClassifiers xsi:type="ecore:EEnum" name="Tax_Card_Type">
100 <eLiterals name="Principal" literal="Principal"/>
101 <eLiterals name="Additional" value="1" literal="Additional"/>
102 </eClassifiers>
103 <eClassifiers xsi:type="ecore:EEnum" name="Tax_Office">
104 <eLiterals name="RTS_2" literal="RTS_2"/>
105 <eLiterals name="RTS_3" value="1" literal="RTS_3"/>
106 <eLiterals name="RTS_4" value="2" literal="RTS_4"/>
107 <eLiterals name="RTS_5" value="3" literal="RTS_5"/>
108 </eClassifiers>
109 <eClassifiers xsi:type="ecore:EEnum" name="Tax_Class_Category">
110 <eLiterals name="One" literal="One"/>
111 <eLiterals name="One_A" value="1" literal="One_A"/>
112 <eLiterals name="Two" value="2" literal="Two"/>
113 </eClassifiers>
114 <eClassifiers xsi:type="ecore:EEnum" name="Job_Activity">
115 <eLiterals name="Salary" literal="Salary"/>
116 <eLiterals name="Pension" value="1" literal="Pension"/>
117 <eLiterals name="Annuity" value="2" literal="Annuity"/>
118 </eClassifiers>
119 <eClassifiers xsi:type="ecore:EEnum" name="Town">
120 <eLiterals name="LL" literal="LL"/>
121 <eLiterals name="BB" value="1" literal="BB"/>
122 <eLiterals name="SS" value="2" literal="SS"/>
123 <eLiterals name="TT" value="3" literal="TT"/>
124 <eLiterals name="Other" value="4" literal="Other"/>
125 </eClassifiers>
126 <eClassifiers xsi:type="ecore:EEnum" name="Type_of_Rate">
127 <eLiterals name="REGULAR" literal="REGULAR"/>
128 <eLiterals name="REAL_COST" value="1" literal="REAL_COST"/>
129 </eClassifiers>
130 <eClassifiers xsi:type="ecore:EEnum" name="CE_Type">
131 <eLiterals name="INALIDITY_AND_INFIRMITY" literal="INALIDITY_AND_INFIRMITY"/>
132 <eLiterals name="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD"
133 value="1" literal="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD"/>
134 <eLiterals name="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD" value="2" literal="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD"/>
135 </eClassifiers>
136 <eClassifiers xsi:type="ecore:EEnum" name="Expense_Purpose">
137 <eLiterals name="HOUSE_CARE" literal="HOUSE_CARE"/>
138 <eLiterals name="CHILD_CARE" value="1" literal="CHILD_CARE"/>
139 <eLiterals name="DEPENDENCE_CARE" value="2" literal="DEPENDENCE_CARE"/>
140 <eLiterals name="OTHER" value="3" literal="OTHER"/>
141 <eLiterals name="ALIMONY" value="4"/>
142 <eLiterals name="RECURRENT_DEPT" value="5"/>
143 </eClassifiers>
144 <eClassifiers xsi:type="ecore:EEnum" name="Dependent_Type">
145 <eLiterals name="CHILD" literal="CHILD"/>
146 <eLiterals name="SPOUSE" value="1" literal="SPOUSE"/>
147 <eLiterals name="RELATIVE" value="2" literal="RELATIVE"/>
148 <eLiterals name="OTHER_FAMILY_MEMBER" value="3" literal="OTHER_FAMILY_MEMBER"/>
149 <eLiterals name="NOT_OWN_CHILD" value="4"/>
150 </eClassifiers>
151 <eClassifiers xsi:type="ecore:EClass" name="Income_Tax">
152 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1"
153 eType="#//Tax_Payer"/>
154 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_amount" lowerBound="1"
155 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
156 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_year" lowerBound="1"
157 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
158 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id6" ordered="false" lowerBound="1"
159 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
160 </eClassifiers>
161 <eClassifiers xsi:type="ecore:EClass" name="Tax_Payer" abstract="true" eSuperTypes="#//Physical_Person #//Tax_Case">
162 <eAnnotations source="duplicates">
163 <contents xsi:type="ecore:EReference" name="expenses" ordered="false" upperBound="-1"
164 eType="#//Expense" containment="true">
165 <eAnnotations source="redefines" references="#//Physical_Person/expenses"/>
166 </contents>
167 </eAnnotations>
168 <eOperations name="is_dependent_part_of_the_household" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
169 <eParameters name="IN_dependent" lowerBound="1" eType="#//Dependent"/>
170 </eOperations>
171 <eOperations name="number_of_months_of_allowance" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
172 <eOperations name="deduction_according_disability_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
173 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
174 <details key="body" value="if ( self.disability_percentage >= 0.25 and self.disability_percentage &lt; 0.35) then&#xA;&#x9;&#x9;&#x9;150.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.35 and self.disability_percentage &lt; 0.45) then&#xA;&#x9;&#x9;&#x9;225.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.45 and self.disability_percentage &lt;0.55) then&#xA;&#x9;&#x9;&#x9;375.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.55 and self.disability_percentage &lt; 0.65 ) then&#xA;&#x9;&#x9;&#x9;450.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.65 and self.disability_percentage &lt; 0.75) then&#xA;&#x9;&#x9;&#x9;525.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.75 and self.disability_percentage &lt; 0.85) then&#xA;&#x9;&#x9;&#x9;585.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.85 and self.disability_percentage&lt; 0.95) then&#xA;&#x9;&#x9;&#x9;645.0&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.95 and self.disability_percentage&lt;=1)then&#xA;&#x9;&#x9;&#x9;735.0 else 0.0 endif endif endif endif endif endif endif endif"/>
175 </eAnnotations>
176 </eOperations>
177 <eOperations name="getIsTaxedJointly" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
178 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
179 <details key="body" value="let is_married:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Marriage_Record) endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;/** Description: - **/&#x9;&#xA;if (is_married) = false then&#xA; let is_in_partnership_relation:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Partnership_Record) endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_in_partnership_relation) = false then&#xA; false&#xA; else&#xA; if (is_in_partnership_relation) = true then&#xA; let is_joint_tax_beneficial:Boolean = true in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_joint_tax_beneficial) = true then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let relation_lasted_for_the_taxation_year:Boolean = true in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = false then&#xA; false&#xA; else&#xA; if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = true then&#xA; let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_resident) = true then&#xA; true&#xA; else&#xA; if (are_both_spouses_resident) = false then&#xA; let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_non_resident) = false then&#xA; false&#xA; else&#xA; if (are_both_spouses_non_resident) = true then&#xA; let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) &#xA; &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif&#xA; in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let non_resident_taxpayer_in_Belgium:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = true then&#xA; true&#xA; else&#xA; if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_joint_tax_beneficial) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA;else&#xA; if (is_married) = true then&#xA; let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_resident) = true then&#xA; true&#xA; else&#xA; if (are_both_spouses_resident) = false then&#xA; let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_non_resident) = true then&#xA; let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif&#xA; in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let non_resident_taxpayer_in_Belgium:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let is_couple_assimilated_to_residents:Boolean = (resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_assimilated_to_residents) = true then&#xA; true&#xA; else&#xA; if (is_couple_assimilated_to_residents) = false then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_living_apart) = true then&#xA; false&#xA; else&#xA; if (is_couple_living_apart) = false then&#xA; let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (both_spouses_have_professional_income) = true then&#xA; let local_professional_household_income:Real = self.getProfetionalIncomeHouseholdZZ(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (local_professional_household_income > total_professional_household_income * 0.5) = false then&#xA; false&#xA; else&#xA; if (local_professional_household_income > total_professional_household_income * 0.5) = true then&#xA; true&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (both_spouses_have_professional_income) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (are_both_spouses_non_resident) = false then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_living_apart) = true then&#xA; false&#xA; else&#xA; if (is_couple_living_apart) = false then&#xA; let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (both_spouses_have_professional_income) = true then&#xA; let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let professional_income_resident_taxpayer:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes->oclIsInvalid()) then 0.0 else my_incomes.income_amount->sum() endif else if(spouse_incomes->oclIsInvalid()) then 0.0 else spouse_incomes.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = false then&#xA; false&#xA; else&#xA; if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = true then&#xA; true&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (both_spouses_have_professional_income) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA;endif"/>
180 </eAnnotations>
181 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
182 </eOperations>
183 <eOperations name="getIsreceivingAllowancesForChildren" ordered="false" lowerBound="1"
184 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
185 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
186 <details key="body" value="let children1:Set(Dependent)=self.dependents->select(dependent_type=Dependent_Type::CHILD) in&#xA;&#x9;&#x9;&#x9;let union:Legal_Union_Record=self.getLegalUnionRecord(year) in&#xA;&#x9;&#x9;&#x9;let house: Household = union.household in&#xA;&#x9;&#x9;&#x9;let children:Set(Dependent)=if (house.oclIsInvalid()) then children1 else children1->union(house.children) endif in&#xA;&#x9;&#x9;&#x9;if(children->size()=0)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let allowances:Boolean=children.allowances->select(starting_year&lt;=year and ending_year=-1 and amount>0)->size()>0in&#xA;&#x9;&#x9;&#x9;if(allowances)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;endif"/>
187 </eAnnotations>
188 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
189 </eOperations>
190 <eOperations name="getProfetionalIncomeHousehold" ordered="false" lowerBound="1"
191 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
192 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
193 <details key="body" value="let spouse:Physical_Person= self.getSpouse(year)in&#xA;&#x9;&#x9;&#x9;let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in&#xA;&#x9;&#x9;&#x9;let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in&#xA;&#x9;&#x9;&#x9;let myPart:Real= if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(include_spouse=false)then&#xA;&#x9;&#x9;&#x9;myPart&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in&#xA;&#x9;&#x9;&#x9;let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;myPart+herPart&#xA;&#x9;&#x9;&#x9;endif"/>
194 </eAnnotations>
195 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
196 </eOperations>
197 <eOperations name="getProfetionalIncomeHouseholdZZ" ordered="false" lowerBound="1"
198 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
199 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
200 <details key="body" value="let spouse:Physical_Person= self.getSpouse(year)in&#xA;&#x9;&#x9;&#x9;let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in&#xA;&#x9;&#x9;&#x9;let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) in&#xA;&#x9;&#x9;&#x9;let myPart:Real=if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(include_spouse=false)then&#xA;&#x9;&#x9;&#x9;myPart&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)and i.oclIsTypeOf(Local_Income)) in&#xA;&#x9;&#x9;&#x9;let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;myPart+herPart&#xA;&#x9;&#x9;&#x9;endif"/>
201 </eAnnotations>
202 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
203 </eOperations>
204 <eOperations name="getTaxClass" ordered="false" lowerBound="1" eType="#//Tax_Class_Category">
205 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
206 <details key="body" value="let is_resident_taxpayer:Boolean = self.oclIsKindOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;/** Description: Returns yes if a given taxpayer is a resident. - **/&#x9;&#xA;if (is_resident_taxpayer) = true then&#xA; let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/&#x9;&#xA; if (is_taxed_jointly) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (is_taxed_jointly) = false then&#xA; let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/&#x9;&#xA; let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: &quot;Separation de fait&quot;. - **/&#x9;&#xA; let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: &quot;Separation de corps&quot;. - **/&#x9;&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then&#xA; let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/&#x9;&#xA; if (can_beneficiate_from_transition_state ) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (can_beneficiate_from_transition_state ) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA;else&#xA; if (is_resident_taxpayer) = false then&#xA; let is_married:Boolean = self.getIsMaried(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married. - **/&#x9;&#xA; if (is_married) = false then&#xA; let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/&#x9;&#xA; if (is_taxed_jointly) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (is_taxed_jointly) = false then&#xA; let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/&#x9;&#xA; let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: &quot;Separation de fait&quot;. - **/&#x9;&#xA; let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: &quot;Separation de corps&quot;. - **/&#x9;&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then&#xA; let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/&#x9;&#xA; if (can_beneficiate_from_transition_state ) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (can_beneficiate_from_transition_state ) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_married) = true then&#xA; let total_professional_income_household:Real = self.getProfetionalIncomeHousehold(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the sum of the taxpayer's household professional incomes. - **/&#x9;&#xA; let sum_professional_income_household_ZZ:Real = self.getProfetionalIncomeHouseholdZZ(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the sum of the taxpayer's household professional incomes that are taxed in ZZ. - **/&#x9;&#xA; if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA;endif"/>
207 </eAnnotations>
208 <eParameters name="taxation_year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
209 </eOperations>
210 <eStructuralFeatures xsi:type="ecore:EReference" name="dependents" ordered="false"
211 upperBound="-1" eType="#//Dependent" containment="true" eOpposite="#//Dependent/responsible_person"/>
212 <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" lowerBound="1"
213 eType="#//FromAgent" containment="true" eOpposite="#//FromAgent/taxPayer"/>
214 <eStructuralFeatures xsi:type="ecore:EReference" name="incomes" ordered="false"
215 lowerBound="1" upperBound="-1" eType="#//Income" containment="true" eOpposite="#//Income/taxPayer"/>
216 <eStructuralFeatures xsi:type="ecore:EReference" name="from_law" lowerBound="1"
217 eType="#//FromLaw" containment="true" eOpposite="#//FromLaw/taxPayer"/>
218 <eStructuralFeatures xsi:type="ecore:EAttribute" name="AEP_deduction" ordered="false"
219 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
220 <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxesDue" ordered="false"
221 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
222 </eClassifiers>
223 <eClassifiers xsi:type="ecore:EClass" name="Physical_Person">
224 <eOperations name="is_separated_from" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
225 <eParameters name="IN_person" lowerBound="1" eType="#//Physical_Person"/>
226 </eOperations>
227 <eOperations name="is_person_affiliated_personnaly_to_social_security" lowerBound="1"
228 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
229 <eOperations name="getSeperationState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
230 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
231 <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.separation_cause=seperation_type&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
232 </eAnnotations>
233 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
234 <eParameters name="seperation_type" ordered="false" lowerBound="1" eType="#//Separation_Causes"/>
235 </eOperations>
236 <eOperations name="getAge" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
237 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
238 <details key="body" value="&#x9;if(birth_year>=year )then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;year-birth_year&#xA;&#x9;&#x9;&#x9;endif"/>
239 </eAnnotations>
240 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
241 </eOperations>
242 <eOperations name="getIsMaried" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
243 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
244 <details key="body" value="&#x9;let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self) and oclIsKindOf(Marriage_Record))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
245 </eAnnotations>
246 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
247 </eOperations>
248 <eOperations name="getSeperationYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
249 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
250 <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.oclIsUndefined()) then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.end_year&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
251 </eAnnotations>
252 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
253 </eOperations>
254 <eOperations name="getDivorceTransitionState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
255 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
256 <details key="body" value="let sep_year:Integer=self.getSeperationYear(year) in&#xA;&#x9;&#x9;&#x9;if(sep_year=-1)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if( (sep_year &lt;= year and sep_year >= (year -3))=false) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let past_sep_year:Integer=self.getSeperationYear(year-5) in&#xA;&#x9;&#x9;&#x9;if(past_sep_year=-1)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
257 </eAnnotations>
258 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
259 </eOperations>
260 <eOperations name="getSpouse" ordered="false" lowerBound="1" eType="#//Physical_Person">
261 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
262 <details key="body" value="&#x9;let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;let union:Legal_Union_Record=self.getLegalUnionRecord(year) in &#xA;&#x9;&#x9;&#x9;if(union.oclIsInvalid())then&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9; if(union.individual_B=self) then union.individual_A.oclAsType(Physical_Person) else union.individual_B.oclAsType(Physical_Person) endif endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(lasted_union.individual_A=self)then&#xA;&#x9;&#x9;&#x9;lasted_union.individual_B&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.individual_A&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
263 </eAnnotations>
264 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
265 </eOperations>
266 <eOperations name="getLegalUnionRecord" ordered="false" lowerBound="1" eType="#//Legal_Union_Record">
267 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
268 <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;lasted_union&#xA;&#x9;&#x9;&#x9;endif"/>
269 </eAnnotations>
270 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
271 </eOperations>
272 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" unique="false"
273 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
274 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_assisting_spouse" lowerBound="1"
275 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" derived="true"/>
276 <eStructuralFeatures xsi:type="ecore:EAttribute" name="SSNo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
277 iD="true"/>
278 <eStructuralFeatures xsi:type="ecore:EReference" name="addresses" ordered="false"
279 upperBound="-1" eType="#//Address" eOpposite="#//Address/taxPayer"/>
280 <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_year" ordered="false"
281 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
282 <eStructuralFeatures xsi:type="ecore:EAttribute" name="disability_percentage"
283 ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
284 <eStructuralFeatures xsi:type="ecore:EAttribute" name="disability_type" ordered="false"
285 unique="false" lowerBound="1" eType="#//Disability_Types"/>
286 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_affiliated_personnaly_to_social_security"
287 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
288 derived="true"/>
289 <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_month" ordered="false"
290 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
291 <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_day" ordered="false"
292 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
293 <eStructuralFeatures xsi:type="ecore:EReference" name="expenses" ordered="false"
294 upperBound="-1" eType="#//Expense" eOpposite="#//Expense/beneficiary"/>
295 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_widower" ordered="false"
296 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
297 <eStructuralFeatures xsi:type="ecore:EAttribute" name="last_start_year_widower"
298 ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
299 </eClassifiers>
300 <eClassifiers xsi:type="ecore:EClass" name="Address">
301 <eStructuralFeatures xsi:type="ecore:EAttribute" name="country" lowerBound="1"
302 eType="#//Country" defaultValueLiteral="ZZ"/>
303 <eStructuralFeatures xsi:type="ecore:EAttribute" name="street" lowerBound="1"
304 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
305 <eStructuralFeatures xsi:type="ecore:EAttribute" name="zipCode" lowerBound="1"
306 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
307 <eStructuralFeatures xsi:type="ecore:EAttribute" name="city" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
308 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id2" ordered="false" lowerBound="1"
309 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
310 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" ordered="false"
311 upperBound="-1" eType="#//Physical_Person" eOpposite="#//Physical_Person/addresses"/>
312 </eClassifiers>
313 <eClassifiers xsi:type="ecore:EClass" name="Expense">
314 <eStructuralFeatures xsi:type="ecore:EAttribute" name="declared_amount" lowerBound="1"
315 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
316 <eStructuralFeatures xsi:type="ecore:EAttribute" name="expense_purpose" lowerBound="1"
317 eType="#//Expense_Purpose" defaultValueLiteral="OTHER"/>
318 <eStructuralFeatures xsi:type="ecore:EReference" name="dependent" eType="#//Dependent"
319 eOpposite="#//Dependent/expense"/>
320 <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" ordered="false"
321 eType="#//FromAgent" eOpposite="#//FromAgent/expense"/>
322 <eStructuralFeatures xsi:type="ecore:EAttribute" name="year_expense_was_incurred_in"
323 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
324 <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1"
325 eType="#//Income" eOpposite="#//Income/expenses"/>
326 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id4" ordered="false" lowerBound="1"
327 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
328 <eStructuralFeatures xsi:type="ecore:EReference" name="beneficiary" ordered="false"
329 eType="#//Physical_Person" eOpposite="#//Physical_Person/expenses"/>
330 </eClassifiers>
331 <eClassifiers xsi:type="ecore:EClass" name="Dependent" eSuperTypes="#//Physical_Person">
332 <eOperations name="compute_if_dependent_receives_allowances_eligible_for_CIM"
333 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
334 <eOperations name="compute_if_dependent_receives_allowances_eligible_for_DS" lowerBound="1"
335 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
336 <eOperations name="compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care"
337 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
338 <eOperations name="is_dependent_following_continued_studies" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
339 <eParameters name="IN_continued_studies" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
340 </eOperations>
341 <eStructuralFeatures xsi:type="ecore:EAttribute" name="dependent_type" lowerBound="1"
342 eType="#//Dependent_Type"/>
343 <eStructuralFeatures xsi:type="ecore:EReference" name="responsible_person" eType="#//Tax_Payer"
344 eOpposite="#//Tax_Payer/dependents"/>
345 <eStructuralFeatures xsi:type="ecore:EAttribute" name="continued_studies" lowerBound="1"
346 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
347 <eStructuralFeatures xsi:type="ecore:EReference" name="allowances" ordered="false"
348 upperBound="-1" eType="#//External_Allowance" containment="true" eOpposite="#//External_Allowance/person"/>
349 <eStructuralFeatures xsi:type="ecore:EReference" name="household" ordered="false"
350 eType="#//Household" eOpposite="#//Household/children"/>
351 <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" ordered="false"
352 eType="#//FromAgent" eOpposite="#//FromAgent/dependent"/>
353 <eStructuralFeatures xsi:type="ecore:EReference" name="expense" ordered="false"
354 upperBound="-1" eType="#//Expense" eOpposite="#//Expense/dependent"/>
355 </eClassifiers>
356 <eClassifiers xsi:type="ecore:EClass" name="External_Allowance">
357 <eOperations name="getAmount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
358 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
359 <details key="body" value=" if(dep_age>=6 and dep_age&lt;=11) then&#xA;(base + 16.17).round()&#xA; else if (dep_age>=12) then (base + 48.52).round() else &#xA; if(is_disabled) then(base + 185.60).round() else base endif endif endif"/>
360 </eAnnotations>
361 <eParameters name="base" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
362 <eParameters name="dep_age" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
363 <eParameters name="is_disabled" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
364 </eOperations>
365 <eOperations name="round_lower_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
366 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
367 <details key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()"/>
368 </eAnnotations>
369 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
370 </eOperations>
371 <eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1"
372 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
373 <eStructuralFeatures xsi:type="ecore:EAttribute" name="grantor" lowerBound="1"
374 eType="#//Grantor"/>
375 <eStructuralFeatures xsi:type="ecore:EAttribute" name="starting_year" ordered="false"
376 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
377 <eStructuralFeatures xsi:type="ecore:EAttribute" name="ending_year" ordered="false"
378 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
379 <eStructuralFeatures xsi:type="ecore:EReference" name="reciver" ordered="false"
380 lowerBound="1" eType="#//Physical_Person"/>
381 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id5" ordered="false" lowerBound="1"
382 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
383 <eStructuralFeatures xsi:type="ecore:EReference" name="person" ordered="false"
384 lowerBound="1" eType="#//Dependent" eOpposite="#//Dependent/allowances"/>
385 </eClassifiers>
386 <eClassifiers xsi:type="ecore:EClass" name="Household" eSuperTypes="#//Tax_Case">
387 <eStructuralFeatures xsi:type="ecore:EReference" name="parents" ordered="false"
388 lowerBound="1" eType="#//Legal_Union_Record" containment="true" eOpposite="#//Legal_Union_Record/household"/>
389 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id1" ordered="false" lowerBound="1"
390 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
391 <eStructuralFeatures xsi:type="ecore:EReference" name="children" ordered="false"
392 upperBound="-1" eType="#//Dependent" containment="true" eOpposite="#//Dependent/household"/>
393 </eClassifiers>
394 <eClassifiers xsi:type="ecore:EClass" name="Legal_Union_Record" abstract="true">
395 <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_year" lowerBound="1"
396 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
397 <eStructuralFeatures xsi:type="ecore:EAttribute" name="end_year" lowerBound="1"
398 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
399 <eStructuralFeatures xsi:type="ecore:EAttribute" name="separation_cause" ordered="false"
400 lowerBound="1" eType="#//Separation_Causes"/>
401 <eStructuralFeatures xsi:type="ecore:EReference" name="individual_A" ordered="false"
402 lowerBound="1" eType="#//Physical_Person" containment="true">
403 <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
404 <details key="body" value="legal_union_A"/>
405 </eAnnotations>
406 </eStructuralFeatures>
407 <eStructuralFeatures xsi:type="ecore:EReference" name="individual_B" ordered="false"
408 lowerBound="1" eType="#//Physical_Person" containment="true">
409 <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
410 <details key="body" value="legal_union_B"/>
411 </eAnnotations>
412 </eStructuralFeatures>
413 <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"
414 lowerBound="1" upperBound="-1" eType="#//Tax_Property" containment="true"
415 eOpposite="#//Tax_Property/union_record"/>
416 <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutual_agreement" ordered="false"
417 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
418 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id9" ordered="false" lowerBound="1"
419 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
420 <eStructuralFeatures xsi:type="ecore:EReference" name="household" ordered="false"
421 lowerBound="1" eType="#//Household" eOpposite="#//Household/parents"/>
422 </eClassifiers>
423 <eClassifiers xsi:type="ecore:EEnum" name="Separation_Causes">
424 <eLiterals name="NONE"/>
425 <eLiterals name="DIVORCE" value="1"/>
426 <eLiterals name="SEPARATION_DE_FAIT" value="2"/>
427 <eLiterals name="SEPARATION_BY_COURT" value="3"/>
428 </eClassifiers>
429 <eClassifiers xsi:type="ecore:EClass" name="Tax_Property">
430 <eStructuralFeatures xsi:type="ecore:EAttribute" name="starting_year" ordered="false"
431 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
432 <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxed_jointly" ordered="false"
433 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
434 defaultValueLiteral="false"/>
435 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id10" ordered="false" lowerBound="1"
436 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
437 <eStructuralFeatures xsi:type="ecore:EReference" name="union_record" ordered="false"
438 lowerBound="1" eType="#//Legal_Union_Record" eOpposite="#//Legal_Union_Record/properties"/>
439 </eClassifiers>
440 <eClassifiers xsi:type="ecore:EClass" name="Tax_Case" abstract="true" interface="true"/>
441 <eClassifiers xsi:type="ecore:EClass" name="FromAgent">
442 <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxation_year" unique="false"
443 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
444 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1"
445 eType="#//Tax_Payer" eOpposite="#//Tax_Payer/from_agent"/>
446 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care"
447 ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
448 <eStructuralFeatures xsi:type="ecore:EReference" name="expense" ordered="false"
449 eType="#//Expense" eOpposite="#//Expense/from_agent"/>
450 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_eligible_debt" ordered="false"
451 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
452 <eStructuralFeatures xsi:type="ecore:EReference" name="dependent" ordered="false"
453 eType="#//Dependent" eOpposite="#//Dependent/from_agent"/>
454 </eClassifiers>
455 <eClassifiers xsi:type="ecore:EClass" name="Income" abstract="true">
456 <eOperations name="compute_duration_of_contract" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
457 <eOperations name="compute_duration_of_contract_within_taxation_year" lowerBound="1"
458 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
459 <eParameters name="IN_date" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
460 </eOperations>
461 <eOperations name="prorata_worked_months" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
462 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
463 <details key="body" value="self.details->select(is_worked)->size()"/>
464 </eAnnotations>
465 </eOperations>
466 <eOperations name="prorata_worked_days" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
467 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
468 <details key="body" value="let a:Set(Income_Detail)=self.details->select(is_worked) in &#xA;&#x9;&#x9;&#x9;a.worked_days->sum().mod(25)"/>
469 </eAnnotations>
470 </eOperations>
471 <eOperations name="prorata_period" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
472 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
473 <details key="body" value="&#xA;&#x9;&#x9;&#x9;let nb_months:Integer=self.prorata_worked_months()in&#xA;&#x9;&#x9;&#x9;let nb_days:Integer=self.prorata_worked_days()in&#xA;&#x9;&#x9;&#x9; if(nb_months=12) then&#xA;&#x9;&#x9;&#x9;1&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;nb_months/12 + nb_days/300&#xA;&#x9;&#x9;&#x9;endif"/>
474 </eAnnotations>
475 </eOperations>
476 <eOperations name="income_per_day" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
477 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
478 <details key="body" value="income_per_year()/300"/>
479 </eAnnotations>
480 </eOperations>
481 <eOperations name="income_per_month" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
482 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
483 <details key="body" value="income_per_year()/12"/>
484 </eAnnotations>
485 </eOperations>
486 <eOperations name="income_per_year" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
487 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
488 <details key="body" value="&#x9;&#x9;&#x9;let involved_details:Set(Income_Detail)=self.details->select(i:Income_Detail| i.is_worked=true) in&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;involved_details.amount->sum()"/>
489 </eAnnotations>
490 </eOperations>
491 <eOperations name="getDurationInyears" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
492 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
493 <details key="body" value="&#xA;&#x9;&#x9;&#x9;if(self.income_type.oclIsTypeOf(Pensions_and_Annuities_Income)) then &#xA;&#x9;&#x9;&#x9;if(start_year.oclIsUndefined())then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let res:Integer=self.taxPayer.from_agent.taxation_year-start_year in&#xA;&#x9;&#x9;&#x9;if(res&lt;0) then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;res&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;endif"/>
494 </eAnnotations>
495 </eOperations>
496 <eStructuralFeatures xsi:type="ecore:EAttribute" name="income_amount" ordered="false"
497 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
498 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
499 <details key="derivation" value="let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in&#xA;non_null_amounts->collect(amount)->min()"/>
500 </eAnnotations>
501 </eStructuralFeatures>
502 <eStructuralFeatures xsi:type="ecore:EReference" name="income_type" lowerBound="1"
503 eType="#//Income_Type" containment="true" eOpposite="#//Income_Type/income"/>
504 <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_date_within_taxation_year"
505 ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
506 <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_date_of_contract"
507 ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
508 <eStructuralFeatures xsi:type="ecore:EAttribute" name="end_date_within_taxation_year"
509 ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
510 <eStructuralFeatures xsi:type="ecore:EReference" name="tax_card" eType="#//Tax_Card"
511 containment="true" eOpposite="#//Tax_Card/income"/>
512 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_liability" lowerBound="1"
513 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
514 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" ordered="false"
515 lowerBound="1" eType="#//Tax_Payer" eOpposite="#//Tax_Payer/incomes"/>
516 <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" unique="false" lowerBound="1"
517 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
518 <eStructuralFeatures xsi:type="ecore:EReference" name="details" lowerBound="12"
519 upperBound="12" eType="#//Income_Detail" containment="true" eOpposite="#//Income_Detail/income"/>
520 <eStructuralFeatures xsi:type="ecore:EAttribute" name="num" ordered="false" lowerBound="1"
521 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
522 iD="true"/>
523 <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_year" ordered="false"
524 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
525 <eStructuralFeatures xsi:type="ecore:EReference" name="expenses" ordered="false"
526 upperBound="-1" eType="#//Expense" containment="true" eOpposite="#//Expense/income"/>
527 </eClassifiers>
528 <eClassifiers xsi:type="ecore:EClass" name="Income_Type" abstract="true">
529 <eStructuralFeatures xsi:type="ecore:EAttribute" name="subjectToWithholdingTax"
530 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
531 derived="true">
532 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
533 <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;self.income.tax_card->notEmpty()&#xA;&#x9;&#x9;&#x9;&#x9;"/>
534 </eAnnotations>
535 </eStructuralFeatures>
536 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id8" ordered="false" lowerBound="1"
537 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
538 <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1"
539 eType="#//Income" eOpposite="#//Income/income_type"/>
540 </eClassifiers>
541 <eClassifiers xsi:type="ecore:EClass" name="Tax_Card">
542 <eOperations name="getSumDeductionsYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
543 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
544 <details key="body" value="deduction_FO_yearly+deduction_FD_yearly+deduction_CE_invalidity_yearly"/>
545 </eAnnotations>
546 </eOperations>
547 <eOperations name="getSumCreditsYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
548 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
549 <details key="body" value="credit_CIS_yearly+credit_CIP_yearly"/>
550 </eAnnotations>
551 </eOperations>
552 <eStructuralFeatures xsi:type="ecore:EAttribute" name="card_identifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
553 iD="true"/>
554 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_card_type" lowerBound="1"
555 eType="#//Tax_Card_Type" derived="true">
556 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
557 <details key="derivation" value="if(self.income.taxPayer.incomes->size()=1) then &#xA;Tax_Card_Type::Principal&#xA;&#x9;else&#xA;&#x9;&#x9;let all_incomes:OrderedSet(Income)=self.income.taxPayer.incomes->select(inc:Income| inc.income_amount= self.income.taxPayer.incomes.income_amount->max())->asOrderedSet() in&#xA;&#x9;&#x9;let bigest_income:Income= all_incomes->first() in&#xA;&#x9;&#x9;&#x9; if(bigest_income=self.income) then&#xA;&#x9;&#x9;&#x9; &#x9; Tax_Card_Type::Principal&#xA;&#x9;&#x9;&#x9; else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Tax_Card_Type::Additional&#xA;&#x9;&#x9;&#x9;&#x9;endif&#xA;endif&#xA;&#x9;&#x9;&#x9;&#x9;"/>
558 </eAnnotations>
559 </eStructuralFeatures>
560 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_office" lowerBound="1"
561 eType="#//Tax_Office"/>
562 <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid_from_date" ordered="false"
563 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
564 <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid_until_date" ordered="false"
565 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
566 <eStructuralFeatures xsi:type="ecore:EAttribute" name="percentage_of_witholding"
567 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
568 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payers_name_surname"
569 ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
570 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payers_partner_name_surname"
571 ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
572 <eStructuralFeatures xsi:type="ecore:EReference" name="tax_payers_address" eType="#//Address"/>
573 <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_Employer_SSNo" ordered="false"
574 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
575 <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_employers_name" ordered="false"
576 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
577 <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_activity_type" lowerBound="1"
578 eType="#//Job_Activity"/>
579 <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_place_of_work" lowerBound="1"
580 eType="#//Town"/>
581 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_daily" ordered="false"
582 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
583 defaultValueLiteral="0.0"/>
584 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_monthly" ordered="false"
585 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
586 defaultValueLiteral="0.0"/>
587 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_yearly" unique="false"
588 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
589 defaultValueLiteral="0.0"/>
590 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_daily" unique="false"
591 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
592 defaultValueLiteral="0.0"/>
593 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_monthly" unique="false"
594 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
595 defaultValueLiteral="0.0"/>
596 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_yearly" unique="false"
597 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
598 defaultValueLiteral="0.0"/>
599 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_daily" unique="false"
600 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
601 defaultValueLiteral="0.0"/>
602 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_monthly" unique="false"
603 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
604 defaultValueLiteral="0.0"/>
605 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_yearly" unique="false"
606 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
607 defaultValueLiteral="0.0"/>
608 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_invalidity_yearly"
609 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
610 defaultValueLiteral="0.0"/>
611 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_daily" unique="false"
612 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
613 defaultValueLiteral="0.0"/>
614 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_monthly" lowerBound="1"
615 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
616 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_yearly" unique="false"
617 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
618 defaultValueLiteral="0.0"/>
619 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_daily" unique="false"
620 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
621 defaultValueLiteral="0.0"/>
622 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_monthly" unique="false"
623 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
624 defaultValueLiteral="0.0"/>
625 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_yearly" unique="false"
626 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
627 defaultValueLiteral="0.0"/>
628 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_daily" unique="false"
629 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
630 defaultValueLiteral="0.0"/>
631 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_monthly" unique="false"
632 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
633 defaultValueLiteral="0.0"/>
634 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIP_monthly" unique="false"
635 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
636 defaultValueLiteral="0.0"/>
637 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIP_yearly" unique="false"
638 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
639 defaultValueLiteral="0.0"/>
640 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_daily" unique="false"
641 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
642 defaultValueLiteral="0.0"/>
643 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_monthly" unique="false"
644 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
645 defaultValueLiteral="0.0"/>
646 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_yearly" unique="false"
647 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
648 defaultValueLiteral="0.0"/>
649 <eStructuralFeatures xsi:type="ecore:EAttribute" name="validity" lowerBound="1"
650 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
651 <eStructuralFeatures xsi:type="ecore:EReference" name="income_Tax_Credit" ordered="false"
652 upperBound="-1" eType="#//Income_Tax_Credit" eOpposite="#//Income_Tax_Credit/taxation_Frame"/>
653 <eStructuralFeatures xsi:type="ecore:EReference" name="previous" eType="#//Tax_Card"
654 eOpposite="#//Tax_Card/current_tax_card"/>
655 <eStructuralFeatures xsi:type="ecore:EReference" name="current_tax_card" eType="#//Tax_Card"
656 eOpposite="#//Tax_Card/previous"/>
657 <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_yearly" ordered="false"
658 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
659 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_Alimony_yearly"
660 ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
661 <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_Debt_yearly"
662 ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
663 <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1"
664 eType="#//Income" eOpposite="#//Income/tax_card"/>
665 </eClassifiers>
666 <eClassifiers xsi:type="ecore:EClass" name="Income_Tax_Credit">
667 <eStructuralFeatures xsi:type="ecore:EAttribute" name="grantedBy" lowerBound="1"
668 eType="#//Grantor"/>
669 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" eType="#//Tax_Payer"/>
670 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_year" lowerBound="1"
671 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
672 <eStructuralFeatures xsi:type="ecore:EAttribute" name="yearly" lowerBound="1"
673 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="300.0"/>
674 <eStructuralFeatures xsi:type="ecore:EAttribute" name="monthly" lowerBound="1"
675 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="25.0"/>
676 <eStructuralFeatures xsi:type="ecore:EAttribute" name="daily" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
677 defaultValueLiteral="1.0"/>
678 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id7" ordered="false" lowerBound="1"
679 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
680 <eStructuralFeatures xsi:type="ecore:EReference" name="taxation_Frame" eType="#//Tax_Card"
681 eOpposite="#//Tax_Card/income_Tax_Credit"/>
682 </eClassifiers>
683 <eClassifiers xsi:type="ecore:EClass" name="Income_Detail">
684 <eStructuralFeatures xsi:type="ecore:EAttribute" name="month" ordered="false"
685 unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
686 <eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1"
687 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
688 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_worked" lowerBound="1"
689 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
690 <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance" lowerBound="1"
691 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
692 <eStructuralFeatures xsi:type="ecore:EAttribute" name="worked_days" lowerBound="1"
693 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
694 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_contributing_CNS" ordered="false"
695 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
696 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_contributing_pension"
697 ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
698 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id5" ordered="false" lowerBound="1"
699 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
700 <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1"
701 eType="#//Income" eOpposite="#//Income/details"/>
702 </eClassifiers>
703 <eClassifiers xsi:type="ecore:EClass" name="FromLaw">
704 <eOperations name="CE_INVALIDITY_FLAT_RATE_TYPE_E" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
705 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
706 <details key="body" value="1455.0"/>
707 </eAnnotations>
708 </eOperations>
709 <eOperations name="CIP_MINIMUM_INCOME_MONTH" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
710 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
711 <details key="body" value="25.0"/>
712 </eAnnotations>
713 </eOperations>
714 <eOperations name="CIP_MINIMUM_INCOME_YEAR" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
715 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
716 <details key="body" value="300.0"/>
717 </eAnnotations>
718 </eOperations>
719 <eOperations name="FLAT_RATE_CIP_YEARLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
720 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
721 <details key="body" value="300.0"/>
722 </eAnnotations>
723 </eOperations>
724 <eOperations name="FLAT_RATE_PER_UNIT" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
725 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
726 <details key="body" value="99.0"/>
727 </eAnnotations>
728 </eOperations>
729 <eOperations name="MAXIMUM_DISTANCE_IN_UNITS" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
730 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
731 <details key="body" value="30.0"/>
732 </eAnnotations>
733 </eOperations>
734 <eOperations name="MINIMUM_DISTANCE_IN_UNITS" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
735 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
736 <details key="body" value="4.0"/>
737 </eAnnotations>
738 </eOperations>
739 <eOperations name="FLAT_MAXIMUM_FD" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
740 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
741 <details key="body" value="2574.0"/>
742 </eAnnotations>
743 </eOperations>
744 <eOperations name="CIS_MINIMUM_INCOME_DAY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
745 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
746 <details key="body" value="3.12"/>
747 </eAnnotations>
748 </eOperations>
749 <eOperations name="CIS_MINIMUM_INCOME_MONTH" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
750 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
751 <details key="body" value="78.0"/>
752 </eAnnotations>
753 </eOperations>
754 <eOperations name="CIS_MINIMUM_INCOME_YEAR" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
755 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
756 <details key="body" value="936.0"/>
757 </eAnnotations>
758 </eOperations>
759 <eOperations name="FLAT_RATE_CIS_DAILY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
760 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
761 <details key="body" value="1.0"/>
762 </eAnnotations>
763 </eOperations>
764 <eOperations name="FLAT_RATE_CIS_MONTHLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
765 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
766 <details key="body" value="25.0"/>
767 </eAnnotations>
768 </eOperations>
769 <eOperations name="FLAT_RATE_CIS_YEARLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
770 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
771 <details key="body" value="300.0"/>
772 </eAnnotations>
773 </eOperations>
774 <eOperations name="get_A_for_salary_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
775 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
776 <details key="body" value="if(revenu&lt;= 1020) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1180) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 1340) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 1500) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 1655) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 1815) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 1975) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2135) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 2295) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 2450) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2610) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 2770) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 2930) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 3090) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 3245) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 3405) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3565) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 8415) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; &#x9; endif"/>
777 </eAnnotations>
778 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
779 </eOperations>
780 <eOperations name="get_B_for_salary_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
781 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
782 <details key="body" value="if(revenu&lt;= 1020) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1180) then 81.9&#xA;&#x9;&#x9;else if(revenu &lt;= 1340) then 105.555&#xA;&#x9;&#x9;else if(revenu &lt;= 1500) then 132.39000&#xA;&#x9;&#x9;else if(revenu &lt;= 1655) then 162.405&#xA;&#x9;&#x9;else if(revenu &lt;= 1815) then 195.6&#xA;&#x9;&#x9;else if(revenu &lt;= 1975) then 231.975&#xA;&#x9;&#x9;else if(revenu &lt;= 2135) then 271.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2295) then 314.265&#xA;&#x9;&#x9;else if(revenu &lt;= 2450) then 360.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2610) then 409.275&#xA;&#x9;&#x9;else if(revenu &lt;= 2770) then 461.55&#xA;&#x9;&#x9;else if(revenu &lt;= 2930) then 517.005&#xA;&#x9;&#x9;else if(revenu &lt;= 3090) then 575.64&#xA;&#x9;&#x9;else if(revenu &lt;= 3245) then 637.455&#xA;&#x9;&#x9;else if(revenu &lt;= 3405) then 702.45&#xA;&#x9;&#x9;else if(revenu &lt;= 3565) then 770.625&#xA;&#x9;&#x9;else if(revenu &lt;= 8415) then 806.30250 &#xA;&#x9;&#x9;else 890.48583&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
783 </eAnnotations>
784 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
785 </eOperations>
786 <eOperations name="get_A_for_salary_class_1A" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
787 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
788 <details key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2065) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 2170) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2385) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 2490) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 2700) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 2810) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3020) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
789 </eAnnotations>
790 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
791 </eOperations>
792 <eOperations name="get_B_for_salary_class_1A" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
793 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
794 <details key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2065) then 235.5&#xA;&#x9;&#x9;else if(revenu &lt;= 2170) then 297.555&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 362.79&#xA;&#x9;&#x9;else if(revenu &lt;= 2385) then 431.205&#xA;&#x9;&#x9;else if(revenu &lt;= 2490) then 502.8&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 577.575&#xA;&#x9;&#x9;else if(revenu &lt;= 2700) then 655.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2810) then 736.665&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 820.98&#xA;&#x9;&#x9;else if(revenu &lt;= 3020) then 908.475&#xA;&#x9;&#x9;else 938.7&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; &#x9;&#x9;endif"/>
795 </eAnnotations>
796 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
797 </eOperations>
798 <eOperations name="get_A_for_salary_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
799 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
800 <details key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 3230) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 3550) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 3870) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 4185) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 4505) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 4820) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 5140) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 5460) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 5775) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 6095) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 6410) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 6730) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 7050) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 16750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
801 </eAnnotations>
802 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
803 </eOperations>
804 <eOperations name="get_B_for_salary_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
805 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
806 <details key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 157&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 202.61&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 254.58&#xA;&#x9;&#x9;else if(revenu &lt;= 3230) then 312.91&#xA;&#x9;&#x9;else if(revenu &lt;= 3550) then 377.6&#xA;&#x9;&#x9;else if(revenu &lt;= 3870) then 448.65&#xA;&#x9;&#x9;else if(revenu &lt;= 4185) then 526.06&#xA;&#x9;&#x9;else if(revenu &lt;= 4505) then 609.83&#xA;&#x9;&#x9;else if(revenu &lt;= 4820) then 699.96&#xA;&#x9;&#x9;else if(revenu &lt;= 5140) then 796.45&#xA;&#x9;&#x9;else if(revenu &lt;= 5460) then 899.3&#xA;&#x9;&#x9;else if(revenu &lt;= 5775) then 1008.51&#xA;&#x9;&#x9;else if(revenu &lt;= 6095) then 1124.08&#xA;&#x9;&#x9;else if(revenu &lt;= 6410) then 1246.01&#xA;&#x9;&#x9;else if(revenu &lt;= 6730) then 1374.3&#xA;&#x9;&#x9;else if(revenu &lt;= 7050) then 1508.95&#xA;&#x9;&#x9;else if(revenu &lt;= 16750) then 1579.455&#xA;&#x9;&#x9;else 1746.97166&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
807 </eAnnotations>
808 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
809 </eOperations>
810 <eOperations name="get_A_for_pension_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
811 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
812 <details key="body" value="if(revenu&lt;= 1000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1160) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 1320) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 1480) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 1635) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 1795) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 1955) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2115) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 2275) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 2430) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2590) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 2750) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 2910) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 3070) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 3225) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 3385) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3545) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 8395) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
813 </eAnnotations>
814 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
815 </eOperations>
816 <eOperations name="get_B_for_pension_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
817 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
818 <details key="body" value="if(revenu&lt;= 1000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1160) then 80.3&#xA;&#x9;&#x9;else if(revenu &lt;= 1320) then 103.555&#xA;&#x9;&#x9;else if(revenu &lt;= 1480) then 129.99&#xA;&#x9;&#x9;else if(revenu &lt;= 1635) then 159.605&#xA;&#x9;&#x9;else if(revenu &lt;= 1795) then 192.4&#xA;&#x9;&#x9;else if(revenu &lt;= 1955) then 228.375&#xA;&#x9;&#x9;else if(revenu &lt;= 2115) then 267.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2275) then 309.865&#xA;&#x9;&#x9;else if(revenu &lt;= 2430) then 355.38&#xA;&#x9;&#x9;else if(revenu &lt;= 2590) then 404.075&#xA;&#x9;&#x9;else if(revenu &lt;= 2750) then 455.95&#xA;&#x9;&#x9;else if(revenu &lt;= 2910) then 511.005&#xA;&#x9;&#x9;else if(revenu &lt;= 3070) then 569.24&#xA;&#x9;&#x9;else if(revenu &lt;= 3225) then 630.655&#xA;&#x9;&#x9;else if(revenu &lt;= 3385) then 695.25&#xA;&#x9;&#x9;else if(revenu &lt;= 3545) then 763.025&#xA;&#x9;&#x9;else if(revenu &lt;= 8395) then 798.5025&#xA;&#x9;&#x9;else 882.48583&#x9;&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
819 </eAnnotations>
820 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
821 </eOperations>
822 <eOperations name="get_A_for_pension_class_1A" ordered="false" lowerBound="1"
823 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
824 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
825 <details key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2045) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 2150) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2365) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 2470) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 2680) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 2790) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
826 </eAnnotations>
827 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
828 </eOperations>
829 <eOperations name="get_B_for_pension_class_1A" ordered="false" lowerBound="1"
830 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
831 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
832 <details key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2045) then 233.100&#xA;&#x9;&#x9;else if(revenu &lt;= 2150) then 294.555&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 359.190&#xA;&#x9;&#x9;else if(revenu &lt;= 2365) then 427.005&#xA;&#x9;&#x9;else if(revenu &lt;= 2470) then 498&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 572.175&#xA;&#x9;&#x9;else if(revenu &lt;= 2680) then 649.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2790) then 730.065&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 813.780&#xA;&#x9;&#x9;else if(revenu &lt;= 3000) then 900.675&#xA;&#x9;&#x9;else 930.700&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
833 </eAnnotations>
834 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
835 </eOperations>
836 <eOperations name="get_A_for_pension_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
837 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
838 <details key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 3210) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 3530) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 3850) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 4165) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 4485) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 4800) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 5120) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 5440) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 5755) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 6075) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 6390) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 6710) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 7030) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 16730) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
839 </eAnnotations>
840 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
841 </eOperations>
842 <eOperations name="get_B_for_pension_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
843 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
844 <details key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 155.4&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 200.61&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 252.18&#xA;&#x9;&#x9;else if(revenu &lt;= 3210) then 310.11&#xA;&#x9;&#x9;else if(revenu &lt;= 3530) then 374.4&#xA;&#x9;&#x9;else if(revenu &lt;= 3850) then 445.05&#xA;&#x9;&#x9;else if(revenu &lt;= 4165) then 522.06&#xA;&#x9;&#x9;else if(revenu &lt;= 4485) then 605.43&#xA;&#x9;&#x9;else if(revenu &lt;= 4800) then 695.16&#xA;&#x9;&#x9;else if(revenu &lt;= 5120) then 791.25&#xA;&#x9;&#x9;else if(revenu &lt;= 5440) then 893.7&#xA;&#x9;&#x9;else if(revenu &lt;= 5755) then 1002.51&#xA;&#x9;&#x9;else if(revenu &lt;= 6075) then 1117.68&#xA;&#x9;&#x9;else if(revenu &lt;= 6390) then 1239.21&#xA;&#x9;&#x9;else if(revenu &lt;= 6710) then 1367.1&#xA;&#x9;&#x9;else if(revenu &lt;= 7030) then 1501.35&#xA;&#x9;&#x9;else if(revenu &lt;= 16730) then 1571.655&#xA;&#x9;&#x9;else 1738.97166&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
845 </eAnnotations>
846 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
847 </eOperations>
848 <eOperations name="get_A_for_other_yearly_class_1" ordered="false" lowerBound="1"
849 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
850 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
851 <details key="body" value=" if(revenu&lt;= 11250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13150) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 15050) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 16950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 18850) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 20800) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 22700) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 24600) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 26500) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 28400) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30300) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 32250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 34150) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 36050) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 37950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 39850) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 41750) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 100000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
852 </eAnnotations>
853 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
854 </eOperations>
855 <eOperations name="get_B_for_other_yearly_class_1" ordered="false" lowerBound="1"
856 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
857 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
858 <details key="body" value="if(revenu&lt;= 11250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13150) then 901.200 &#xA;&#x9;&#x9;else if(revenu &lt;= 15050) then 1164.660&#xA;&#x9;&#x9;else if(revenu &lt;= 16950) then 1466.280&#xA;&#x9;&#x9;else if(revenu &lt;= 18850) then 1806.060&#xA;&#x9;&#x9;else if(revenu &lt;= 20800) then 2184&#xA;&#x9;&#x9;else if(revenu &lt;= 22700) then 2600.100&#xA;&#x9;&#x9;else if(revenu &lt;= 24600) then 3054.360&#xA;&#x9;&#x9;else if(revenu &lt;= 26500) then 3546.780 &#xA;&#x9;&#x9;else if(revenu &lt;= 28400) then 4077.360&#xA;&#x9;&#x9;else if(revenu &lt;= 30300) then 4646.100&#xA;&#x9;&#x9;else if(revenu &lt;= 32250) then 5253&#xA;&#x9;&#x9;else if(revenu &lt;= 34150) then 5898.060&#xA;&#x9;&#x9;else if(revenu &lt;= 36050) then 6581.28&#xA;&#x9;&#x9;else if(revenu &lt;= 37950) then 7302.66&#xA;&#x9;&#x9;else if(revenu &lt;= 39850) then 8062.2&#xA;&#x9;&#x9;else if(revenu &lt;= 41750) then 8859.9&#xA;&#x9;&#x9;else if(revenu &lt;= 100000) then 9277.83&#xA;&#x9;&#x9;else 10277.83&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
859 </eAnnotations>
860 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
861 </eOperations>
862 <eOperations name="get_A_for_other_yearly_class_1A" ordered="false" lowerBound="1"
863 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
864 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
865 <details key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 23800) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 25050) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 27600) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 28850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 31400) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 32700) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 35250) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
866 </eAnnotations>
867 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
868 </eOperations>
869 <eOperations name="get_B_for_other_yearly_class_1A" ordered="false" lowerBound="1"
870 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
871 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
872 <details key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 23800) then 2703.600&#xA;&#x9;&#x9;else if(revenu &lt;= 25050) then 3417.660&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 4169.880&#xA;&#x9;&#x9;else if(revenu &lt;= 27600) then 4960.260&#xA;&#x9;&#x9;else if(revenu &lt;= 28850) then 5788.800&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 6655.500&#xA;&#x9;&#x9;else if(revenu &lt;= 31400) then 7560.360&#xA;&#x9;&#x9;else if(revenu &lt;= 32700) then 8503.380&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 9484.560&#xA;&#x9;&#x9;else if(revenu &lt;= 35250) then 10503.900&#xA;&#x9;&#x9;else 10856.400&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
873 </eAnnotations>
874 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
875 </eOperations>
876 <eOperations name="get_A_for_other_yearly_class_2" ordered="false" lowerBound="1"
877 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
878 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
879 <details key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 37750) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 41600) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 45400) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 49200) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 53050) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 56850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 60650) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 64500) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 68300) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 72100) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 75950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 79750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 83550) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 200000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
880 </eAnnotations>
881 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
882 </eOperations>
883 <eOperations name="get_B_for_other_yearly_class_2" ordered="false" lowerBound="1"
884 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
885 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
886 <details key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 1802.400 &#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 2329.320&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 2932.560&#xA;&#x9;&#x9;else if(revenu &lt;= 37750) then 3612.120&#xA;&#x9;&#x9;else if(revenu &lt;= 41600) then 4368.000&#xA;&#x9;&#x9;else if(revenu &lt;= 45400) then 5200.200&#xA;&#x9;&#x9;else if(revenu &lt;= 49200) then 6108.720&#xA;&#x9;&#x9;else if(revenu &lt;= 53050) then 7093.560&#xA;&#x9;&#x9;else if(revenu &lt;= 56850) then 8154.720&#xA;&#x9;&#x9;else if(revenu &lt;= 60650) then 9292.200&#xA;&#x9;&#x9;else if(revenu &lt;= 64500) then 10506.000&#xA;&#x9;&#x9;else if(revenu &lt;= 68300) then 11796.120&#xA;&#x9;&#x9;else if(revenu &lt;= 72100) then 13162.560&#xA;&#x9;&#x9;else if(revenu &lt;= 75950) then 14605.320&#xA;&#x9;&#x9;else if(revenu &lt;= 79750) then 16124.400&#xA;&#x9;&#x9;else if(revenu &lt;= 83550) then 17719.800&#xA;&#x9;&#x9;else if(revenu &lt;= 200000) then 18555.660&#xA;&#x9;&#x9;else 20555.660&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
887 </eAnnotations>
888 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
889 </eOperations>
890 <eOperations name="calculate_taxes_per_month" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
891 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
892 <details key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_class_2(amount) else get_A_for_salary_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_class_2(amount) else get_B_for_salary_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_ten_cent(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 25085 else 12585 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_ten_cent(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_class_2(amount) else get_A_for_pension_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_class_2(amount) else get_B_for_pension_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_ten_cent(a * amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 25065 else 12565 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_ten_cent(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
893 </eAnnotations>
894 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
895 <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/>
896 <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
897 </eOperations>
898 <eOperations name="round_lower_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
899 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
900 <details key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()"/>
901 </eAnnotations>
902 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
903 </eOperations>
904 <eOperations name="round_ten_cent" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
905 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
906 <details key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;if(p1=amount) then&#xA;&#x9;&#x9;&#x9;amount&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let p2_temp:Real = (amount-p1) * 10 in&#xA;&#x9;&#x9;&#x9;let p2:Integer = p2_temp.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()+(p2.toString().toReal()/10.0)&#xA;&#x9;&#x9;&#x9;endif"/>
907 </eAnnotations>
908 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
909 </eOperations>
910 <eOperations name="get_A_for_salary_yearly_class_1" ordered="false" lowerBound="1"
911 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
912 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
913 <details key="body" value="if(revenu&lt;= 12250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 14150) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 16100) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 18000) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 19900) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 21800) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 23700) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 25600) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 27500) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 29450) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31350) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 33250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 35150) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 37050) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 38950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 40900) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 42800) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 101000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
914 </eAnnotations>
915 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
916 </eOperations>
917 <eOperations name="get_B_for_salary_yearly_class_1" ordered="false" lowerBound="1"
918 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
919 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
920 <details key="body" value="if(revenu&lt;= 12250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 14150) then 982.8000&#xA;&#x9;&#x9;else if(revenu &lt;= 16100) then 1266.6600&#xA;&#x9;&#x9;else if(revenu &lt;= 18000) then 1588.6800&#xA;&#x9;&#x9;else if(revenu &lt;= 19900) then 1948.8600&#xA;&#x9;&#x9;else if(revenu &lt;= 21800) then 2347.2000&#xA;&#x9;&#x9;else if(revenu &lt;= 23700) then 2783.7000&#xA;&#x9;&#x9;else if(revenu &lt;= 25600) then 3258.3600&#xA;&#x9;&#x9;else if(revenu &lt;= 27500) then 3771.1800&#xA;&#x9;&#x9;else if(revenu &lt;= 29450) then 4322.1600&#xA;&#x9;&#x9;else if(revenu &lt;= 31350) then 4911.3000&#xA;&#x9;&#x9;else if(revenu &lt;= 33250) then 5538.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 35150) then 6204.0600&#xA;&#x9;&#x9;else if(revenu &lt;= 37050) then 6907.6800&#xA;&#x9;&#x9;else if(revenu &lt;= 38950) then 7649.4600&#xA;&#x9;&#x9;else if(revenu &lt;= 40900) then 8429.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 42800) then 9247.5000&#xA;&#x9;&#x9;else if(revenu &lt;= 101000) then 9675.6300&#xA;&#x9;&#x9;else 10685.8300&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
921 </eAnnotations>
922 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
923 </eOperations>
924 <eOperations name="get_A_for_salary_yearly_class_1A" ordered="false" lowerBound="1"
925 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
926 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
927 <details key="body" value="if(revenu&lt;= 23500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24800) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 26050) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 28600) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 29900) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 32450) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 33700) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 36250) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
928 </eAnnotations>
929 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
930 </eOperations>
931 <eOperations name="get_B_for_salary_yearly_class_1A" ordered="false" lowerBound="1"
932 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
933 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
934 <details key="body" value="if(revenu&lt;= 23500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24800) then 2826.0000&#xA;&#x9;&#x9;else if(revenu &lt;= 26050) then 3570.6600&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 4353.4800&#xA;&#x9;&#x9;else if(revenu &lt;= 28600) then 5174.4600&#xA;&#x9;&#x9;else if(revenu &lt;= 29900) then 6033.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 6930.9000&#xA;&#x9;&#x9;else if(revenu &lt;= 32450) then 7866.3600&#xA;&#x9;&#x9;else if(revenu &lt;= 33700) then 8839.9800&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 9851.7600&#xA;&#x9;&#x9;else if(revenu &lt;= 36250) then 10901.7000&#xA;&#x9;&#x9;else 11264.4000&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
935 </eAnnotations>
936 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
937 </eOperations>
938 <eOperations name="get_A_for_salary_yearly_class_2" ordered="false" lowerBound="1"
939 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
940 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
941 <details key="body" value="if(revenu&lt;= 23550) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 38800) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 42600) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 46400) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 50250) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 54050) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 57850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 61700) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 65500) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 69300) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 73150) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 76950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 80750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 84600) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 201000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
942 </eAnnotations>
943 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
944 </eOperations>
945 <eOperations name="get_B_for_salary_yearly_class_2" ordered="false" lowerBound="1"
946 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
947 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
948 <details key="body" value=" if(revenu&lt;= 23550) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 1884.000&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 2431.3200&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 3054.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 38800) then 3754.9200&#xA;&#x9;&#x9;else if(revenu &lt;= 42600) then 4531.2000&#xA;&#x9;&#x9;else if(revenu &lt;= 46400) then 5383.8000&#xA;&#x9;&#x9;else if(revenu &lt;= 50250) then 6312.7200&#xA;&#x9;&#x9;else if(revenu &lt;= 54050) then 7317.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 57850) then 8399.5200&#xA;&#x9;&#x9;else if(revenu &lt;= 61700) then 9557.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 65500) then 10791.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 69300) then 12102.1200&#xA;&#x9;&#x9;else if(revenu &lt;= 73150) then 13488.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 76950) then 14952.1200&#xA;&#x9;&#x9;else if(revenu &lt;= 80750) then 16491.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 84600) then 18107.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 201000) then 18953.4600&#xA;&#x9;&#x9;else 20963.6600&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
949 </eAnnotations>
950 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
951 </eOperations>
952 <eOperations name="get_A_for_pension_yearly_class_1" ordered="false" lowerBound="1"
953 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
954 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
955 <details key="body" value="if(revenu&lt;= 12000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13950) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 15850) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 17750) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 19650) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 21550) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 23450) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 25400) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 27300) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 29200) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31100) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 33000) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 34900) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 36800) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 38750) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 40650) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 42550) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 100750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
956 </eAnnotations>
957 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
958 </eOperations>
959 <eOperations name="get_B_for_pension_yearly_class_1" ordered="false" lowerBound="1"
960 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
961 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
962 <details key="body" value="if(revenu&lt;= 12000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13950) then 963.600&#xA;&#x9;&#x9;else if(revenu &lt;= 15850) then 1242.660&#xA;&#x9;&#x9;else if(revenu &lt;= 17750) then 1559.880&#xA;&#x9;&#x9;else if(revenu &lt;= 19650) then 1915.260&#xA;&#x9;&#x9;else if(revenu &lt;= 21550) then 2308.800&#xA;&#x9;&#x9;else if(revenu &lt;= 23450) then 2740.500&#xA;&#x9;&#x9;else if(revenu &lt;= 25400) then 3210.360&#xA;&#x9;&#x9;else if(revenu &lt;= 27300) then 3718.380&#xA;&#x9;&#x9;else if(revenu &lt;= 29200) then 4264.560&#xA;&#x9;&#x9;else if(revenu &lt;= 31100) then 4848.900&#xA;&#x9;&#x9;else if(revenu &lt;= 33000) then 5471.400&#xA;&#x9;&#x9;else if(revenu &lt;= 34900) then 6132.060&#xA;&#x9;&#x9;else if(revenu &lt;= 36800) then 6830.880&#xA;&#x9;&#x9;else if(revenu &lt;= 38750) then 7567.860&#xA;&#x9;&#x9;else if(revenu &lt;= 40650) then 8343.000&#xA;&#x9;&#x9;else if(revenu &lt;= 42550) then 9156.300&#xA;&#x9;&#x9;else if(revenu &lt;= 100750) then 9582.030&#xA;&#x9;&#x9;else 10589.830&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
963 </eAnnotations>
964 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
965 </eOperations>
966 <eOperations name="get_A_for_pension_yearly_class_1A" ordered="false" lowerBound="1"
967 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
968 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
969 <details key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24550) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 25850) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 28350) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 29650) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 32200) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 33450) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 36000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
970 </eAnnotations>
971 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
972 </eOperations>
973 <eOperations name="get_B_for_pension_yearly_class_1A" ordered="false" lowerBound="1"
974 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
975 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
976 <details key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24550) then 2797.200&#xA;&#x9;&#x9;else if(revenu &lt;= 25850) then 3534.660&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 4310.280&#xA;&#x9;&#x9;else if(revenu &lt;= 28350) then 5124.060&#xA;&#x9;&#x9;else if(revenu &lt;= 29650) then 5976.000&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 6866.100&#xA;&#x9;&#x9;else if(revenu &lt;= 32200) then 7794.360&#xA;&#x9;&#x9;else if(revenu &lt;= 33450) then 8760.780&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 9765.360&#xA;&#x9;&#x9;else if(revenu &lt;= 36000) then 10808.100&#xA;&#x9;&#x9;else 11168.400&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
977 </eAnnotations>
978 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
979 </eOperations>
980 <eOperations name="get_A_for_pension_yearly_class_2" ordered="false" lowerBound="1"
981 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
982 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
983 <details key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 38550) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 42350) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 46200) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 50000) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 53800) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 57650) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 61450) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 65250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 69100) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 72900) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 76700) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 80550) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 84350) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 200750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
984 </eAnnotations>
985 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
986 </eOperations>
987 <eOperations name="get_B_for_pension_yearly_class_2" ordered="false" lowerBound="1"
988 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
989 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
990 <details key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 1864.800&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 2407.320&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 3026.160&#xA;&#x9;&#x9;else if(revenu &lt;= 38550) then 3721.320&#xA;&#x9;&#x9;else if(revenu &lt;= 42350) then 4492.800&#xA;&#x9;&#x9;else if(revenu &lt;= 46200) then 5340.600&#xA;&#x9;&#x9;else if(revenu &lt;= 50000) then 6264.720&#xA;&#x9;&#x9;else if(revenu &lt;= 53800) then 7265.160&#xA;&#x9;&#x9;else if(revenu &lt;= 57650) then 8341.920&#xA;&#x9;&#x9;else if(revenu &lt;= 61450) then 9495.000&#xA;&#x9;&#x9;else if(revenu &lt;= 65250) then 10724.400&#xA;&#x9;&#x9;else if(revenu &lt;= 69100) then 12030.120&#xA;&#x9;&#x9;else if(revenu &lt;= 72900) then 13412.160&#xA;&#x9;&#x9;else if(revenu &lt;= 76700) then 14870.520&#xA;&#x9;&#x9;else if(revenu &lt;= 80550) then 16405.200&#xA;&#x9;&#x9;else if(revenu &lt;= 84350) then 18016.200&#xA;&#x9;&#x9;else if(revenu &lt;= 200750) then 18859.860&#xA;&#x9;&#x9;else 20867.660&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
991 </eAnnotations>
992 <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
993 </eOperations>
994 <eOperations name="calculate_taxes_per_year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
995 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
996 <details key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
997 </eAnnotations>
998 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
999 <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/>
1000 <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
1001 </eOperations>
1002 <eOperations name="CNS_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1003 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1004 <details key="body" value="0.0305"/>
1005 </eAnnotations>
1006 </eOperations>
1007 <eOperations name="PENSION_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1008 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1009 <details key="body" value="0.08"/>
1010 </eAnnotations>
1011 </eOperations>
1012 <eOperations name="round_lower_fifty_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1013 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1014 <details key="body" value="&#x9;&#x9;if(amount&lt;50) then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if (amount>=50 and amount&lt;100) then&#xA;&#x9;&#x9;&#x9;50.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let temp_amount:Real = round_lower_euros(amount) in&#xA;&#x9;&#x9;&#x9;let ch:String=temp_amount.toString()in&#xA;&#x9;&#x9;&#x9;let temp_amount1:Real = temp_amount / 100.0 in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(temp_amount1.round() = temp_amount1.floor()) then&#xA;&#x9;&#x9;&#x9;temp_amount1.floor() * 100.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;(temp_amount1.round() * 100.0) - 50&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1015 </eAnnotations>
1016 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1017 </eOperations>
1018 <eOperations name="getTaxableIncomePerYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1019 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1020 <details key="body" value="let gross_salary_year:Real= income.income_per_year() in&#xA;&#x9;&#x9;&#x9;let type:Income_Type=income.income_type in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(type.oclIsTypeOf(Employment_Income)) then&#xA;&#x9;&#x9;&#x9;let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in&#xA;&#x9;&#x9;&#x9;let part_pension_year:Real= gross_salary_year * income.taxPayer.from_law.PENSION_RATE() in&#xA;&#x9;&#x9;&#x9;let part_CNS_year:Real= gross_salary_year * income.taxPayer.from_law.CNS_RATE() in&#xA;&#x9;&#x9;&#x9;let taxable_income:Real= gross_salary_year- (part_CNS_year + part_pension_year + sum_deductions_year) in &#x9;&#xA;&#x9;&#x9;&#x9;round_lower_fifty_euros(taxable_income)&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(type.oclIsTypeOf(Pensions_and_Annuities_Income))then&#xA;&#x9;&#x9;&#x9;let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in&#xA;&#x9;&#x9;&#x9;let taxable_income:Real= gross_salary_year- sum_deductions_year in &#x9;&#xA;&#x9;&#x9;&#x9;round_lower_fifty_euros(taxable_income)&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let details:Set(Income_Detail)= income.details->select(i:Income_Detail|i.is_worked=true) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let res:Real= details->iterate( elem : Income_Detail; acc : Real = 0 | &#xA;&#x9;&#x9;&#x9; &#x9;&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=false and elem.is_contributing_pension=false) then acc + elem.amount &#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=true and elem.is_contributing_pension=true) then&#xA;&#x9;&#x9;&#x9; &#x9;acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) - (elem.amount* income.taxPayer.from_law.CNS_RATE())&#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=true)then&#xA;&#x9;&#x9;&#x9; acc+ elem.amount - (elem.amount* income.taxPayer.from_law.CNS_RATE())&#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) &#xA;&#x9;&#x9;&#x9; &#x9;&#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9; )&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;in round_lower_fifty_euros(res)&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1021 </eAnnotations>
1022 <eParameters name="income" ordered="false" lowerBound="1" eType="#//Income"/>
1023 </eOperations>
1024 <eOperations name="precision" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1025 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1026 <details key="body" value="&#x9;&#x9;let ch:String=amount.toString() in&#xA;&#x9;&#x9;&#x9;if(ch.indexOf('.')=-1)then&#xA;&#x9;&#x9;&#x9;amount&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let pos_pt:Integer=ch.indexOf('.') in&#xA;&#x9;&#x9;&#x9;if(pos_pt+degit >=ch.size()) then&#xA;&#x9;&#x9;&#x9;amount &#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let ch1:String=ch.substring(1,pos_pt+degit) in&#xA;&#x9;&#x9;&#x9;ch1.toReal()&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1027 </eAnnotations>
1028 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1029 <eParameters name="degit" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
1030 </eOperations>
1031 <eOperations name="MAXIMUM_RATE_FOR_CE_CHILDREN" ordered="false" lowerBound="1"
1032 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1033 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1034 <details key="body" value="3480.0"/>
1035 </eAnnotations>
1036 </eOperations>
1037 <eOperations name="MINIMUM_LEGAL_SALARY" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1038 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1039 <details key="body" value="1921.03"/>
1040 </eAnnotations>
1041 </eOperations>
1042 <eOperations name="MAXIMUM_FLAT_RATE_FOR_ALIMONY" ordered="false" lowerBound="1"
1043 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1044 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1045 <details key="body" value="&#x9;&#x9;&#x9;if(year_divorce>1997)then&#xA;&#x9;&#x9;&#x9;if(year &lt;=2007) then&#xA;&#x9;&#x9;&#x9;20400.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(year=2008) then&#xA;&#x9;&#x9;&#x9;21600.0&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;if(year=2009 or year = 2010) then&#xA;&#x9;&#x9;&#x9;23400.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;24000.0&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#xA;&#x9;&#x9;&#x9;if(year &lt;=2007) then&#xA;&#x9;&#x9;&#x9;20400.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(year=2008) then&#xA;&#x9;&#x9;&#x9;21600.0&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;23400.0&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#x9;&#xA;&#x9;&#x9;&#x9;endif"/>
1046 </eAnnotations>
1047 <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
1048 <eParameters name="year_divorce" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
1049 </eOperations>
1050 <eOperations name="AEP_FLAT_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1051 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1052 <details key="body" value="4500.0"/>
1053 </eAnnotations>
1054 </eOperations>
1055 <eOperations name="calculate_taxes_per_year_mixed" ordered="false" lowerBound="1"
1056 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1057 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1058 <details key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1059 </eAnnotations>
1060 <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1061 <eParameters name="local_amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1062 <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/>
1063 <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
1064 </eOperations>
1065 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
1066 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
1067 <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1"
1068 eType="#//Tax_Payer" eOpposite="#//Tax_Payer/from_law"/>
1069 </eClassifiers>
1070 <eClassifiers xsi:type="ecore:EClass" name="Fiscal_Address" eSuperTypes="#//Address"/>
1071 <eClassifiers xsi:type="ecore:EClass" name="Habitual_Address" eSuperTypes="#//Address"/>
1072 <eClassifiers xsi:type="ecore:EClass" name="Marriage_Record" eSuperTypes="#//Legal_Union_Record"/>
1073 <eClassifiers xsi:type="ecore:EClass" name="Non_Resident_Tax_Payer" eSuperTypes="#//Tax_Payer">
1074 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_assimilated_to_resident"
1075 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1076 defaultValueLiteral="false"/>
1077 </eClassifiers>
1078 <eClassifiers xsi:type="ecore:EClass" name="Partnership_Record" eSuperTypes="#//Legal_Union_Record"/>
1079 <eClassifiers xsi:type="ecore:EClass" name="Resident_Tax_Payer" eSuperTypes="#//Tax_Payer">
1080 <eStructuralFeatures xsi:type="ecore:EAttribute" name="test" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1081 derived="true">
1082 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1083 <details key="derivation" value="self.oclAsType(Tax_Payer).from_agent.taxation_year=2014"/>
1084 </eAnnotations>
1085 </eStructuralFeatures>
1086 </eClassifiers>
1087 <eClassifiers xsi:type="ecore:EClass" name="Trade_and_Business_Income" eSuperTypes="#//Income_Type"/>
1088 <eClassifiers xsi:type="ecore:EClass" name="Agriculture_and_Forestry_Income" eSuperTypes="#//Income_Type"/>
1089 <eClassifiers xsi:type="ecore:EClass" name="Pensions_and_Annuities_Income" eSuperTypes="#//Income_Type">
1090 <eStructuralFeatures xsi:type="ecore:EAttribute" name="occasional_payement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1091 defaultValueLiteral="false"/>
1092 </eClassifiers>
1093 <eClassifiers xsi:type="ecore:EClass" name="Capital_and_Investments_Income" eSuperTypes="#//Income_Type"/>
1094 <eClassifiers xsi:type="ecore:EClass" name="Employment_Income" eSuperTypes="#//Income_Type"/>
1095 <eClassifiers xsi:type="ecore:EClass" name="Rentals_and_Leases_Income" eSuperTypes="#//Income_Type">
1096 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_periodic" lowerBound="1"
1097 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
1098 </eClassifiers>
1099 <eClassifiers xsi:type="ecore:EClass" name="Foreign_Income" eSuperTypes="#//Income"/>
1100 <eClassifiers xsi:type="ecore:EClass" name="Local_Income" eSuperTypes="#//Income"/>
1101 <eClassifiers xsi:type="ecore:EClass" name="CIM" eSuperTypes="#//Income_Tax_Credit"/>
1102 <eClassifiers xsi:type="ecore:EClass" name="CIP" eSuperTypes="#//Income_Tax_Credit"/>
1103 <eClassifiers xsi:type="ecore:EClass" name="CIS" eSuperTypes="#//Income_Tax_Credit"/>
1104 <eClassifiers xsi:type="ecore:EClass" name="FD" eSuperTypes="#//Professional_Expenses_Deduction">
1105 <eOperations name="compute_distance_unit_between_home_and_workpalce" lowerBound="1"
1106 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1107 <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance_declared_in_january"
1108 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1109 <eStructuralFeatures xsi:type="ecore:EAttribute" name="calculated_distance" lowerBound="1"
1110 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" derived="true"/>
1111 </eClassifiers>
1112 <eClassifiers xsi:type="ecore:EClass" name="Professional_Expenses_Deduction"/>
1113 <eClassifiers xsi:type="ecore:EClass" name="FO" eSuperTypes="#//Professional_Expenses_Deduction">
1114 <eOperations name="compute_disability_flat_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1115 <eOperations name="compute_regular_flat_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1116 <eStructuralFeatures xsi:type="ecore:EAttribute" name="rate_type_for_FO" lowerBound="1"
1117 eType="#//Type_of_Rate" derived="true"/>
1118 </eClassifiers>
1119 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Permanent_Expense" eSuperTypes="#//DS">
1120 <eStructuralFeatures xsi:type="ecore:EAttribute" name="permanent_expense_category"
1121 lowerBound="1" eType="#//Category_of_Permanent_Expense"/>
1122 </eClassifiers>
1123 <eClassifiers xsi:type="ecore:EClass" name="DS">
1124 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount"
1125 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1126 <eStructuralFeatures xsi:type="ecore:EAttribute" name="id3" ordered="false" lowerBound="1"
1127 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
1128 </eClassifiers>
1129 <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Permanent_Expense">
1130 <eLiterals name="MISCELLANEOUS_DEBT" literal="MISCELLANEOUS_DEBT"/>
1131 <eLiterals name="ALIMONY" value="1" literal="ALIMONY"/>
1132 </eClassifiers>
1133 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Interest_Expense" eSuperTypes="#//DS">
1134 <eOperations name="compute_maximum_deductible_amount" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1135 <eParameters name="IN_children_with_allowances" ordered="false" upperBound="-1"
1136 eType="#//Dependent"/>
1137 <eParameters name="IN_legal_union" ordered="false" upperBound="-1" eType="#//Legal_Union_Record"/>
1138 </eOperations>
1139 </eClassifiers>
1140 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Health_and_Pension_Insurance"
1141 eSuperTypes="#//DS">
1142 <eStructuralFeatures xsi:type="ecore:EAttribute" name="insurance_category" lowerBound="1"
1143 eType="#//Category_of_Health_and_Pension_Insurances"/>
1144 </eClassifiers>
1145 <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Health_and_Pension_Insurances">
1146 <eLiterals name="MANDATORY_HEALTH_AND_PENSION_INSURANCE" literal="MANDATORY_HEALTH_AND_PENSION_INSURANCE"/>
1147 <eLiterals name="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE" value="1" literal="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE"/>
1148 <eLiterals name="CONTINUED_HEALTH_AND_PENSION_INSURANCE" value="2" literal="CONTINUED_HEALTH_AND_PENSION_INSURANCE"/>
1149 </eClassifiers>
1150 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Private_Insurance_and_Plan" eSuperTypes="#//DS">
1151 <eOperations name="compute_increase_for_life_insurance" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1152 <eOperations name="compute_maximum_deductible_amount_for_private_insruance" lowerBound="1"
1153 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1154 <eOperations name="compute_maximum_deductible_amount_for_old_age_pension_plan"
1155 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1156 <eStructuralFeatures xsi:type="ecore:EAttribute" name="private_insurance_and_plan_category"
1157 lowerBound="1" eType="#//Category_of_Private_Insurance_and_Plan"/>
1158 <eStructuralFeatures xsi:type="ecore:EAttribute" name="increase_for_life_insurance"
1159 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
1160 derived="true"/>
1161 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount_for_private_insurance"
1162 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
1163 derived="true"/>
1164 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount_for_old_age_pension_plan"
1165 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
1166 derived="true"/>
1167 </eClassifiers>
1168 <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Private_Insurance_and_Plan">
1169 <eLiterals name="PRIVATE_INSURANCE" literal="PRIVATE_INSURANCE"/>
1170 <eLiterals name="PRIVATE_LIFE_INSURANCE" value="1" literal="PRIVATE_LIFE_INSURANCE"/>
1171 <eLiterals name="COMPANY_MEMBERS_PRIVATE_INSURANCE" value="2" literal="COMPANY_MEMBERS_PRIVATE_INSURANCE"/>
1172 <eLiterals name="HOUSING_SAVING_PLAN" value="3" literal="HOUSING_SAVING_PLAN"/>
1173 <eLiterals name="OLD_AGE_PENSION_PLAN" value="4" literal="OLD_AGE_PENSION_PLAN"/>
1174 </eClassifiers>
1175 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Loss_Carryforward" eSuperTypes="#//DS"/>
1176 <eClassifiers xsi:type="ecore:EClass" name="DS_for_Donation" eSuperTypes="#//DS"/>
1177 <eClassifiers xsi:type="ecore:EClass" name="Permanent_Expense" eSuperTypes="#//Special_Expense_DS">
1178 <eOperations name="is_expense_eligible_for_deduction" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
1179 <eParameters name="IN_agent_response" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1180 </eOperations>
1181 <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1"
1182 eType="#//Category_of_Permanent_Expense"/>
1183 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_eligible_for_deduction"
1184 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1185 defaultValueLiteral="false" derived="true"/>
1186 </eClassifiers>
1187 <eClassifiers xsi:type="ecore:EClass" name="Special_Expense_DS" eSuperTypes="#//Expense"/>
1188 <eClassifiers xsi:type="ecore:EClass" name="Interest_Expense" eSuperTypes="#//Special_Expense_DS"/>
1189 <eClassifiers xsi:type="ecore:EClass" name="Private_Insurance_and_Plan" eSuperTypes="#//Special_Expense_DS">
1190 <eOperations name="is_private_insurance_and_plan_eligible_for_deduction" lowerBound="1"
1191 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1192 <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1"
1193 eType="#//Category_of_Private_Insurance_and_Plan"/>
1194 <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration_of_contract" lowerBound="1"
1195 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
1196 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_private_insurance_and_plan_eligible_for_deduction"
1197 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1198 defaultValueLiteral="false" derived="true"/>
1199 </eClassifiers>
1200 <eClassifiers xsi:type="ecore:EClass" name="Health_and_Pension_Insurance" eSuperTypes="#//Special_Expense_DS">
1201 <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1"
1202 eType="#//Category_of_Health_and_Pension_Insurances"/>
1203 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_related_to_additional_salary"
1204 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1205 defaultValueLiteral="false"/>
1206 </eClassifiers>
1207 <eClassifiers xsi:type="ecore:EClass" name="Donation" eSuperTypes="#//Special_Expense_DS">
1208 <eOperations name="get_beneficiary_eligibility_for_deduction" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1209 <eStructuralFeatures xsi:type="ecore:EAttribute" name="beneficiary1" lowerBound="1"
1210 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
1211 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_beneficiary_eligible"
1212 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1213 defaultValueLiteral="false" derived="true"/>
1214 <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_donation_reported" lowerBound="1"
1215 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1216 </eClassifiers>
1217 <eClassifiers xsi:type="ecore:EClass" name="Loss_Carryforward" eSuperTypes="#//Special_Expense_DS">
1218 <eOperations name="is_accountability_regular" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1219 <eOperations name="is_compensated_by_other_means" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1220 <eOperations name="has_been_tax_payer_partner_in_business" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1221 <eOperations name="has_tax_payer_inherited_business_ownership" lowerBound="1"
1222 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1223 <eStructuralFeatures xsi:type="ecore:EAttribute" name="regular_accountability"
1224 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1225 derived="true"/>
1226 <eStructuralFeatures xsi:type="ecore:EAttribute" name="compensation_by_other_means"
1227 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1228 derived="true"/>
1229 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payer_has_inherited_business_ownership"
1230 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1231 defaultValueLiteral="false" derived="true"/>
1232 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payer_has_been_partner_in_business"
1233 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
1234 defaultValueLiteral="true" derived="true"/>
1235 </eClassifiers>
1236 <eClassifiers xsi:type="ecore:EClass" name="Spousal_Expense_AC" eSuperTypes="#//Expense"/>
1237 <eClassifiers xsi:type="ecore:EClass" name="Extraordinary_Expense_CE" eSuperTypes="#//Expense">
1238 <eOperations name="is_above_thresholded_deduction_percentage_for_CE" lowerBound="1"
1239 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
1240 <eOperations name="compute_thresholded_deduction_percentage_for_CE" lowerBound="1"
1241 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
1242 <eParameters name="IN_thresholded_deduction_percentage" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1243 </eOperations>
1244 <eStructuralFeatures xsi:type="ecore:EAttribute" name="thresholded_deduction_percentage"
1245 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
1246 <eStructuralFeatures xsi:type="ecore:EAttribute" name="ce_type" lowerBound="1"
1247 eType="#//CE_Type"/>
1248 </eClassifiers>
1249 <eClassifiers xsi:type="ecore:EClass" name="Travel_Expense_FD" eSuperTypes="#//Professional_Expense"/>
1250 <eClassifiers xsi:type="ecore:EClass" name="Professional_Expense" eSuperTypes="#//Expense"/>
1251 <eClassifiers xsi:type="ecore:EClass" name="Miscellaneous_Expense_FO" eSuperTypes="#//Professional_Expense"/>
1252 <eClassifiers xsi:type="ecore:EEnum" name="Legal_Union_Types">
1253 <eLiterals name="MARIAGE"/>
1254 <eLiterals name="PARTNERSHIP" value="1"/>
1255 <eLiterals name="OTHER" value="2"/>
1256 </eClassifiers>
1257</ecore:EPackage>
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationFactoryImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationFactoryImpl.java
new file mode 100644
index 00000000..36f4493c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationFactoryImpl.java
@@ -0,0 +1,1144 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EDataType;
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EPackage;
11
12import org.eclipse.emf.ecore.impl.EFactoryImpl;
13
14import org.eclipse.emf.ecore.plugin.EcorePlugin;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class TaxationFactoryImpl extends EFactoryImpl implements TaxationFactory {
23 /**
24 * Creates the default factory implementation.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 public static TaxationFactory init() {
30 try {
31 TaxationFactory theTaxationFactory = (TaxationFactory)EPackage.Registry.INSTANCE.getEFactory(TaxationPackage.eNS_URI);
32 if (theTaxationFactory != null) {
33 return theTaxationFactory;
34 }
35 }
36 catch (Exception exception) {
37 EcorePlugin.INSTANCE.log(exception);
38 }
39 return new TaxationFactoryImpl();
40 }
41
42 /**
43 * Creates an instance of the factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public TaxationFactoryImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 public EObject create(EClass eClass) {
59 switch (eClass.getClassifierID()) {
60 case TaxationPackage.INCOME_TAX: return createIncome_Tax();
61 case TaxationPackage.PHYSICAL_PERSON: return createPhysical_Person();
62 case TaxationPackage.ADDRESS: return createAddress();
63 case TaxationPackage.EXPENSE: return createExpense();
64 case TaxationPackage.DEPENDENT: return createDependent();
65 case TaxationPackage.EXTERNAL_ALLOWANCE: return createExternal_Allowance();
66 case TaxationPackage.HOUSEHOLD: return createHousehold();
67 case TaxationPackage.TAX_PROPERTY: return createTax_Property();
68 case TaxationPackage.FROM_AGENT: return createFromAgent();
69 case TaxationPackage.TAX_CARD: return createTax_Card();
70 case TaxationPackage.INCOME_TAX_CREDIT: return createIncome_Tax_Credit();
71 case TaxationPackage.INCOME_DETAIL: return createIncome_Detail();
72 case TaxationPackage.FROM_LAW: return createFromLaw();
73 case TaxationPackage.FISCAL_ADDRESS: return createFiscal_Address();
74 case TaxationPackage.HABITUAL_ADDRESS: return createHabitual_Address();
75 case TaxationPackage.MARRIAGE_RECORD: return createMarriage_Record();
76 case TaxationPackage.NON_RESIDENT_TAX_PAYER: return createNon_Resident_Tax_Payer();
77 case TaxationPackage.PARTNERSHIP_RECORD: return createPartnership_Record();
78 case TaxationPackage.RESIDENT_TAX_PAYER: return createResident_Tax_Payer();
79 case TaxationPackage.TRADE_AND_BUSINESS_INCOME: return createTrade_and_Business_Income();
80 case TaxationPackage.AGRICULTURE_AND_FORESTRY_INCOME: return createAgriculture_and_Forestry_Income();
81 case TaxationPackage.PENSIONS_AND_ANNUITIES_INCOME: return createPensions_and_Annuities_Income();
82 case TaxationPackage.CAPITAL_AND_INVESTMENTS_INCOME: return createCapital_and_Investments_Income();
83 case TaxationPackage.EMPLOYMENT_INCOME: return createEmployment_Income();
84 case TaxationPackage.RENTALS_AND_LEASES_INCOME: return createRentals_and_Leases_Income();
85 case TaxationPackage.FOREIGN_INCOME: return createForeign_Income();
86 case TaxationPackage.LOCAL_INCOME: return createLocal_Income();
87 case TaxationPackage.CIM: return createCIM();
88 case TaxationPackage.CIP: return createCIP();
89 case TaxationPackage.CIS: return createCIS();
90 case TaxationPackage.FD: return createFD();
91 case TaxationPackage.PROFESSIONAL_EXPENSES_DEDUCTION: return createProfessional_Expenses_Deduction();
92 case TaxationPackage.FO: return createFO();
93 case TaxationPackage.DS_FOR_PERMANENT_EXPENSE: return createDS_for_Permanent_Expense();
94 case TaxationPackage.DS: return createDS();
95 case TaxationPackage.DS_FOR_INTEREST_EXPENSE: return createDS_for_Interest_Expense();
96 case TaxationPackage.DS_FOR_HEALTH_AND_PENSION_INSURANCE: return createDS_for_Health_and_Pension_Insurance();
97 case TaxationPackage.DS_FOR_PRIVATE_INSURANCE_AND_PLAN: return createDS_for_Private_Insurance_and_Plan();
98 case TaxationPackage.DS_FOR_LOSS_CARRYFORWARD: return createDS_for_Loss_Carryforward();
99 case TaxationPackage.DS_FOR_DONATION: return createDS_for_Donation();
100 case TaxationPackage.PERMANENT_EXPENSE: return createPermanent_Expense();
101 case TaxationPackage.SPECIAL_EXPENSE_DS: return createSpecial_Expense_DS();
102 case TaxationPackage.INTEREST_EXPENSE: return createInterest_Expense();
103 case TaxationPackage.PRIVATE_INSURANCE_AND_PLAN: return createPrivate_Insurance_and_Plan();
104 case TaxationPackage.HEALTH_AND_PENSION_INSURANCE: return createHealth_and_Pension_Insurance();
105 case TaxationPackage.DONATION: return createDonation();
106 case TaxationPackage.LOSS_CARRYFORWARD: return createLoss_Carryforward();
107 case TaxationPackage.SPOUSAL_EXPENSE_AC: return createSpousal_Expense_AC();
108 case TaxationPackage.EXTRAORDINARY_EXPENSE_CE: return createExtraordinary_Expense_CE();
109 case TaxationPackage.TRAVEL_EXPENSE_FD: return createTravel_Expense_FD();
110 case TaxationPackage.PROFESSIONAL_EXPENSE: return createProfessional_Expense();
111 case TaxationPackage.MISCELLANEOUS_EXPENSE_FO: return createMiscellaneous_Expense_FO();
112 default:
113 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
114 }
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Object createFromString(EDataType eDataType, String initialValue) {
124 switch (eDataType.getClassifierID()) {
125 case TaxationPackage.GRANTOR:
126 return createGrantorFromString(eDataType, initialValue);
127 case TaxationPackage.DISABILITY_TYPES:
128 return createDisability_TypesFromString(eDataType, initialValue);
129 case TaxationPackage.COUNTRY:
130 return createCountryFromString(eDataType, initialValue);
131 case TaxationPackage.TAX_CARD_TYPE:
132 return createTax_Card_TypeFromString(eDataType, initialValue);
133 case TaxationPackage.TAX_OFFICE:
134 return createTax_OfficeFromString(eDataType, initialValue);
135 case TaxationPackage.TAX_CLASS_CATEGORY:
136 return createTax_Class_CategoryFromString(eDataType, initialValue);
137 case TaxationPackage.JOB_ACTIVITY:
138 return createJob_ActivityFromString(eDataType, initialValue);
139 case TaxationPackage.TOWN:
140 return createTownFromString(eDataType, initialValue);
141 case TaxationPackage.TYPE_OF_RATE:
142 return createType_of_RateFromString(eDataType, initialValue);
143 case TaxationPackage.CE_TYPE:
144 return createCE_TypeFromString(eDataType, initialValue);
145 case TaxationPackage.EXPENSE_PURPOSE:
146 return createExpense_PurposeFromString(eDataType, initialValue);
147 case TaxationPackage.DEPENDENT_TYPE:
148 return createDependent_TypeFromString(eDataType, initialValue);
149 case TaxationPackage.SEPARATION_CAUSES:
150 return createSeparation_CausesFromString(eDataType, initialValue);
151 case TaxationPackage.CATEGORY_OF_PERMANENT_EXPENSE:
152 return createCategory_of_Permanent_ExpenseFromString(eDataType, initialValue);
153 case TaxationPackage.CATEGORY_OF_HEALTH_AND_PENSION_INSURANCES:
154 return createCategory_of_Health_and_Pension_InsurancesFromString(eDataType, initialValue);
155 case TaxationPackage.CATEGORY_OF_PRIVATE_INSURANCE_AND_PLAN:
156 return createCategory_of_Private_Insurance_and_PlanFromString(eDataType, initialValue);
157 case TaxationPackage.LEGAL_UNION_TYPES:
158 return createLegal_Union_TypesFromString(eDataType, initialValue);
159 default:
160 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
161 }
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public String convertToString(EDataType eDataType, Object instanceValue) {
171 switch (eDataType.getClassifierID()) {
172 case TaxationPackage.GRANTOR:
173 return convertGrantorToString(eDataType, instanceValue);
174 case TaxationPackage.DISABILITY_TYPES:
175 return convertDisability_TypesToString(eDataType, instanceValue);
176 case TaxationPackage.COUNTRY:
177 return convertCountryToString(eDataType, instanceValue);
178 case TaxationPackage.TAX_CARD_TYPE:
179 return convertTax_Card_TypeToString(eDataType, instanceValue);
180 case TaxationPackage.TAX_OFFICE:
181 return convertTax_OfficeToString(eDataType, instanceValue);
182 case TaxationPackage.TAX_CLASS_CATEGORY:
183 return convertTax_Class_CategoryToString(eDataType, instanceValue);
184 case TaxationPackage.JOB_ACTIVITY:
185 return convertJob_ActivityToString(eDataType, instanceValue);
186 case TaxationPackage.TOWN:
187 return convertTownToString(eDataType, instanceValue);
188 case TaxationPackage.TYPE_OF_RATE:
189 return convertType_of_RateToString(eDataType, instanceValue);
190 case TaxationPackage.CE_TYPE:
191 return convertCE_TypeToString(eDataType, instanceValue);
192 case TaxationPackage.EXPENSE_PURPOSE:
193 return convertExpense_PurposeToString(eDataType, instanceValue);
194 case TaxationPackage.DEPENDENT_TYPE:
195 return convertDependent_TypeToString(eDataType, instanceValue);
196 case TaxationPackage.SEPARATION_CAUSES:
197 return convertSeparation_CausesToString(eDataType, instanceValue);
198 case TaxationPackage.CATEGORY_OF_PERMANENT_EXPENSE:
199 return convertCategory_of_Permanent_ExpenseToString(eDataType, instanceValue);
200 case TaxationPackage.CATEGORY_OF_HEALTH_AND_PENSION_INSURANCES:
201 return convertCategory_of_Health_and_Pension_InsurancesToString(eDataType, instanceValue);
202 case TaxationPackage.CATEGORY_OF_PRIVATE_INSURANCE_AND_PLAN:
203 return convertCategory_of_Private_Insurance_and_PlanToString(eDataType, instanceValue);
204 case TaxationPackage.LEGAL_UNION_TYPES:
205 return convertLegal_Union_TypesToString(eDataType, instanceValue);
206 default:
207 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
208 }
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public Income_Tax createIncome_Tax() {
218 Income_TaxImpl income_Tax = new Income_TaxImpl();
219 return income_Tax;
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Physical_Person createPhysical_Person() {
229 Physical_PersonImpl physical_Person = new Physical_PersonImpl();
230 return physical_Person;
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public Address createAddress() {
240 AddressImpl address = new AddressImpl();
241 return address;
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @Override
250 public Expense createExpense() {
251 ExpenseImpl expense = new ExpenseImpl();
252 return expense;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public Dependent createDependent() {
262 DependentImpl dependent = new DependentImpl();
263 return dependent;
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public External_Allowance createExternal_Allowance() {
273 External_AllowanceImpl external_Allowance = new External_AllowanceImpl();
274 return external_Allowance;
275 }
276
277 /**
278 * <!-- begin-user-doc -->
279 * <!-- end-user-doc -->
280 * @generated
281 */
282 @Override
283 public Household createHousehold() {
284 HouseholdImpl household = new HouseholdImpl();
285 return household;
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 @Override
294 public Tax_Property createTax_Property() {
295 Tax_PropertyImpl tax_Property = new Tax_PropertyImpl();
296 return tax_Property;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public FromAgent createFromAgent() {
306 FromAgentImpl fromAgent = new FromAgentImpl();
307 return fromAgent;
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public Tax_Card createTax_Card() {
317 Tax_CardImpl tax_Card = new Tax_CardImpl();
318 return tax_Card;
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 @Override
327 public Income_Tax_Credit createIncome_Tax_Credit() {
328 Income_Tax_CreditImpl income_Tax_Credit = new Income_Tax_CreditImpl();
329 return income_Tax_Credit;
330 }
331
332 /**
333 * <!-- begin-user-doc -->
334 * <!-- end-user-doc -->
335 * @generated
336 */
337 @Override
338 public Income_Detail createIncome_Detail() {
339 Income_DetailImpl income_Detail = new Income_DetailImpl();
340 return income_Detail;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public FromLaw createFromLaw() {
350 FromLawImpl fromLaw = new FromLawImpl();
351 return fromLaw;
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @Override
360 public Fiscal_Address createFiscal_Address() {
361 Fiscal_AddressImpl fiscal_Address = new Fiscal_AddressImpl();
362 return fiscal_Address;
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 @Override
371 public Habitual_Address createHabitual_Address() {
372 Habitual_AddressImpl habitual_Address = new Habitual_AddressImpl();
373 return habitual_Address;
374 }
375
376 /**
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 */
381 @Override
382 public Marriage_Record createMarriage_Record() {
383 Marriage_RecordImpl marriage_Record = new Marriage_RecordImpl();
384 return marriage_Record;
385 }
386
387 /**
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 */
392 @Override
393 public Non_Resident_Tax_Payer createNon_Resident_Tax_Payer() {
394 Non_Resident_Tax_PayerImpl non_Resident_Tax_Payer = new Non_Resident_Tax_PayerImpl();
395 return non_Resident_Tax_Payer;
396 }
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 @Override
404 public Partnership_Record createPartnership_Record() {
405 Partnership_RecordImpl partnership_Record = new Partnership_RecordImpl();
406 return partnership_Record;
407 }
408
409 /**
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 */
414 @Override
415 public Resident_Tax_Payer createResident_Tax_Payer() {
416 Resident_Tax_PayerImpl resident_Tax_Payer = new Resident_Tax_PayerImpl();
417 return resident_Tax_Payer;
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public Trade_and_Business_Income createTrade_and_Business_Income() {
427 Trade_and_Business_IncomeImpl trade_and_Business_Income = new Trade_and_Business_IncomeImpl();
428 return trade_and_Business_Income;
429 }
430
431 /**
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @generated
435 */
436 @Override
437 public Agriculture_and_Forestry_Income createAgriculture_and_Forestry_Income() {
438 Agriculture_and_Forestry_IncomeImpl agriculture_and_Forestry_Income = new Agriculture_and_Forestry_IncomeImpl();
439 return agriculture_and_Forestry_Income;
440 }
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 @Override
448 public Pensions_and_Annuities_Income createPensions_and_Annuities_Income() {
449 Pensions_and_Annuities_IncomeImpl pensions_and_Annuities_Income = new Pensions_and_Annuities_IncomeImpl();
450 return pensions_and_Annuities_Income;
451 }
452
453 /**
454 * <!-- begin-user-doc -->
455 * <!-- end-user-doc -->
456 * @generated
457 */
458 @Override
459 public Capital_and_Investments_Income createCapital_and_Investments_Income() {
460 Capital_and_Investments_IncomeImpl capital_and_Investments_Income = new Capital_and_Investments_IncomeImpl();
461 return capital_and_Investments_Income;
462 }
463
464 /**
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @generated
468 */
469 @Override
470 public Employment_Income createEmployment_Income() {
471 Employment_IncomeImpl employment_Income = new Employment_IncomeImpl();
472 return employment_Income;
473 }
474
475 /**
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 */
480 @Override
481 public Rentals_and_Leases_Income createRentals_and_Leases_Income() {
482 Rentals_and_Leases_IncomeImpl rentals_and_Leases_Income = new Rentals_and_Leases_IncomeImpl();
483 return rentals_and_Leases_Income;
484 }
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 @Override
492 public Foreign_Income createForeign_Income() {
493 Foreign_IncomeImpl foreign_Income = new Foreign_IncomeImpl();
494 return foreign_Income;
495 }
496
497 /**
498 * <!-- begin-user-doc -->
499 * <!-- end-user-doc -->
500 * @generated
501 */
502 @Override
503 public Local_Income createLocal_Income() {
504 Local_IncomeImpl local_Income = new Local_IncomeImpl();
505 return local_Income;
506 }
507
508 /**
509 * <!-- begin-user-doc -->
510 * <!-- end-user-doc -->
511 * @generated
512 */
513 @Override
514 public CIM createCIM() {
515 CIMImpl cim = new CIMImpl();
516 return cim;
517 }
518
519 /**
520 * <!-- begin-user-doc -->
521 * <!-- end-user-doc -->
522 * @generated
523 */
524 @Override
525 public CIP createCIP() {
526 CIPImpl cip = new CIPImpl();
527 return cip;
528 }
529
530 /**
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @generated
534 */
535 @Override
536 public CIS createCIS() {
537 CISImpl cis = new CISImpl();
538 return cis;
539 }
540
541 /**
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 */
546 @Override
547 public FD createFD() {
548 FDImpl fd = new FDImpl();
549 return fd;
550 }
551
552 /**
553 * <!-- begin-user-doc -->
554 * <!-- end-user-doc -->
555 * @generated
556 */
557 @Override
558 public Professional_Expenses_Deduction createProfessional_Expenses_Deduction() {
559 Professional_Expenses_DeductionImpl professional_Expenses_Deduction = new Professional_Expenses_DeductionImpl();
560 return professional_Expenses_Deduction;
561 }
562
563 /**
564 * <!-- begin-user-doc -->
565 * <!-- end-user-doc -->
566 * @generated
567 */
568 @Override
569 public FO createFO() {
570 FOImpl fo = new FOImpl();
571 return fo;
572 }
573
574 /**
575 * <!-- begin-user-doc -->
576 * <!-- end-user-doc -->
577 * @generated
578 */
579 @Override
580 public DS_for_Permanent_Expense createDS_for_Permanent_Expense() {
581 DS_for_Permanent_ExpenseImpl dS_for_Permanent_Expense = new DS_for_Permanent_ExpenseImpl();
582 return dS_for_Permanent_Expense;
583 }
584
585 /**
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @generated
589 */
590 @Override
591 public DS createDS() {
592 DSImpl ds = new DSImpl();
593 return ds;
594 }
595
596 /**
597 * <!-- begin-user-doc -->
598 * <!-- end-user-doc -->
599 * @generated
600 */
601 @Override
602 public DS_for_Interest_Expense createDS_for_Interest_Expense() {
603 DS_for_Interest_ExpenseImpl dS_for_Interest_Expense = new DS_for_Interest_ExpenseImpl();
604 return dS_for_Interest_Expense;
605 }
606
607 /**
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @generated
611 */
612 @Override
613 public DS_for_Health_and_Pension_Insurance createDS_for_Health_and_Pension_Insurance() {
614 DS_for_Health_and_Pension_InsuranceImpl dS_for_Health_and_Pension_Insurance = new DS_for_Health_and_Pension_InsuranceImpl();
615 return dS_for_Health_and_Pension_Insurance;
616 }
617
618 /**
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 */
623 @Override
624 public DS_for_Private_Insurance_and_Plan createDS_for_Private_Insurance_and_Plan() {
625 DS_for_Private_Insurance_and_PlanImpl dS_for_Private_Insurance_and_Plan = new DS_for_Private_Insurance_and_PlanImpl();
626 return dS_for_Private_Insurance_and_Plan;
627 }
628
629 /**
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 */
634 @Override
635 public DS_for_Loss_Carryforward createDS_for_Loss_Carryforward() {
636 DS_for_Loss_CarryforwardImpl dS_for_Loss_Carryforward = new DS_for_Loss_CarryforwardImpl();
637 return dS_for_Loss_Carryforward;
638 }
639
640 /**
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @generated
644 */
645 @Override
646 public DS_for_Donation createDS_for_Donation() {
647 DS_for_DonationImpl dS_for_Donation = new DS_for_DonationImpl();
648 return dS_for_Donation;
649 }
650
651 /**
652 * <!-- begin-user-doc -->
653 * <!-- end-user-doc -->
654 * @generated
655 */
656 @Override
657 public Permanent_Expense createPermanent_Expense() {
658 Permanent_ExpenseImpl permanent_Expense = new Permanent_ExpenseImpl();
659 return permanent_Expense;
660 }
661
662 /**
663 * <!-- begin-user-doc -->
664 * <!-- end-user-doc -->
665 * @generated
666 */
667 @Override
668 public Special_Expense_DS createSpecial_Expense_DS() {
669 Special_Expense_DSImpl special_Expense_DS = new Special_Expense_DSImpl();
670 return special_Expense_DS;
671 }
672
673 /**
674 * <!-- begin-user-doc -->
675 * <!-- end-user-doc -->
676 * @generated
677 */
678 @Override
679 public Interest_Expense createInterest_Expense() {
680 Interest_ExpenseImpl interest_Expense = new Interest_ExpenseImpl();
681 return interest_Expense;
682 }
683
684 /**
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 */
689 @Override
690 public Private_Insurance_and_Plan createPrivate_Insurance_and_Plan() {
691 Private_Insurance_and_PlanImpl private_Insurance_and_Plan = new Private_Insurance_and_PlanImpl();
692 return private_Insurance_and_Plan;
693 }
694
695 /**
696 * <!-- begin-user-doc -->
697 * <!-- end-user-doc -->
698 * @generated
699 */
700 @Override
701 public Health_and_Pension_Insurance createHealth_and_Pension_Insurance() {
702 Health_and_Pension_InsuranceImpl health_and_Pension_Insurance = new Health_and_Pension_InsuranceImpl();
703 return health_and_Pension_Insurance;
704 }
705
706 /**
707 * <!-- begin-user-doc -->
708 * <!-- end-user-doc -->
709 * @generated
710 */
711 @Override
712 public Donation createDonation() {
713 DonationImpl donation = new DonationImpl();
714 return donation;
715 }
716
717 /**
718 * <!-- begin-user-doc -->
719 * <!-- end-user-doc -->
720 * @generated
721 */
722 @Override
723 public Loss_Carryforward createLoss_Carryforward() {
724 Loss_CarryforwardImpl loss_Carryforward = new Loss_CarryforwardImpl();
725 return loss_Carryforward;
726 }
727
728 /**
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @generated
732 */
733 @Override
734 public Spousal_Expense_AC createSpousal_Expense_AC() {
735 Spousal_Expense_ACImpl spousal_Expense_AC = new Spousal_Expense_ACImpl();
736 return spousal_Expense_AC;
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 @Override
745 public Extraordinary_Expense_CE createExtraordinary_Expense_CE() {
746 Extraordinary_Expense_CEImpl extraordinary_Expense_CE = new Extraordinary_Expense_CEImpl();
747 return extraordinary_Expense_CE;
748 }
749
750 /**
751 * <!-- begin-user-doc -->
752 * <!-- end-user-doc -->
753 * @generated
754 */
755 @Override
756 public Travel_Expense_FD createTravel_Expense_FD() {
757 Travel_Expense_FDImpl travel_Expense_FD = new Travel_Expense_FDImpl();
758 return travel_Expense_FD;
759 }
760
761 /**
762 * <!-- begin-user-doc -->
763 * <!-- end-user-doc -->
764 * @generated
765 */
766 @Override
767 public Professional_Expense createProfessional_Expense() {
768 Professional_ExpenseImpl professional_Expense = new Professional_ExpenseImpl();
769 return professional_Expense;
770 }
771
772 /**
773 * <!-- begin-user-doc -->
774 * <!-- end-user-doc -->
775 * @generated
776 */
777 @Override
778 public Miscellaneous_Expense_FO createMiscellaneous_Expense_FO() {
779 Miscellaneous_Expense_FOImpl miscellaneous_Expense_FO = new Miscellaneous_Expense_FOImpl();
780 return miscellaneous_Expense_FO;
781 }
782
783 /**
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @generated
787 */
788 public Grantor createGrantorFromString(EDataType eDataType, String initialValue) {
789 Grantor result = Grantor.get(initialValue);
790 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
791 return result;
792 }
793
794 /**
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @generated
798 */
799 public String convertGrantorToString(EDataType eDataType, Object instanceValue) {
800 return instanceValue == null ? null : instanceValue.toString();
801 }
802
803 /**
804 * <!-- begin-user-doc -->
805 * <!-- end-user-doc -->
806 * @generated
807 */
808 public Disability_Types createDisability_TypesFromString(EDataType eDataType, String initialValue) {
809 Disability_Types result = Disability_Types.get(initialValue);
810 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
811 return result;
812 }
813
814 /**
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 */
819 public String convertDisability_TypesToString(EDataType eDataType, Object instanceValue) {
820 return instanceValue == null ? null : instanceValue.toString();
821 }
822
823 /**
824 * <!-- begin-user-doc -->
825 * <!-- end-user-doc -->
826 * @generated
827 */
828 public Country createCountryFromString(EDataType eDataType, String initialValue) {
829 Country result = Country.get(initialValue);
830 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
831 return result;
832 }
833
834 /**
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @generated
838 */
839 public String convertCountryToString(EDataType eDataType, Object instanceValue) {
840 return instanceValue == null ? null : instanceValue.toString();
841 }
842
843 /**
844 * <!-- begin-user-doc -->
845 * <!-- end-user-doc -->
846 * @generated
847 */
848 public Tax_Card_Type createTax_Card_TypeFromString(EDataType eDataType, String initialValue) {
849 Tax_Card_Type result = Tax_Card_Type.get(initialValue);
850 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
851 return result;
852 }
853
854 /**
855 * <!-- begin-user-doc -->
856 * <!-- end-user-doc -->
857 * @generated
858 */
859 public String convertTax_Card_TypeToString(EDataType eDataType, Object instanceValue) {
860 return instanceValue == null ? null : instanceValue.toString();
861 }
862
863 /**
864 * <!-- begin-user-doc -->
865 * <!-- end-user-doc -->
866 * @generated
867 */
868 public Tax_Office createTax_OfficeFromString(EDataType eDataType, String initialValue) {
869 Tax_Office result = Tax_Office.get(initialValue);
870 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
871 return result;
872 }
873
874 /**
875 * <!-- begin-user-doc -->
876 * <!-- end-user-doc -->
877 * @generated
878 */
879 public String convertTax_OfficeToString(EDataType eDataType, Object instanceValue) {
880 return instanceValue == null ? null : instanceValue.toString();
881 }
882
883 /**
884 * <!-- begin-user-doc -->
885 * <!-- end-user-doc -->
886 * @generated
887 */
888 public Tax_Class_Category createTax_Class_CategoryFromString(EDataType eDataType, String initialValue) {
889 Tax_Class_Category result = Tax_Class_Category.get(initialValue);
890 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
891 return result;
892 }
893
894 /**
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @generated
898 */
899 public String convertTax_Class_CategoryToString(EDataType eDataType, Object instanceValue) {
900 return instanceValue == null ? null : instanceValue.toString();
901 }
902
903 /**
904 * <!-- begin-user-doc -->
905 * <!-- end-user-doc -->
906 * @generated
907 */
908 public Job_Activity createJob_ActivityFromString(EDataType eDataType, String initialValue) {
909 Job_Activity result = Job_Activity.get(initialValue);
910 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
911 return result;
912 }
913
914 /**
915 * <!-- begin-user-doc -->
916 * <!-- end-user-doc -->
917 * @generated
918 */
919 public String convertJob_ActivityToString(EDataType eDataType, Object instanceValue) {
920 return instanceValue == null ? null : instanceValue.toString();
921 }
922
923 /**
924 * <!-- begin-user-doc -->
925 * <!-- end-user-doc -->
926 * @generated
927 */
928 public Town createTownFromString(EDataType eDataType, String initialValue) {
929 Town result = Town.get(initialValue);
930 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
931 return result;
932 }
933
934 /**
935 * <!-- begin-user-doc -->
936 * <!-- end-user-doc -->
937 * @generated
938 */
939 public String convertTownToString(EDataType eDataType, Object instanceValue) {
940 return instanceValue == null ? null : instanceValue.toString();
941 }
942
943 /**
944 * <!-- begin-user-doc -->
945 * <!-- end-user-doc -->
946 * @generated
947 */
948 public Type_of_Rate createType_of_RateFromString(EDataType eDataType, String initialValue) {
949 Type_of_Rate result = Type_of_Rate.get(initialValue);
950 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
951 return result;
952 }
953
954 /**
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @generated
958 */
959 public String convertType_of_RateToString(EDataType eDataType, Object instanceValue) {
960 return instanceValue == null ? null : instanceValue.toString();
961 }
962
963 /**
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @generated
967 */
968 public CE_Type createCE_TypeFromString(EDataType eDataType, String initialValue) {
969 CE_Type result = CE_Type.get(initialValue);
970 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
971 return result;
972 }
973
974 /**
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @generated
978 */
979 public String convertCE_TypeToString(EDataType eDataType, Object instanceValue) {
980 return instanceValue == null ? null : instanceValue.toString();
981 }
982
983 /**
984 * <!-- begin-user-doc -->
985 * <!-- end-user-doc -->
986 * @generated
987 */
988 public Expense_Purpose createExpense_PurposeFromString(EDataType eDataType, String initialValue) {
989 Expense_Purpose result = Expense_Purpose.get(initialValue);
990 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
991 return result;
992 }
993
994 /**
995 * <!-- begin-user-doc -->
996 * <!-- end-user-doc -->
997 * @generated
998 */
999 public String convertExpense_PurposeToString(EDataType eDataType, Object instanceValue) {
1000 return instanceValue == null ? null : instanceValue.toString();
1001 }
1002
1003 /**
1004 * <!-- begin-user-doc -->
1005 * <!-- end-user-doc -->
1006 * @generated
1007 */
1008 public Dependent_Type createDependent_TypeFromString(EDataType eDataType, String initialValue) {
1009 Dependent_Type result = Dependent_Type.get(initialValue);
1010 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1011 return result;
1012 }
1013
1014 /**
1015 * <!-- begin-user-doc -->
1016 * <!-- end-user-doc -->
1017 * @generated
1018 */
1019 public String convertDependent_TypeToString(EDataType eDataType, Object instanceValue) {
1020 return instanceValue == null ? null : instanceValue.toString();
1021 }
1022
1023 /**
1024 * <!-- begin-user-doc -->
1025 * <!-- end-user-doc -->
1026 * @generated
1027 */
1028 public Separation_Causes createSeparation_CausesFromString(EDataType eDataType, String initialValue) {
1029 Separation_Causes result = Separation_Causes.get(initialValue);
1030 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1031 return result;
1032 }
1033
1034 /**
1035 * <!-- begin-user-doc -->
1036 * <!-- end-user-doc -->
1037 * @generated
1038 */
1039 public String convertSeparation_CausesToString(EDataType eDataType, Object instanceValue) {
1040 return instanceValue == null ? null : instanceValue.toString();
1041 }
1042
1043 /**
1044 * <!-- begin-user-doc -->
1045 * <!-- end-user-doc -->
1046 * @generated
1047 */
1048 public Category_of_Permanent_Expense createCategory_of_Permanent_ExpenseFromString(EDataType eDataType, String initialValue) {
1049 Category_of_Permanent_Expense result = Category_of_Permanent_Expense.get(initialValue);
1050 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1051 return result;
1052 }
1053
1054 /**
1055 * <!-- begin-user-doc -->
1056 * <!-- end-user-doc -->
1057 * @generated
1058 */
1059 public String convertCategory_of_Permanent_ExpenseToString(EDataType eDataType, Object instanceValue) {
1060 return instanceValue == null ? null : instanceValue.toString();
1061 }
1062
1063 /**
1064 * <!-- begin-user-doc -->
1065 * <!-- end-user-doc -->
1066 * @generated
1067 */
1068 public Category_of_Health_and_Pension_Insurances createCategory_of_Health_and_Pension_InsurancesFromString(EDataType eDataType, String initialValue) {
1069 Category_of_Health_and_Pension_Insurances result = Category_of_Health_and_Pension_Insurances.get(initialValue);
1070 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1071 return result;
1072 }
1073
1074 /**
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 */
1079 public String convertCategory_of_Health_and_Pension_InsurancesToString(EDataType eDataType, Object instanceValue) {
1080 return instanceValue == null ? null : instanceValue.toString();
1081 }
1082
1083 /**
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @generated
1087 */
1088 public Category_of_Private_Insurance_and_Plan createCategory_of_Private_Insurance_and_PlanFromString(EDataType eDataType, String initialValue) {
1089 Category_of_Private_Insurance_and_Plan result = Category_of_Private_Insurance_and_Plan.get(initialValue);
1090 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1091 return result;
1092 }
1093
1094 /**
1095 * <!-- begin-user-doc -->
1096 * <!-- end-user-doc -->
1097 * @generated
1098 */
1099 public String convertCategory_of_Private_Insurance_and_PlanToString(EDataType eDataType, Object instanceValue) {
1100 return instanceValue == null ? null : instanceValue.toString();
1101 }
1102
1103 /**
1104 * <!-- begin-user-doc -->
1105 * <!-- end-user-doc -->
1106 * @generated
1107 */
1108 public Legal_Union_Types createLegal_Union_TypesFromString(EDataType eDataType, String initialValue) {
1109 Legal_Union_Types result = Legal_Union_Types.get(initialValue);
1110 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
1111 return result;
1112 }
1113
1114 /**
1115 * <!-- begin-user-doc -->
1116 * <!-- end-user-doc -->
1117 * @generated
1118 */
1119 public String convertLegal_Union_TypesToString(EDataType eDataType, Object instanceValue) {
1120 return instanceValue == null ? null : instanceValue.toString();
1121 }
1122
1123 /**
1124 * <!-- begin-user-doc -->
1125 * <!-- end-user-doc -->
1126 * @generated
1127 */
1128 @Override
1129 public TaxationPackage getTaxationPackage() {
1130 return (TaxationPackage)getEPackage();
1131 }
1132
1133 /**
1134 * <!-- begin-user-doc -->
1135 * <!-- end-user-doc -->
1136 * @deprecated
1137 * @generated
1138 */
1139 @Deprecated
1140 public static TaxationPackage getPackage() {
1141 return TaxationPackage.eINSTANCE;
1142 }
1143
1144} //TaxationFactoryImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java
new file mode 100644
index 00000000..61f42b3e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java
@@ -0,0 +1,4271 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.Address;
6import Taxation.Agriculture_and_Forestry_Income;
7import Taxation.CE_Type;
8import Taxation.Capital_and_Investments_Income;
9import Taxation.Category_of_Health_and_Pension_Insurances;
10import Taxation.Category_of_Permanent_Expense;
11import Taxation.Category_of_Private_Insurance_and_Plan;
12import Taxation.Constants;
13import Taxation.Country;
14import Taxation.DS_for_Donation;
15import Taxation.DS_for_Health_and_Pension_Insurance;
16import Taxation.DS_for_Interest_Expense;
17import Taxation.DS_for_Loss_Carryforward;
18import Taxation.DS_for_Permanent_Expense;
19import Taxation.DS_for_Private_Insurance_and_Plan;
20import Taxation.Dependent;
21import Taxation.Dependent_Type;
22import Taxation.Disability_Types;
23import Taxation.Donation;
24import Taxation.Employment_Income;
25import Taxation.Expense;
26import Taxation.Expense_Purpose;
27import Taxation.External_Allowance;
28import Taxation.Extraordinary_Expense_CE;
29import Taxation.Fiscal_Address;
30import Taxation.Foreign_Income;
31import Taxation.FromAgent;
32import Taxation.FromLaw;
33import Taxation.Grantor;
34import Taxation.Habitual_Address;
35import Taxation.Health_and_Pension_Insurance;
36import Taxation.Household;
37import Taxation.Income;
38import Taxation.Income_Detail;
39import Taxation.Income_Tax;
40import Taxation.Income_Tax_Credit;
41import Taxation.Income_Type;
42import Taxation.Interest_Expense;
43import Taxation.Job_Activity;
44import Taxation.Legal_Union_Record;
45import Taxation.Legal_Union_Types;
46import Taxation.Local_Income;
47import Taxation.Loss_Carryforward;
48import Taxation.Marriage_Record;
49import Taxation.Miscellaneous_Expense_FO;
50import Taxation.Non_Resident_Tax_Payer;
51import Taxation.Partnership_Record;
52import Taxation.Pensions_and_Annuities_Income;
53import Taxation.Permanent_Expense;
54import Taxation.Physical_Person;
55import Taxation.Private_Insurance_and_Plan;
56import Taxation.Professional_Expense;
57import Taxation.Professional_Expenses_Deduction;
58import Taxation.Rentals_and_Leases_Income;
59import Taxation.Resident_Tax_Payer;
60import Taxation.Separation_Causes;
61import Taxation.Special_Expense_DS;
62import Taxation.Spousal_Expense_AC;
63import Taxation.Tax_Card;
64import Taxation.Tax_Card_Type;
65import Taxation.Tax_Case;
66import Taxation.Tax_Class_Category;
67import Taxation.Tax_Office;
68import Taxation.Tax_Payer;
69import Taxation.Tax_Property;
70import Taxation.TaxationFactory;
71import Taxation.TaxationPackage;
72import Taxation.Town;
73import Taxation.Trade_and_Business_Income;
74import Taxation.Travel_Expense_FD;
75import Taxation.Type_of_Rate;
76import org.eclipse.emf.ecore.EAttribute;
77import org.eclipse.emf.ecore.EClass;
78import org.eclipse.emf.ecore.EEnum;
79import org.eclipse.emf.ecore.EPackage;
80import org.eclipse.emf.ecore.EReference;
81
82import org.eclipse.emf.ecore.impl.EPackageImpl;
83
84/**
85 * <!-- begin-user-doc -->
86 * An implementation of the model <b>Package</b>.
87 * <!-- end-user-doc -->
88 * @generated
89 */
90public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage {
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 private EClass constantsEClass = null;
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 private EClass income_TaxEClass = null;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 private EClass tax_PayerEClass = null;
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 private EClass physical_PersonEClass = null;
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 private EClass addressEClass = null;
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 private EClass expenseEClass = null;
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 private EClass dependentEClass = null;
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 private EClass external_AllowanceEClass = null;
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 private EClass householdEClass = null;
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 private EClass legal_Union_RecordEClass = null;
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 private EClass tax_PropertyEClass = null;
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private EClass tax_CaseEClass = null;
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 private EClass fromAgentEClass = null;
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 private EClass incomeEClass = null;
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 private EClass income_TypeEClass = null;
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 private EClass tax_CardEClass = null;
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 private EClass income_Tax_CreditEClass = null;
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 private EClass income_DetailEClass = null;
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 private EClass fromLawEClass = null;
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 private EClass fiscal_AddressEClass = null;
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 private EClass habitual_AddressEClass = null;
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private EClass marriage_RecordEClass = null;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private EClass non_Resident_Tax_PayerEClass = null;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private EClass partnership_RecordEClass = null;
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 private EClass resident_Tax_PayerEClass = null;
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 private EClass trade_and_Business_IncomeEClass = null;
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 private EClass agriculture_and_Forestry_IncomeEClass = null;
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 private EClass pensions_and_Annuities_IncomeEClass = null;
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 private EClass capital_and_Investments_IncomeEClass = null;
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 private EClass employment_IncomeEClass = null;
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 private EClass rentals_and_Leases_IncomeEClass = null;
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 private EClass foreign_IncomeEClass = null;
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 private EClass local_IncomeEClass = null;
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 private EClass cimEClass = null;
328
329 /**
330 * <!-- begin-user-doc -->
331 * <!-- end-user-doc -->
332 * @generated
333 */
334 private EClass cipEClass = null;
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 private EClass cisEClass = null;
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 private EClass fdEClass = null;
349
350 /**
351 * <!-- begin-user-doc -->
352 * <!-- end-user-doc -->
353 * @generated
354 */
355 private EClass professional_Expenses_DeductionEClass = null;
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 private EClass foEClass = null;
363
364 /**
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 */
369 private EClass dS_for_Permanent_ExpenseEClass = null;
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 private EClass dsEClass = null;
377
378 /**
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @generated
382 */
383 private EClass dS_for_Interest_ExpenseEClass = null;
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 private EClass dS_for_Health_and_Pension_InsuranceEClass = null;
391
392 /**
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 */
397 private EClass dS_for_Private_Insurance_and_PlanEClass = null;
398
399 /**
400 * <!-- begin-user-doc -->
401 * <!-- end-user-doc -->
402 * @generated
403 */
404 private EClass dS_for_Loss_CarryforwardEClass = null;
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 private EClass dS_for_DonationEClass = null;
412
413 /**
414 * <!-- begin-user-doc -->
415 * <!-- end-user-doc -->
416 * @generated
417 */
418 private EClass permanent_ExpenseEClass = null;
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 private EClass special_Expense_DSEClass = null;
426
427 /**
428 * <!-- begin-user-doc -->
429 * <!-- end-user-doc -->
430 * @generated
431 */
432 private EClass interest_ExpenseEClass = null;
433
434 /**
435 * <!-- begin-user-doc -->
436 * <!-- end-user-doc -->
437 * @generated
438 */
439 private EClass private_Insurance_and_PlanEClass = null;
440
441 /**
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @generated
445 */
446 private EClass health_and_Pension_InsuranceEClass = null;
447
448 /**
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 */
453 private EClass donationEClass = null;
454
455 /**
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 */
460 private EClass loss_CarryforwardEClass = null;
461
462 /**
463 * <!-- begin-user-doc -->
464 * <!-- end-user-doc -->
465 * @generated
466 */
467 private EClass spousal_Expense_ACEClass = null;
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 private EClass extraordinary_Expense_CEEClass = null;
475
476 /**
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @generated
480 */
481 private EClass travel_Expense_FDEClass = null;
482
483 /**
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 */
488 private EClass professional_ExpenseEClass = null;
489
490 /**
491 * <!-- begin-user-doc -->
492 * <!-- end-user-doc -->
493 * @generated
494 */
495 private EClass miscellaneous_Expense_FOEClass = null;
496
497 /**
498 * <!-- begin-user-doc -->
499 * <!-- end-user-doc -->
500 * @generated
501 */
502 private EEnum grantorEEnum = null;
503
504 /**
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 private EEnum disability_TypesEEnum = null;
510
511 /**
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 */
516 private EEnum countryEEnum = null;
517
518 /**
519 * <!-- begin-user-doc -->
520 * <!-- end-user-doc -->
521 * @generated
522 */
523 private EEnum tax_Card_TypeEEnum = null;
524
525 /**
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @generated
529 */
530 private EEnum tax_OfficeEEnum = null;
531
532 /**
533 * <!-- begin-user-doc -->
534 * <!-- end-user-doc -->
535 * @generated
536 */
537 private EEnum tax_Class_CategoryEEnum = null;
538
539 /**
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 */
544 private EEnum job_ActivityEEnum = null;
545
546 /**
547 * <!-- begin-user-doc -->
548 * <!-- end-user-doc -->
549 * @generated
550 */
551 private EEnum townEEnum = null;
552
553 /**
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 */
558 private EEnum type_of_RateEEnum = null;
559
560 /**
561 * <!-- begin-user-doc -->
562 * <!-- end-user-doc -->
563 * @generated
564 */
565 private EEnum cE_TypeEEnum = null;
566
567 /**
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 */
572 private EEnum expense_PurposeEEnum = null;
573
574 /**
575 * <!-- begin-user-doc -->
576 * <!-- end-user-doc -->
577 * @generated
578 */
579 private EEnum dependent_TypeEEnum = null;
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 private EEnum separation_CausesEEnum = null;
587
588 /**
589 * <!-- begin-user-doc -->
590 * <!-- end-user-doc -->
591 * @generated
592 */
593 private EEnum category_of_Permanent_ExpenseEEnum = null;
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 private EEnum category_of_Health_and_Pension_InsurancesEEnum = null;
601
602 /**
603 * <!-- begin-user-doc -->
604 * <!-- end-user-doc -->
605 * @generated
606 */
607 private EEnum category_of_Private_Insurance_and_PlanEEnum = null;
608
609 /**
610 * <!-- begin-user-doc -->
611 * <!-- end-user-doc -->
612 * @generated
613 */
614 private EEnum legal_Union_TypesEEnum = null;
615
616 /**
617 * Creates an instance of the model <b>Package</b>, registered with
618 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
619 * package URI value.
620 * <p>Note: the correct way to create the package is via the static
621 * factory method {@link #init init()}, which also performs
622 * initialization of the package, or returns the registered package,
623 * if one already exists.
624 * <!-- begin-user-doc -->
625 * <!-- end-user-doc -->
626 * @see org.eclipse.emf.ecore.EPackage.Registry
627 * @see Taxation.TaxationPackage#eNS_URI
628 * @see #init()
629 * @generated
630 */
631 private TaxationPackageImpl() {
632 super(eNS_URI, TaxationFactory.eINSTANCE);
633 }
634
635 /**
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @generated
639 */
640 private static boolean isInited = false;
641
642 /**
643 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
644 *
645 * <p>This method is used to initialize {@link TaxationPackage#eINSTANCE} when that field is accessed.
646 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
647 * <!-- begin-user-doc -->
648 * <!-- end-user-doc -->
649 * @see #eNS_URI
650 * @see #createPackageContents()
651 * @see #initializePackageContents()
652 * @generated
653 */
654 public static TaxationPackage init() {
655 if (isInited) return (TaxationPackage)EPackage.Registry.INSTANCE.getEPackage(TaxationPackage.eNS_URI);
656
657 // Obtain or create and register package
658 Object registeredTaxationPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
659 TaxationPackageImpl theTaxationPackage = registeredTaxationPackage instanceof TaxationPackageImpl ? (TaxationPackageImpl)registeredTaxationPackage : new TaxationPackageImpl();
660
661 isInited = true;
662
663 // Create package meta-data objects
664 theTaxationPackage.createPackageContents();
665
666 // Initialize created meta-data
667 theTaxationPackage.initializePackageContents();
668
669 // Mark meta-data to indicate it can't be changed
670 theTaxationPackage.freeze();
671
672 // Update the registry and return the package
673 EPackage.Registry.INSTANCE.put(TaxationPackage.eNS_URI, theTaxationPackage);
674 return theTaxationPackage;
675 }
676
677 /**
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 */
682 @Override
683 public EClass getConstants() {
684 return constantsEClass;
685 }
686
687 /**
688 * <!-- begin-user-doc -->
689 * <!-- end-user-doc -->
690 * @generated
691 */
692 @Override
693 public EAttribute getConstants_MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD() {
694 return (EAttribute)constantsEClass.getEStructuralFeatures().get(0);
695 }
696
697 /**
698 * <!-- begin-user-doc -->
699 * <!-- end-user-doc -->
700 * @generated
701 */
702 @Override
703 public EAttribute getConstants_MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE() {
704 return (EAttribute)constantsEClass.getEStructuralFeatures().get(1);
705 }
706
707 /**
708 * <!-- begin-user-doc -->
709 * <!-- end-user-doc -->
710 * @generated
711 */
712 @Override
713 public EAttribute getConstants_MINIMUM_SALARY() {
714 return (EAttribute)constantsEClass.getEStructuralFeatures().get(2);
715 }
716
717 /**
718 * <!-- begin-user-doc -->
719 * <!-- end-user-doc -->
720 * @generated
721 */
722 @Override
723 public EAttribute getConstants_FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION() {
724 return (EAttribute)constantsEClass.getEStructuralFeatures().get(3);
725 }
726
727 /**
728 * <!-- begin-user-doc -->
729 * <!-- end-user-doc -->
730 * @generated
731 */
732 @Override
733 public EAttribute getConstants_MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS() {
734 return (EAttribute)constantsEClass.getEStructuralFeatures().get(4);
735 }
736
737 /**
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 */
742 @Override
743 public EAttribute getConstants_MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS() {
744 return (EAttribute)constantsEClass.getEStructuralFeatures().get(5);
745 }
746
747 /**
748 * <!-- begin-user-doc -->
749 * <!-- end-user-doc -->
750 * @generated
751 */
752 @Override
753 public EAttribute getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC() {
754 return (EAttribute)constantsEClass.getEStructuralFeatures().get(6);
755 }
756
757 /**
758 * <!-- begin-user-doc -->
759 * <!-- end-user-doc -->
760 * @generated
761 */
762 @Override
763 public EAttribute getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE() {
764 return (EAttribute)constantsEClass.getEStructuralFeatures().get(7);
765 }
766
767 /**
768 * <!-- begin-user-doc -->
769 * <!-- end-user-doc -->
770 * @generated
771 */
772 @Override
773 public EAttribute getConstants_MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
774 return (EAttribute)constantsEClass.getEStructuralFeatures().get(8);
775 }
776
777 /**
778 * <!-- begin-user-doc -->
779 * <!-- end-user-doc -->
780 * @generated
781 */
782 @Override
783 public EAttribute getConstants_MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
784 return (EAttribute)constantsEClass.getEStructuralFeatures().get(9);
785 }
786
787 /**
788 * <!-- begin-user-doc -->
789 * <!-- end-user-doc -->
790 * @generated
791 */
792 @Override
793 public EAttribute getConstants_MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION() {
794 return (EAttribute)constantsEClass.getEStructuralFeatures().get(10);
795 }
796
797 /**
798 * <!-- begin-user-doc -->
799 * <!-- end-user-doc -->
800 * @generated
801 */
802 @Override
803 public EAttribute getConstants_FLAT_RATE_CIM_DAILY() {
804 return (EAttribute)constantsEClass.getEStructuralFeatures().get(11);
805 }
806
807 /**
808 * <!-- begin-user-doc -->
809 * <!-- end-user-doc -->
810 * @generated
811 */
812 @Override
813 public EAttribute getConstants_FLAT_RATE_CIM_MONTHLY() {
814 return (EAttribute)constantsEClass.getEStructuralFeatures().get(12);
815 }
816
817 /**
818 * <!-- begin-user-doc -->
819 * <!-- end-user-doc -->
820 * @generated
821 */
822 @Override
823 public EAttribute getConstants_FLAT_RATE_CIM_YEARLY() {
824 return (EAttribute)constantsEClass.getEStructuralFeatures().get(13);
825 }
826
827 /**
828 * <!-- begin-user-doc -->
829 * <!-- end-user-doc -->
830 * @generated
831 */
832 @Override
833 public EAttribute getConstants_FLAT_RATE_CIP_DAILY() {
834 return (EAttribute)constantsEClass.getEStructuralFeatures().get(14);
835 }
836
837 /**
838 * <!-- begin-user-doc -->
839 * <!-- end-user-doc -->
840 * @generated
841 */
842 @Override
843 public EAttribute getConstants_FLAT_RATE_CIP_MONTHLY() {
844 return (EAttribute)constantsEClass.getEStructuralFeatures().get(15);
845 }
846
847 /**
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @generated
851 */
852 @Override
853 public EAttribute getConstants_FLAT_RATE_CIP_YEARLY() {
854 return (EAttribute)constantsEClass.getEStructuralFeatures().get(16);
855 }
856
857 /**
858 * <!-- begin-user-doc -->
859 * <!-- end-user-doc -->
860 * @generated
861 */
862 @Override
863 public EAttribute getConstants_FLAT_RATE_CIS_DAILY() {
864 return (EAttribute)constantsEClass.getEStructuralFeatures().get(17);
865 }
866
867 /**
868 * <!-- begin-user-doc -->
869 * <!-- end-user-doc -->
870 * @generated
871 */
872 @Override
873 public EAttribute getConstants_FLAT_RATE_CIS_MONTHLY() {
874 return (EAttribute)constantsEClass.getEStructuralFeatures().get(18);
875 }
876
877 /**
878 * <!-- begin-user-doc -->
879 * <!-- end-user-doc -->
880 * @generated
881 */
882 @Override
883 public EAttribute getConstants_FLAT_RATE_CIS_YEARLY() {
884 return (EAttribute)constantsEClass.getEStructuralFeatures().get(19);
885 }
886
887 /**
888 * <!-- begin-user-doc -->
889 * <!-- end-user-doc -->
890 * @generated
891 */
892 @Override
893 public EAttribute getConstants_FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT() {
894 return (EAttribute)constantsEClass.getEStructuralFeatures().get(20);
895 }
896
897 /**
898 * <!-- begin-user-doc -->
899 * <!-- end-user-doc -->
900 * @generated
901 */
902 @Override
903 public EAttribute getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS() {
904 return (EAttribute)constantsEClass.getEStructuralFeatures().get(21);
905 }
906
907 /**
908 * <!-- begin-user-doc -->
909 * <!-- end-user-doc -->
910 * @generated
911 */
912 @Override
913 public EAttribute getConstants_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() {
914 return (EAttribute)constantsEClass.getEStructuralFeatures().get(22);
915 }
916
917 /**
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 */
922 @Override
923 public EAttribute getConstants_DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE() {
924 return (EAttribute)constantsEClass.getEStructuralFeatures().get(23);
925 }
926
927 /**
928 * <!-- begin-user-doc -->
929 * <!-- end-user-doc -->
930 * @generated
931 */
932 @Override
933 public EAttribute getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE() {
934 return (EAttribute)constantsEClass.getEStructuralFeatures().get(24);
935 }
936
937 /**
938 * <!-- begin-user-doc -->
939 * <!-- end-user-doc -->
940 * @generated
941 */
942 @Override
943 public EClass getIncome_Tax() {
944 return income_TaxEClass;
945 }
946
947 /**
948 * <!-- begin-user-doc -->
949 * <!-- end-user-doc -->
950 * @generated
951 */
952 @Override
953 public EReference getIncome_Tax_TaxPayer() {
954 return (EReference)income_TaxEClass.getEStructuralFeatures().get(0);
955 }
956
957 /**
958 * <!-- begin-user-doc -->
959 * <!-- end-user-doc -->
960 * @generated
961 */
962 @Override
963 public EAttribute getIncome_Tax_Tax_amount() {
964 return (EAttribute)income_TaxEClass.getEStructuralFeatures().get(1);
965 }
966
967 /**
968 * <!-- begin-user-doc -->
969 * <!-- end-user-doc -->
970 * @generated
971 */
972 @Override
973 public EAttribute getIncome_Tax_Tax_year() {
974 return (EAttribute)income_TaxEClass.getEStructuralFeatures().get(2);
975 }
976
977 /**
978 * <!-- begin-user-doc -->
979 * <!-- end-user-doc -->
980 * @generated
981 */
982 @Override
983 public EAttribute getIncome_Tax_Id6() {
984 return (EAttribute)income_TaxEClass.getEStructuralFeatures().get(3);
985 }
986
987 /**
988 * <!-- begin-user-doc -->
989 * <!-- end-user-doc -->
990 * @generated
991 */
992 @Override
993 public EClass getTax_Payer() {
994 return tax_PayerEClass;
995 }
996
997 /**
998 * <!-- begin-user-doc -->
999 * <!-- end-user-doc -->
1000 * @generated
1001 */
1002 @Override
1003 public EReference getTax_Payer_Dependents() {
1004 return (EReference)tax_PayerEClass.getEStructuralFeatures().get(0);
1005 }
1006
1007 /**
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 */
1012 @Override
1013 public EReference getTax_Payer_From_agent() {
1014 return (EReference)tax_PayerEClass.getEStructuralFeatures().get(1);
1015 }
1016
1017 /**
1018 * <!-- begin-user-doc -->
1019 * <!-- end-user-doc -->
1020 * @generated
1021 */
1022 @Override
1023 public EReference getTax_Payer_Incomes() {
1024 return (EReference)tax_PayerEClass.getEStructuralFeatures().get(2);
1025 }
1026
1027 /**
1028 * <!-- begin-user-doc -->
1029 * <!-- end-user-doc -->
1030 * @generated
1031 */
1032 @Override
1033 public EReference getTax_Payer_From_law() {
1034 return (EReference)tax_PayerEClass.getEStructuralFeatures().get(3);
1035 }
1036
1037 /**
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @generated
1041 */
1042 @Override
1043 public EAttribute getTax_Payer_TaxesDue() {
1044 return (EAttribute)tax_PayerEClass.getEStructuralFeatures().get(4);
1045 }
1046
1047 /**
1048 * <!-- begin-user-doc -->
1049 * <!-- end-user-doc -->
1050 * @generated
1051 */
1052 @Override
1053 public EClass getPhysical_Person() {
1054 return physical_PersonEClass;
1055 }
1056
1057 /**
1058 * <!-- begin-user-doc -->
1059 * <!-- end-user-doc -->
1060 * @generated
1061 */
1062 @Override
1063 public EAttribute getPhysical_Person_Is_assisting_spouse() {
1064 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(0);
1065 }
1066
1067 /**
1068 * <!-- begin-user-doc -->
1069 * <!-- end-user-doc -->
1070 * @generated
1071 */
1072 @Override
1073 public EAttribute getPhysical_Person_SSNo() {
1074 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(1);
1075 }
1076
1077 /**
1078 * <!-- begin-user-doc -->
1079 * <!-- end-user-doc -->
1080 * @generated
1081 */
1082 @Override
1083 public EReference getPhysical_Person_Addresses() {
1084 return (EReference)physical_PersonEClass.getEStructuralFeatures().get(2);
1085 }
1086
1087 /**
1088 * <!-- begin-user-doc -->
1089 * <!-- end-user-doc -->
1090 * @generated
1091 */
1092 @Override
1093 public EAttribute getPhysical_Person_Birth_year() {
1094 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(3);
1095 }
1096
1097 /**
1098 * <!-- begin-user-doc -->
1099 * <!-- end-user-doc -->
1100 * @generated
1101 */
1102 @Override
1103 public EAttribute getPhysical_Person_Disability_percentage() {
1104 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(4);
1105 }
1106
1107 /**
1108 * <!-- begin-user-doc -->
1109 * <!-- end-user-doc -->
1110 * @generated
1111 */
1112 @Override
1113 public EAttribute getPhysical_Person_Disability_type() {
1114 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(5);
1115 }
1116
1117 /**
1118 * <!-- begin-user-doc -->
1119 * <!-- end-user-doc -->
1120 * @generated
1121 */
1122 @Override
1123 public EAttribute getPhysical_Person_Is_affiliated_personnaly_to_social_security() {
1124 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(6);
1125 }
1126
1127 /**
1128 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc -->
1130 * @generated
1131 */
1132 @Override
1133 public EAttribute getPhysical_Person_Birth_month() {
1134 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(7);
1135 }
1136
1137 /**
1138 * <!-- begin-user-doc -->
1139 * <!-- end-user-doc -->
1140 * @generated
1141 */
1142 @Override
1143 public EAttribute getPhysical_Person_Birth_day() {
1144 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(8);
1145 }
1146
1147 /**
1148 * <!-- begin-user-doc -->
1149 * <!-- end-user-doc -->
1150 * @generated
1151 */
1152 @Override
1153 public EReference getPhysical_Person_Expenses() {
1154 return (EReference)physical_PersonEClass.getEStructuralFeatures().get(9);
1155 }
1156
1157 /**
1158 * <!-- begin-user-doc -->
1159 * <!-- end-user-doc -->
1160 * @generated
1161 */
1162 @Override
1163 public EAttribute getPhysical_Person_Is_widower() {
1164 return (EAttribute)physical_PersonEClass.getEStructuralFeatures().get(10);
1165 }
1166
1167 /**
1168 * <!-- begin-user-doc -->
1169 * <!-- end-user-doc -->
1170 * @generated
1171 */
1172 @Override
1173 public EReference getPhysical_Person_Owns_Address() {
1174 return (EReference)physical_PersonEClass.getEStructuralFeatures().get(11);
1175 }
1176
1177 /**
1178 * <!-- begin-user-doc -->
1179 * <!-- end-user-doc -->
1180 * @generated
1181 */
1182 @Override
1183 public EClass getAddress() {
1184 return addressEClass;
1185 }
1186
1187 /**
1188 * <!-- begin-user-doc -->
1189 * <!-- end-user-doc -->
1190 * @generated
1191 */
1192 @Override
1193 public EAttribute getAddress_Country() {
1194 return (EAttribute)addressEClass.getEStructuralFeatures().get(0);
1195 }
1196
1197 /**
1198 * <!-- begin-user-doc -->
1199 * <!-- end-user-doc -->
1200 * @generated
1201 */
1202 @Override
1203 public EAttribute getAddress_Street() {
1204 return (EAttribute)addressEClass.getEStructuralFeatures().get(1);
1205 }
1206
1207 /**
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @generated
1211 */
1212 @Override
1213 public EAttribute getAddress_ZipCode() {
1214 return (EAttribute)addressEClass.getEStructuralFeatures().get(2);
1215 }
1216
1217 /**
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @generated
1221 */
1222 @Override
1223 public EAttribute getAddress_City() {
1224 return (EAttribute)addressEClass.getEStructuralFeatures().get(3);
1225 }
1226
1227 /**
1228 * <!-- begin-user-doc -->
1229 * <!-- end-user-doc -->
1230 * @generated
1231 */
1232 @Override
1233 public EAttribute getAddress_Id2() {
1234 return (EAttribute)addressEClass.getEStructuralFeatures().get(4);
1235 }
1236
1237 /**
1238 * <!-- begin-user-doc -->
1239 * <!-- end-user-doc -->
1240 * @generated
1241 */
1242 @Override
1243 public EReference getAddress_TaxPayer() {
1244 return (EReference)addressEClass.getEStructuralFeatures().get(5);
1245 }
1246
1247 /**
1248 * <!-- begin-user-doc -->
1249 * <!-- end-user-doc -->
1250 * @generated
1251 */
1252 @Override
1253 public EClass getExpense() {
1254 return expenseEClass;
1255 }
1256
1257 /**
1258 * <!-- begin-user-doc -->
1259 * <!-- end-user-doc -->
1260 * @generated
1261 */
1262 @Override
1263 public EAttribute getExpense_Declared_amount() {
1264 return (EAttribute)expenseEClass.getEStructuralFeatures().get(0);
1265 }
1266
1267 /**
1268 * <!-- begin-user-doc -->
1269 * <!-- end-user-doc -->
1270 * @generated
1271 */
1272 @Override
1273 public EAttribute getExpense_Expense_purpose() {
1274 return (EAttribute)expenseEClass.getEStructuralFeatures().get(1);
1275 }
1276
1277 /**
1278 * <!-- begin-user-doc -->
1279 * <!-- end-user-doc -->
1280 * @generated
1281 */
1282 @Override
1283 public EReference getExpense_Dependent() {
1284 return (EReference)expenseEClass.getEStructuralFeatures().get(2);
1285 }
1286
1287 /**
1288 * <!-- begin-user-doc -->
1289 * <!-- end-user-doc -->
1290 * @generated
1291 */
1292 @Override
1293 public EReference getExpense_From_agent() {
1294 return (EReference)expenseEClass.getEStructuralFeatures().get(3);
1295 }
1296
1297 /**
1298 * <!-- begin-user-doc -->
1299 * <!-- end-user-doc -->
1300 * @generated
1301 */
1302 @Override
1303 public EReference getExpense_Income() {
1304 return (EReference)expenseEClass.getEStructuralFeatures().get(4);
1305 }
1306
1307 /**
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @generated
1311 */
1312 @Override
1313 public EAttribute getExpense_Id4() {
1314 return (EAttribute)expenseEClass.getEStructuralFeatures().get(5);
1315 }
1316
1317 /**
1318 * <!-- begin-user-doc -->
1319 * <!-- end-user-doc -->
1320 * @generated
1321 */
1322 @Override
1323 public EReference getExpense_Beneficiary() {
1324 return (EReference)expenseEClass.getEStructuralFeatures().get(6);
1325 }
1326
1327 /**
1328 * <!-- begin-user-doc -->
1329 * <!-- end-user-doc -->
1330 * @generated
1331 */
1332 @Override
1333 public EClass getDependent() {
1334 return dependentEClass;
1335 }
1336
1337 /**
1338 * <!-- begin-user-doc -->
1339 * <!-- end-user-doc -->
1340 * @generated
1341 */
1342 @Override
1343 public EAttribute getDependent_Dependent_type() {
1344 return (EAttribute)dependentEClass.getEStructuralFeatures().get(0);
1345 }
1346
1347 /**
1348 * <!-- begin-user-doc -->
1349 * <!-- end-user-doc -->
1350 * @generated
1351 */
1352 @Override
1353 public EReference getDependent_Responsible_person() {
1354 return (EReference)dependentEClass.getEStructuralFeatures().get(1);
1355 }
1356
1357 /**
1358 * <!-- begin-user-doc -->
1359 * <!-- end-user-doc -->
1360 * @generated
1361 */
1362 @Override
1363 public EAttribute getDependent_Continued_studies() {
1364 return (EAttribute)dependentEClass.getEStructuralFeatures().get(2);
1365 }
1366
1367 /**
1368 * <!-- begin-user-doc -->
1369 * <!-- end-user-doc -->
1370 * @generated
1371 */
1372 @Override
1373 public EReference getDependent_Allowances() {
1374 return (EReference)dependentEClass.getEStructuralFeatures().get(3);
1375 }
1376
1377 /**
1378 * <!-- begin-user-doc -->
1379 * <!-- end-user-doc -->
1380 * @generated
1381 */
1382 @Override
1383 public EReference getDependent_Household() {
1384 return (EReference)dependentEClass.getEStructuralFeatures().get(4);
1385 }
1386
1387 /**
1388 * <!-- begin-user-doc -->
1389 * <!-- end-user-doc -->
1390 * @generated
1391 */
1392 @Override
1393 public EReference getDependent_From_agent() {
1394 return (EReference)dependentEClass.getEStructuralFeatures().get(5);
1395 }
1396
1397 /**
1398 * <!-- begin-user-doc -->
1399 * <!-- end-user-doc -->
1400 * @generated
1401 */
1402 @Override
1403 public EReference getDependent_Expense() {
1404 return (EReference)dependentEClass.getEStructuralFeatures().get(6);
1405 }
1406
1407 /**
1408 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc -->
1410 * @generated
1411 */
1412 @Override
1413 public EClass getExternal_Allowance() {
1414 return external_AllowanceEClass;
1415 }
1416
1417 /**
1418 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc -->
1420 * @generated
1421 */
1422 @Override
1423 public EAttribute getExternal_Allowance_Amount() {
1424 return (EAttribute)external_AllowanceEClass.getEStructuralFeatures().get(0);
1425 }
1426
1427 /**
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 */
1432 @Override
1433 public EAttribute getExternal_Allowance_Grantor() {
1434 return (EAttribute)external_AllowanceEClass.getEStructuralFeatures().get(1);
1435 }
1436
1437 /**
1438 * <!-- begin-user-doc -->
1439 * <!-- end-user-doc -->
1440 * @generated
1441 */
1442 @Override
1443 public EAttribute getExternal_Allowance_Starting_year() {
1444 return (EAttribute)external_AllowanceEClass.getEStructuralFeatures().get(2);
1445 }
1446
1447 /**
1448 * <!-- begin-user-doc -->
1449 * <!-- end-user-doc -->
1450 * @generated
1451 */
1452 @Override
1453 public EAttribute getExternal_Allowance_Ending_year() {
1454 return (EAttribute)external_AllowanceEClass.getEStructuralFeatures().get(3);
1455 }
1456
1457 /**
1458 * <!-- begin-user-doc -->
1459 * <!-- end-user-doc -->
1460 * @generated
1461 */
1462 @Override
1463 public EReference getExternal_Allowance_Reciver() {
1464 return (EReference)external_AllowanceEClass.getEStructuralFeatures().get(4);
1465 }
1466
1467 /**
1468 * <!-- begin-user-doc -->
1469 * <!-- end-user-doc -->
1470 * @generated
1471 */
1472 @Override
1473 public EAttribute getExternal_Allowance_Id5() {
1474 return (EAttribute)external_AllowanceEClass.getEStructuralFeatures().get(5);
1475 }
1476
1477 /**
1478 * <!-- begin-user-doc -->
1479 * <!-- end-user-doc -->
1480 * @generated
1481 */
1482 @Override
1483 public EReference getExternal_Allowance_Person() {
1484 return (EReference)external_AllowanceEClass.getEStructuralFeatures().get(6);
1485 }
1486
1487 /**
1488 * <!-- begin-user-doc -->
1489 * <!-- end-user-doc -->
1490 * @generated
1491 */
1492 @Override
1493 public EClass getHousehold() {
1494 return householdEClass;
1495 }
1496
1497 /**
1498 * <!-- begin-user-doc -->
1499 * <!-- end-user-doc -->
1500 * @generated
1501 */
1502 @Override
1503 public EReference getHousehold_Parents() {
1504 return (EReference)householdEClass.getEStructuralFeatures().get(0);
1505 }
1506
1507 /**
1508 * <!-- begin-user-doc -->
1509 * <!-- end-user-doc -->
1510 * @generated
1511 */
1512 @Override
1513 public EAttribute getHousehold_Id1() {
1514 return (EAttribute)householdEClass.getEStructuralFeatures().get(1);
1515 }
1516
1517 /**
1518 * <!-- begin-user-doc -->
1519 * <!-- end-user-doc -->
1520 * @generated
1521 */
1522 @Override
1523 public EReference getHousehold_Children() {
1524 return (EReference)householdEClass.getEStructuralFeatures().get(2);
1525 }
1526
1527 /**
1528 * <!-- begin-user-doc -->
1529 * <!-- end-user-doc -->
1530 * @generated
1531 */
1532 @Override
1533 public EClass getLegal_Union_Record() {
1534 return legal_Union_RecordEClass;
1535 }
1536
1537 /**
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @generated
1541 */
1542 @Override
1543 public EAttribute getLegal_Union_Record_Start_year() {
1544 return (EAttribute)legal_Union_RecordEClass.getEStructuralFeatures().get(0);
1545 }
1546
1547 /**
1548 * <!-- begin-user-doc -->
1549 * <!-- end-user-doc -->
1550 * @generated
1551 */
1552 @Override
1553 public EAttribute getLegal_Union_Record_End_year() {
1554 return (EAttribute)legal_Union_RecordEClass.getEStructuralFeatures().get(1);
1555 }
1556
1557 /**
1558 * <!-- begin-user-doc -->
1559 * <!-- end-user-doc -->
1560 * @generated
1561 */
1562 @Override
1563 public EAttribute getLegal_Union_Record_Separation_cause() {
1564 return (EAttribute)legal_Union_RecordEClass.getEStructuralFeatures().get(2);
1565 }
1566
1567 /**
1568 * <!-- begin-user-doc -->
1569 * <!-- end-user-doc -->
1570 * @generated
1571 */
1572 @Override
1573 public EReference getLegal_Union_Record_Individual_A() {
1574 return (EReference)legal_Union_RecordEClass.getEStructuralFeatures().get(3);
1575 }
1576
1577 /**
1578 * <!-- begin-user-doc -->
1579 * <!-- end-user-doc -->
1580 * @generated
1581 */
1582 @Override
1583 public EReference getLegal_Union_Record_Individual_B() {
1584 return (EReference)legal_Union_RecordEClass.getEStructuralFeatures().get(4);
1585 }
1586
1587 /**
1588 * <!-- begin-user-doc -->
1589 * <!-- end-user-doc -->
1590 * @generated
1591 */
1592 @Override
1593 public EReference getLegal_Union_Record_Properties() {
1594 return (EReference)legal_Union_RecordEClass.getEStructuralFeatures().get(5);
1595 }
1596
1597 /**
1598 * <!-- begin-user-doc -->
1599 * <!-- end-user-doc -->
1600 * @generated
1601 */
1602 @Override
1603 public EAttribute getLegal_Union_Record_Mutual_agreement() {
1604 return (EAttribute)legal_Union_RecordEClass.getEStructuralFeatures().get(6);
1605 }
1606
1607 /**
1608 * <!-- begin-user-doc -->
1609 * <!-- end-user-doc -->
1610 * @generated
1611 */
1612 @Override
1613 public EAttribute getLegal_Union_Record_Id9() {
1614 return (EAttribute)legal_Union_RecordEClass.getEStructuralFeatures().get(7);
1615 }
1616
1617 /**
1618 * <!-- begin-user-doc -->
1619 * <!-- end-user-doc -->
1620 * @generated
1621 */
1622 @Override
1623 public EReference getLegal_Union_Record_Household() {
1624 return (EReference)legal_Union_RecordEClass.getEStructuralFeatures().get(8);
1625 }
1626
1627 /**
1628 * <!-- begin-user-doc -->
1629 * <!-- end-user-doc -->
1630 * @generated
1631 */
1632 @Override
1633 public EClass getTax_Property() {
1634 return tax_PropertyEClass;
1635 }
1636
1637 /**
1638 * <!-- begin-user-doc -->
1639 * <!-- end-user-doc -->
1640 * @generated
1641 */
1642 @Override
1643 public EAttribute getTax_Property_Starting_year() {
1644 return (EAttribute)tax_PropertyEClass.getEStructuralFeatures().get(0);
1645 }
1646
1647 /**
1648 * <!-- begin-user-doc -->
1649 * <!-- end-user-doc -->
1650 * @generated
1651 */
1652 @Override
1653 public EAttribute getTax_Property_Id10() {
1654 return (EAttribute)tax_PropertyEClass.getEStructuralFeatures().get(1);
1655 }
1656
1657 /**
1658 * <!-- begin-user-doc -->
1659 * <!-- end-user-doc -->
1660 * @generated
1661 */
1662 @Override
1663 public EReference getTax_Property_Union_record() {
1664 return (EReference)tax_PropertyEClass.getEStructuralFeatures().get(2);
1665 }
1666
1667 /**
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @generated
1671 */
1672 @Override
1673 public EClass getTax_Case() {
1674 return tax_CaseEClass;
1675 }
1676
1677 /**
1678 * <!-- begin-user-doc -->
1679 * <!-- end-user-doc -->
1680 * @generated
1681 */
1682 @Override
1683 public EClass getFromAgent() {
1684 return fromAgentEClass;
1685 }
1686
1687 /**
1688 * <!-- begin-user-doc -->
1689 * <!-- end-user-doc -->
1690 * @generated
1691 */
1692 @Override
1693 public EReference getFromAgent_TaxPayer() {
1694 return (EReference)fromAgentEClass.getEStructuralFeatures().get(0);
1695 }
1696
1697 /**
1698 * <!-- begin-user-doc -->
1699 * <!-- end-user-doc -->
1700 * @generated
1701 */
1702 @Override
1703 public EAttribute getFromAgent_Is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care() {
1704 return (EAttribute)fromAgentEClass.getEStructuralFeatures().get(1);
1705 }
1706
1707 /**
1708 * <!-- begin-user-doc -->
1709 * <!-- end-user-doc -->
1710 * @generated
1711 */
1712 @Override
1713 public EReference getFromAgent_Expense() {
1714 return (EReference)fromAgentEClass.getEStructuralFeatures().get(2);
1715 }
1716
1717 /**
1718 * <!-- begin-user-doc -->
1719 * <!-- end-user-doc -->
1720 * @generated
1721 */
1722 @Override
1723 public EAttribute getFromAgent_Is_eligible_debt() {
1724 return (EAttribute)fromAgentEClass.getEStructuralFeatures().get(3);
1725 }
1726
1727 /**
1728 * <!-- begin-user-doc -->
1729 * <!-- end-user-doc -->
1730 * @generated
1731 */
1732 @Override
1733 public EReference getFromAgent_Dependent() {
1734 return (EReference)fromAgentEClass.getEStructuralFeatures().get(4);
1735 }
1736
1737 /**
1738 * <!-- begin-user-doc -->
1739 * <!-- end-user-doc -->
1740 * @generated
1741 */
1742 @Override
1743 public EClass getIncome() {
1744 return incomeEClass;
1745 }
1746
1747 /**
1748 * <!-- begin-user-doc -->
1749 * <!-- end-user-doc -->
1750 * @generated
1751 */
1752 @Override
1753 public EAttribute getIncome_Income_amount() {
1754 return (EAttribute)incomeEClass.getEStructuralFeatures().get(0);
1755 }
1756
1757 /**
1758 * <!-- begin-user-doc -->
1759 * <!-- end-user-doc -->
1760 * @generated
1761 */
1762 @Override
1763 public EReference getIncome_Income_type() {
1764 return (EReference)incomeEClass.getEStructuralFeatures().get(1);
1765 }
1766
1767 /**
1768 * <!-- begin-user-doc -->
1769 * <!-- end-user-doc -->
1770 * @generated
1771 */
1772 @Override
1773 public EAttribute getIncome_Start_date_within_taxation_year() {
1774 return (EAttribute)incomeEClass.getEStructuralFeatures().get(2);
1775 }
1776
1777 /**
1778 * <!-- begin-user-doc -->
1779 * <!-- end-user-doc -->
1780 * @generated
1781 */
1782 @Override
1783 public EAttribute getIncome_Start_date_of_contract() {
1784 return (EAttribute)incomeEClass.getEStructuralFeatures().get(3);
1785 }
1786
1787 /**
1788 * <!-- begin-user-doc -->
1789 * <!-- end-user-doc -->
1790 * @generated
1791 */
1792 @Override
1793 public EAttribute getIncome_End_date_within_taxation_year() {
1794 return (EAttribute)incomeEClass.getEStructuralFeatures().get(4);
1795 }
1796
1797 /**
1798 * <!-- begin-user-doc -->
1799 * <!-- end-user-doc -->
1800 * @generated
1801 */
1802 @Override
1803 public EReference getIncome_Tax_card() {
1804 return (EReference)incomeEClass.getEStructuralFeatures().get(5);
1805 }
1806
1807 /**
1808 * <!-- begin-user-doc -->
1809 * <!-- end-user-doc -->
1810 * @generated
1811 */
1812 @Override
1813 public EAttribute getIncome_Tax_liability() {
1814 return (EAttribute)incomeEClass.getEStructuralFeatures().get(6);
1815 }
1816
1817 /**
1818 * <!-- begin-user-doc -->
1819 * <!-- end-user-doc -->
1820 * @generated
1821 */
1822 @Override
1823 public EReference getIncome_TaxPayer() {
1824 return (EReference)incomeEClass.getEStructuralFeatures().get(7);
1825 }
1826
1827 /**
1828 * <!-- begin-user-doc -->
1829 * <!-- end-user-doc -->
1830 * @generated
1831 */
1832 @Override
1833 public EReference getIncome_Details() {
1834 return (EReference)incomeEClass.getEStructuralFeatures().get(8);
1835 }
1836
1837 /**
1838 * <!-- begin-user-doc -->
1839 * <!-- end-user-doc -->
1840 * @generated
1841 */
1842 @Override
1843 public EAttribute getIncome_Num() {
1844 return (EAttribute)incomeEClass.getEStructuralFeatures().get(9);
1845 }
1846
1847 /**
1848 * <!-- begin-user-doc -->
1849 * <!-- end-user-doc -->
1850 * @generated
1851 */
1852 @Override
1853 public EReference getIncome_Expenses() {
1854 return (EReference)incomeEClass.getEStructuralFeatures().get(10);
1855 }
1856
1857 /**
1858 * <!-- begin-user-doc -->
1859 * <!-- end-user-doc -->
1860 * @generated
1861 */
1862 @Override
1863 public EClass getIncome_Type() {
1864 return income_TypeEClass;
1865 }
1866
1867 /**
1868 * <!-- begin-user-doc -->
1869 * <!-- end-user-doc -->
1870 * @generated
1871 */
1872 @Override
1873 public EAttribute getIncome_Type_SubjectToWithholdingTax() {
1874 return (EAttribute)income_TypeEClass.getEStructuralFeatures().get(0);
1875 }
1876
1877 /**
1878 * <!-- begin-user-doc -->
1879 * <!-- end-user-doc -->
1880 * @generated
1881 */
1882 @Override
1883 public EAttribute getIncome_Type_Id8() {
1884 return (EAttribute)income_TypeEClass.getEStructuralFeatures().get(1);
1885 }
1886
1887 /**
1888 * <!-- begin-user-doc -->
1889 * <!-- end-user-doc -->
1890 * @generated
1891 */
1892 @Override
1893 public EReference getIncome_Type_Income() {
1894 return (EReference)income_TypeEClass.getEStructuralFeatures().get(2);
1895 }
1896
1897 /**
1898 * <!-- begin-user-doc -->
1899 * <!-- end-user-doc -->
1900 * @generated
1901 */
1902 @Override
1903 public EClass getTax_Card() {
1904 return tax_CardEClass;
1905 }
1906
1907 /**
1908 * <!-- begin-user-doc -->
1909 * <!-- end-user-doc -->
1910 * @generated
1911 */
1912 @Override
1913 public EAttribute getTax_Card_Card_identifier() {
1914 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(0);
1915 }
1916
1917 /**
1918 * <!-- begin-user-doc -->
1919 * <!-- end-user-doc -->
1920 * @generated
1921 */
1922 @Override
1923 public EAttribute getTax_Card_Tax_card_type() {
1924 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(1);
1925 }
1926
1927 /**
1928 * <!-- begin-user-doc -->
1929 * <!-- end-user-doc -->
1930 * @generated
1931 */
1932 @Override
1933 public EAttribute getTax_Card_Tax_office() {
1934 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(2);
1935 }
1936
1937 /**
1938 * <!-- begin-user-doc -->
1939 * <!-- end-user-doc -->
1940 * @generated
1941 */
1942 @Override
1943 public EAttribute getTax_Card_Valid_from_date() {
1944 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(3);
1945 }
1946
1947 /**
1948 * <!-- begin-user-doc -->
1949 * <!-- end-user-doc -->
1950 * @generated
1951 */
1952 @Override
1953 public EAttribute getTax_Card_Valid_until_date() {
1954 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(4);
1955 }
1956
1957 /**
1958 * <!-- begin-user-doc -->
1959 * <!-- end-user-doc -->
1960 * @generated
1961 */
1962 @Override
1963 public EAttribute getTax_Card_Percentage_of_witholding() {
1964 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(5);
1965 }
1966
1967 /**
1968 * <!-- begin-user-doc -->
1969 * <!-- end-user-doc -->
1970 * @generated
1971 */
1972 @Override
1973 public EAttribute getTax_Card_Tax_payers_name_surname() {
1974 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(6);
1975 }
1976
1977 /**
1978 * <!-- begin-user-doc -->
1979 * <!-- end-user-doc -->
1980 * @generated
1981 */
1982 @Override
1983 public EAttribute getTax_Card_Tax_payers_partner_name_surname() {
1984 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(7);
1985 }
1986
1987 /**
1988 * <!-- begin-user-doc -->
1989 * <!-- end-user-doc -->
1990 * @generated
1991 */
1992 @Override
1993 public EReference getTax_Card_Tax_payers_address() {
1994 return (EReference)tax_CardEClass.getEStructuralFeatures().get(8);
1995 }
1996
1997 /**
1998 * <!-- begin-user-doc -->
1999 * <!-- end-user-doc -->
2000 * @generated
2001 */
2002 @Override
2003 public EAttribute getTax_Card_Jobs_Employer_SSNo() {
2004 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(9);
2005 }
2006
2007 /**
2008 * <!-- begin-user-doc -->
2009 * <!-- end-user-doc -->
2010 * @generated
2011 */
2012 @Override
2013 public EAttribute getTax_Card_Jobs_employers_name() {
2014 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(10);
2015 }
2016
2017 /**
2018 * <!-- begin-user-doc -->
2019 * <!-- end-user-doc -->
2020 * @generated
2021 */
2022 @Override
2023 public EAttribute getTax_Card_Jobs_activity_type() {
2024 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(11);
2025 }
2026
2027 /**
2028 * <!-- begin-user-doc -->
2029 * <!-- end-user-doc -->
2030 * @generated
2031 */
2032 @Override
2033 public EAttribute getTax_Card_Jobs_place_of_work() {
2034 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(12);
2035 }
2036
2037 /**
2038 * <!-- begin-user-doc -->
2039 * <!-- end-user-doc -->
2040 * @generated
2041 */
2042 @Override
2043 public EAttribute getTax_Card_Deduction_FD_daily() {
2044 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(13);
2045 }
2046
2047 /**
2048 * <!-- begin-user-doc -->
2049 * <!-- end-user-doc -->
2050 * @generated
2051 */
2052 @Override
2053 public EAttribute getTax_Card_Deduction_FD_monthly() {
2054 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(14);
2055 }
2056
2057 /**
2058 * <!-- begin-user-doc -->
2059 * <!-- end-user-doc -->
2060 * @generated
2061 */
2062 @Override
2063 public EAttribute getTax_Card_Deduction_AC_daily() {
2064 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(15);
2065 }
2066
2067 /**
2068 * <!-- begin-user-doc -->
2069 * <!-- end-user-doc -->
2070 * @generated
2071 */
2072 @Override
2073 public EAttribute getTax_Card_Deduction_AC_monthly() {
2074 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(16);
2075 }
2076
2077 /**
2078 * <!-- begin-user-doc -->
2079 * <!-- end-user-doc -->
2080 * @generated
2081 */
2082 @Override
2083 public EAttribute getTax_Card_Deduction_AC_yearly() {
2084 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(17);
2085 }
2086
2087 /**
2088 * <!-- begin-user-doc -->
2089 * <!-- end-user-doc -->
2090 * @generated
2091 */
2092 @Override
2093 public EAttribute getTax_Card_Deduction_CE_daily() {
2094 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(18);
2095 }
2096
2097 /**
2098 * <!-- begin-user-doc -->
2099 * <!-- end-user-doc -->
2100 * @generated
2101 */
2102 @Override
2103 public EAttribute getTax_Card_Deduction_CE_monthly() {
2104 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(19);
2105 }
2106
2107 /**
2108 * <!-- begin-user-doc -->
2109 * <!-- end-user-doc -->
2110 * @generated
2111 */
2112 @Override
2113 public EAttribute getTax_Card_Deduction_CE_yearly() {
2114 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(20);
2115 }
2116
2117 /**
2118 * <!-- begin-user-doc -->
2119 * <!-- end-user-doc -->
2120 * @generated
2121 */
2122 @Override
2123 public EAttribute getTax_Card_Deduction_DS_daily() {
2124 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(21);
2125 }
2126
2127 /**
2128 * <!-- begin-user-doc -->
2129 * <!-- end-user-doc -->
2130 * @generated
2131 */
2132 @Override
2133 public EAttribute getTax_Card_Deduction_DS_monthly() {
2134 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(22);
2135 }
2136
2137 /**
2138 * <!-- begin-user-doc -->
2139 * <!-- end-user-doc -->
2140 * @generated
2141 */
2142 @Override
2143 public EAttribute getTax_Card_Deduction_FO_daily() {
2144 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(23);
2145 }
2146
2147 /**
2148 * <!-- begin-user-doc -->
2149 * <!-- end-user-doc -->
2150 * @generated
2151 */
2152 @Override
2153 public EAttribute getTax_Card_Deduction_FO_monthly() {
2154 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(24);
2155 }
2156
2157 /**
2158 * <!-- begin-user-doc -->
2159 * <!-- end-user-doc -->
2160 * @generated
2161 */
2162 @Override
2163 public EAttribute getTax_Card_Deduction_FO_yearly() {
2164 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(25);
2165 }
2166
2167 /**
2168 * <!-- begin-user-doc -->
2169 * <!-- end-user-doc -->
2170 * @generated
2171 */
2172 @Override
2173 public EAttribute getTax_Card_Credit_CIS_daily() {
2174 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(26);
2175 }
2176
2177 /**
2178 * <!-- begin-user-doc -->
2179 * <!-- end-user-doc -->
2180 * @generated
2181 */
2182 @Override
2183 public EAttribute getTax_Card_Credit_CIS_monthly() {
2184 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(27);
2185 }
2186
2187 /**
2188 * <!-- begin-user-doc -->
2189 * <!-- end-user-doc -->
2190 * @generated
2191 */
2192 @Override
2193 public EAttribute getTax_Card_Credit_CIM_daily() {
2194 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(28);
2195 }
2196
2197 /**
2198 * <!-- begin-user-doc -->
2199 * <!-- end-user-doc -->
2200 * @generated
2201 */
2202 @Override
2203 public EAttribute getTax_Card_Validity() {
2204 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(29);
2205 }
2206
2207 /**
2208 * <!-- begin-user-doc -->
2209 * <!-- end-user-doc -->
2210 * @generated
2211 */
2212 @Override
2213 public EReference getTax_Card_Income_Tax_Credit() {
2214 return (EReference)tax_CardEClass.getEStructuralFeatures().get(30);
2215 }
2216
2217 /**
2218 * <!-- begin-user-doc -->
2219 * <!-- end-user-doc -->
2220 * @generated
2221 */
2222 @Override
2223 public EReference getTax_Card_Previous() {
2224 return (EReference)tax_CardEClass.getEStructuralFeatures().get(31);
2225 }
2226
2227 /**
2228 * <!-- begin-user-doc -->
2229 * <!-- end-user-doc -->
2230 * @generated
2231 */
2232 @Override
2233 public EReference getTax_Card_Current_tax_card() {
2234 return (EReference)tax_CardEClass.getEStructuralFeatures().get(32);
2235 }
2236
2237 /**
2238 * <!-- begin-user-doc -->
2239 * <!-- end-user-doc -->
2240 * @generated
2241 */
2242 @Override
2243 public EAttribute getTax_Card_Credit_CIM_yearly() {
2244 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(33);
2245 }
2246
2247 /**
2248 * <!-- begin-user-doc -->
2249 * <!-- end-user-doc -->
2250 * @generated
2251 */
2252 @Override
2253 public EAttribute getTax_Card_Deduction_DS_Alimony_yearly() {
2254 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(34);
2255 }
2256
2257 /**
2258 * <!-- begin-user-doc -->
2259 * <!-- end-user-doc -->
2260 * @generated
2261 */
2262 @Override
2263 public EAttribute getTax_Card_Deduction_DS_Debt_yearly() {
2264 return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(35);
2265 }
2266
2267 /**
2268 * <!-- begin-user-doc -->
2269 * <!-- end-user-doc -->
2270 * @generated
2271 */
2272 @Override
2273 public EReference getTax_Card_Income() {
2274 return (EReference)tax_CardEClass.getEStructuralFeatures().get(36);
2275 }
2276
2277 /**
2278 * <!-- begin-user-doc -->
2279 * <!-- end-user-doc -->
2280 * @generated
2281 */
2282 @Override
2283 public EClass getIncome_Tax_Credit() {
2284 return income_Tax_CreditEClass;
2285 }
2286
2287 /**
2288 * <!-- begin-user-doc -->
2289 * <!-- end-user-doc -->
2290 * @generated
2291 */
2292 @Override
2293 public EAttribute getIncome_Tax_Credit_GrantedBy() {
2294 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(0);
2295 }
2296
2297 /**
2298 * <!-- begin-user-doc -->
2299 * <!-- end-user-doc -->
2300 * @generated
2301 */
2302 @Override
2303 public EReference getIncome_Tax_Credit_TaxPayer() {
2304 return (EReference)income_Tax_CreditEClass.getEStructuralFeatures().get(1);
2305 }
2306
2307 /**
2308 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc -->
2310 * @generated
2311 */
2312 @Override
2313 public EAttribute getIncome_Tax_Credit_Tax_year() {
2314 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(2);
2315 }
2316
2317 /**
2318 * <!-- begin-user-doc -->
2319 * <!-- end-user-doc -->
2320 * @generated
2321 */
2322 @Override
2323 public EAttribute getIncome_Tax_Credit_Yearly() {
2324 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(3);
2325 }
2326
2327 /**
2328 * <!-- begin-user-doc -->
2329 * <!-- end-user-doc -->
2330 * @generated
2331 */
2332 @Override
2333 public EAttribute getIncome_Tax_Credit_Monthly() {
2334 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(4);
2335 }
2336
2337 /**
2338 * <!-- begin-user-doc -->
2339 * <!-- end-user-doc -->
2340 * @generated
2341 */
2342 @Override
2343 public EAttribute getIncome_Tax_Credit_Daily() {
2344 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(5);
2345 }
2346
2347 /**
2348 * <!-- begin-user-doc -->
2349 * <!-- end-user-doc -->
2350 * @generated
2351 */
2352 @Override
2353 public EAttribute getIncome_Tax_Credit_Id7() {
2354 return (EAttribute)income_Tax_CreditEClass.getEStructuralFeatures().get(6);
2355 }
2356
2357 /**
2358 * <!-- begin-user-doc -->
2359 * <!-- end-user-doc -->
2360 * @generated
2361 */
2362 @Override
2363 public EReference getIncome_Tax_Credit_Taxation_Frame() {
2364 return (EReference)income_Tax_CreditEClass.getEStructuralFeatures().get(7);
2365 }
2366
2367 /**
2368 * <!-- begin-user-doc -->
2369 * <!-- end-user-doc -->
2370 * @generated
2371 */
2372 @Override
2373 public EClass getIncome_Detail() {
2374 return income_DetailEClass;
2375 }
2376
2377 /**
2378 * <!-- begin-user-doc -->
2379 * <!-- end-user-doc -->
2380 * @generated
2381 */
2382 @Override
2383 public EAttribute getIncome_Detail_Amount() {
2384 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(0);
2385 }
2386
2387 /**
2388 * <!-- begin-user-doc -->
2389 * <!-- end-user-doc -->
2390 * @generated
2391 */
2392 @Override
2393 public EAttribute getIncome_Detail_Is_worked() {
2394 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(1);
2395 }
2396
2397 /**
2398 * <!-- begin-user-doc -->
2399 * <!-- end-user-doc -->
2400 * @generated
2401 */
2402 @Override
2403 public EAttribute getIncome_Detail_Distance() {
2404 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(2);
2405 }
2406
2407 /**
2408 * <!-- begin-user-doc -->
2409 * <!-- end-user-doc -->
2410 * @generated
2411 */
2412 @Override
2413 public EAttribute getIncome_Detail_Worked_days() {
2414 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(3);
2415 }
2416
2417 /**
2418 * <!-- begin-user-doc -->
2419 * <!-- end-user-doc -->
2420 * @generated
2421 */
2422 @Override
2423 public EAttribute getIncome_Detail_Is_contributing_CNS() {
2424 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(4);
2425 }
2426
2427 /**
2428 * <!-- begin-user-doc -->
2429 * <!-- end-user-doc -->
2430 * @generated
2431 */
2432 @Override
2433 public EAttribute getIncome_Detail_Id5() {
2434 return (EAttribute)income_DetailEClass.getEStructuralFeatures().get(5);
2435 }
2436
2437 /**
2438 * <!-- begin-user-doc -->
2439 * <!-- end-user-doc -->
2440 * @generated
2441 */
2442 @Override
2443 public EReference getIncome_Detail_Income() {
2444 return (EReference)income_DetailEClass.getEStructuralFeatures().get(6);
2445 }
2446
2447 /**
2448 * <!-- begin-user-doc -->
2449 * <!-- end-user-doc -->
2450 * @generated
2451 */
2452 @Override
2453 public EClass getFromLaw() {
2454 return fromLawEClass;
2455 }
2456
2457 /**
2458 * <!-- begin-user-doc -->
2459 * <!-- end-user-doc -->
2460 * @generated
2461 */
2462 @Override
2463 public EAttribute getFromLaw_Id() {
2464 return (EAttribute)fromLawEClass.getEStructuralFeatures().get(0);
2465 }
2466
2467 /**
2468 * <!-- begin-user-doc -->
2469 * <!-- end-user-doc -->
2470 * @generated
2471 */
2472 @Override
2473 public EReference getFromLaw_TaxPayer() {
2474 return (EReference)fromLawEClass.getEStructuralFeatures().get(1);
2475 }
2476
2477 /**
2478 * <!-- begin-user-doc -->
2479 * <!-- end-user-doc -->
2480 * @generated
2481 */
2482 @Override
2483 public EClass getFiscal_Address() {
2484 return fiscal_AddressEClass;
2485 }
2486
2487 /**
2488 * <!-- begin-user-doc -->
2489 * <!-- end-user-doc -->
2490 * @generated
2491 */
2492 @Override
2493 public EClass getHabitual_Address() {
2494 return habitual_AddressEClass;
2495 }
2496
2497 /**
2498 * <!-- begin-user-doc -->
2499 * <!-- end-user-doc -->
2500 * @generated
2501 */
2502 @Override
2503 public EClass getMarriage_Record() {
2504 return marriage_RecordEClass;
2505 }
2506
2507 /**
2508 * <!-- begin-user-doc -->
2509 * <!-- end-user-doc -->
2510 * @generated
2511 */
2512 @Override
2513 public EClass getNon_Resident_Tax_Payer() {
2514 return non_Resident_Tax_PayerEClass;
2515 }
2516
2517 /**
2518 * <!-- begin-user-doc -->
2519 * <!-- end-user-doc -->
2520 * @generated
2521 */
2522 @Override
2523 public EAttribute getNon_Resident_Tax_Payer_Is_assimilated_to_resident() {
2524 return (EAttribute)non_Resident_Tax_PayerEClass.getEStructuralFeatures().get(0);
2525 }
2526
2527 /**
2528 * <!-- begin-user-doc -->
2529 * <!-- end-user-doc -->
2530 * @generated
2531 */
2532 @Override
2533 public EClass getPartnership_Record() {
2534 return partnership_RecordEClass;
2535 }
2536
2537 /**
2538 * <!-- begin-user-doc -->
2539 * <!-- end-user-doc -->
2540 * @generated
2541 */
2542 @Override
2543 public EClass getResident_Tax_Payer() {
2544 return resident_Tax_PayerEClass;
2545 }
2546
2547 /**
2548 * <!-- begin-user-doc -->
2549 * <!-- end-user-doc -->
2550 * @generated
2551 */
2552 @Override
2553 public EClass getTrade_and_Business_Income() {
2554 return trade_and_Business_IncomeEClass;
2555 }
2556
2557 /**
2558 * <!-- begin-user-doc -->
2559 * <!-- end-user-doc -->
2560 * @generated
2561 */
2562 @Override
2563 public EClass getAgriculture_and_Forestry_Income() {
2564 return agriculture_and_Forestry_IncomeEClass;
2565 }
2566
2567 /**
2568 * <!-- begin-user-doc -->
2569 * <!-- end-user-doc -->
2570 * @generated
2571 */
2572 @Override
2573 public EClass getPensions_and_Annuities_Income() {
2574 return pensions_and_Annuities_IncomeEClass;
2575 }
2576
2577 /**
2578 * <!-- begin-user-doc -->
2579 * <!-- end-user-doc -->
2580 * @generated
2581 */
2582 @Override
2583 public EAttribute getPensions_and_Annuities_Income_Occasional_payement() {
2584 return (EAttribute)pensions_and_Annuities_IncomeEClass.getEStructuralFeatures().get(0);
2585 }
2586
2587 /**
2588 * <!-- begin-user-doc -->
2589 * <!-- end-user-doc -->
2590 * @generated
2591 */
2592 @Override
2593 public EClass getCapital_and_Investments_Income() {
2594 return capital_and_Investments_IncomeEClass;
2595 }
2596
2597 /**
2598 * <!-- begin-user-doc -->
2599 * <!-- end-user-doc -->
2600 * @generated
2601 */
2602 @Override
2603 public EClass getEmployment_Income() {
2604 return employment_IncomeEClass;
2605 }
2606
2607 /**
2608 * <!-- begin-user-doc -->
2609 * <!-- end-user-doc -->
2610 * @generated
2611 */
2612 @Override
2613 public EClass getRentals_and_Leases_Income() {
2614 return rentals_and_Leases_IncomeEClass;
2615 }
2616
2617 /**
2618 * <!-- begin-user-doc -->
2619 * <!-- end-user-doc -->
2620 * @generated
2621 */
2622 @Override
2623 public EAttribute getRentals_and_Leases_Income_Is_periodic() {
2624 return (EAttribute)rentals_and_Leases_IncomeEClass.getEStructuralFeatures().get(0);
2625 }
2626
2627 /**
2628 * <!-- begin-user-doc -->
2629 * <!-- end-user-doc -->
2630 * @generated
2631 */
2632 @Override
2633 public EClass getForeign_Income() {
2634 return foreign_IncomeEClass;
2635 }
2636
2637 /**
2638 * <!-- begin-user-doc -->
2639 * <!-- end-user-doc -->
2640 * @generated
2641 */
2642 @Override
2643 public EClass getLocal_Income() {
2644 return local_IncomeEClass;
2645 }
2646
2647 /**
2648 * <!-- begin-user-doc -->
2649 * <!-- end-user-doc -->
2650 * @generated
2651 */
2652 @Override
2653 public EClass getCIM() {
2654 return cimEClass;
2655 }
2656
2657 /**
2658 * <!-- begin-user-doc -->
2659 * <!-- end-user-doc -->
2660 * @generated
2661 */
2662 @Override
2663 public EClass getCIP() {
2664 return cipEClass;
2665 }
2666
2667 /**
2668 * <!-- begin-user-doc -->
2669 * <!-- end-user-doc -->
2670 * @generated
2671 */
2672 @Override
2673 public EClass getCIS() {
2674 return cisEClass;
2675 }
2676
2677 /**
2678 * <!-- begin-user-doc -->
2679 * <!-- end-user-doc -->
2680 * @generated
2681 */
2682 @Override
2683 public EClass getFD() {
2684 return fdEClass;
2685 }
2686
2687 /**
2688 * <!-- begin-user-doc -->
2689 * <!-- end-user-doc -->
2690 * @generated
2691 */
2692 @Override
2693 public EAttribute getFD_Distance_declared_in_january() {
2694 return (EAttribute)fdEClass.getEStructuralFeatures().get(0);
2695 }
2696
2697 /**
2698 * <!-- begin-user-doc -->
2699 * <!-- end-user-doc -->
2700 * @generated
2701 */
2702 @Override
2703 public EAttribute getFD_Calculated_distance() {
2704 return (EAttribute)fdEClass.getEStructuralFeatures().get(1);
2705 }
2706
2707 /**
2708 * <!-- begin-user-doc -->
2709 * <!-- end-user-doc -->
2710 * @generated
2711 */
2712 @Override
2713 public EClass getProfessional_Expenses_Deduction() {
2714 return professional_Expenses_DeductionEClass;
2715 }
2716
2717 /**
2718 * <!-- begin-user-doc -->
2719 * <!-- end-user-doc -->
2720 * @generated
2721 */
2722 @Override
2723 public EClass getFO() {
2724 return foEClass;
2725 }
2726
2727 /**
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @generated
2731 */
2732 @Override
2733 public EAttribute getFO_Rate_type_for_FO() {
2734 return (EAttribute)foEClass.getEStructuralFeatures().get(0);
2735 }
2736
2737 /**
2738 * <!-- begin-user-doc -->
2739 * <!-- end-user-doc -->
2740 * @generated
2741 */
2742 @Override
2743 public EClass getDS_for_Permanent_Expense() {
2744 return dS_for_Permanent_ExpenseEClass;
2745 }
2746
2747 /**
2748 * <!-- begin-user-doc -->
2749 * <!-- end-user-doc -->
2750 * @generated
2751 */
2752 @Override
2753 public EAttribute getDS_for_Permanent_Expense_Permanent_expense_category() {
2754 return (EAttribute)dS_for_Permanent_ExpenseEClass.getEStructuralFeatures().get(0);
2755 }
2756
2757 /**
2758 * <!-- begin-user-doc -->
2759 * <!-- end-user-doc -->
2760 * @generated
2761 */
2762 @Override
2763 public EClass getDS() {
2764 return dsEClass;
2765 }
2766
2767 /**
2768 * <!-- begin-user-doc -->
2769 * <!-- end-user-doc -->
2770 * @generated
2771 */
2772 @Override
2773 public EAttribute getDS_Maximum_deductible_amount() {
2774 return (EAttribute)dsEClass.getEStructuralFeatures().get(0);
2775 }
2776
2777 /**
2778 * <!-- begin-user-doc -->
2779 * <!-- end-user-doc -->
2780 * @generated
2781 */
2782 @Override
2783 public EAttribute getDS_Id3() {
2784 return (EAttribute)dsEClass.getEStructuralFeatures().get(1);
2785 }
2786
2787 /**
2788 * <!-- begin-user-doc -->
2789 * <!-- end-user-doc -->
2790 * @generated
2791 */
2792 @Override
2793 public EClass getDS_for_Interest_Expense() {
2794 return dS_for_Interest_ExpenseEClass;
2795 }
2796
2797 /**
2798 * <!-- begin-user-doc -->
2799 * <!-- end-user-doc -->
2800 * @generated
2801 */
2802 @Override
2803 public EClass getDS_for_Health_and_Pension_Insurance() {
2804 return dS_for_Health_and_Pension_InsuranceEClass;
2805 }
2806
2807 /**
2808 * <!-- begin-user-doc -->
2809 * <!-- end-user-doc -->
2810 * @generated
2811 */
2812 @Override
2813 public EAttribute getDS_for_Health_and_Pension_Insurance_Insurance_category() {
2814 return (EAttribute)dS_for_Health_and_Pension_InsuranceEClass.getEStructuralFeatures().get(0);
2815 }
2816
2817 /**
2818 * <!-- begin-user-doc -->
2819 * <!-- end-user-doc -->
2820 * @generated
2821 */
2822 @Override
2823 public EClass getDS_for_Private_Insurance_and_Plan() {
2824 return dS_for_Private_Insurance_and_PlanEClass;
2825 }
2826
2827 /**
2828 * <!-- begin-user-doc -->
2829 * <!-- end-user-doc -->
2830 * @generated
2831 */
2832 @Override
2833 public EAttribute getDS_for_Private_Insurance_and_Plan_Private_insurance_and_plan_category() {
2834 return (EAttribute)dS_for_Private_Insurance_and_PlanEClass.getEStructuralFeatures().get(0);
2835 }
2836
2837 /**
2838 * <!-- begin-user-doc -->
2839 * <!-- end-user-doc -->
2840 * @generated
2841 */
2842 @Override
2843 public EAttribute getDS_for_Private_Insurance_and_Plan_Increase_for_life_insurance() {
2844 return (EAttribute)dS_for_Private_Insurance_and_PlanEClass.getEStructuralFeatures().get(1);
2845 }
2846
2847 /**
2848 * <!-- begin-user-doc -->
2849 * <!-- end-user-doc -->
2850 * @generated
2851 */
2852 @Override
2853 public EAttribute getDS_for_Private_Insurance_and_Plan_Maximum_deductible_amount_for_private_insurance() {
2854 return (EAttribute)dS_for_Private_Insurance_and_PlanEClass.getEStructuralFeatures().get(2);
2855 }
2856
2857 /**
2858 * <!-- begin-user-doc -->
2859 * <!-- end-user-doc -->
2860 * @generated
2861 */
2862 @Override
2863 public EAttribute getDS_for_Private_Insurance_and_Plan_Maximum_deductible_amount_for_old_age_pension_plan() {
2864 return (EAttribute)dS_for_Private_Insurance_and_PlanEClass.getEStructuralFeatures().get(3);
2865 }
2866
2867 /**
2868 * <!-- begin-user-doc -->
2869 * <!-- end-user-doc -->
2870 * @generated
2871 */
2872 @Override
2873 public EClass getDS_for_Loss_Carryforward() {
2874 return dS_for_Loss_CarryforwardEClass;
2875 }
2876
2877 /**
2878 * <!-- begin-user-doc -->
2879 * <!-- end-user-doc -->
2880 * @generated
2881 */
2882 @Override
2883 public EClass getDS_for_Donation() {
2884 return dS_for_DonationEClass;
2885 }
2886
2887 /**
2888 * <!-- begin-user-doc -->
2889 * <!-- end-user-doc -->
2890 * @generated
2891 */
2892 @Override
2893 public EClass getPermanent_Expense() {
2894 return permanent_ExpenseEClass;
2895 }
2896
2897 /**
2898 * <!-- begin-user-doc -->
2899 * <!-- end-user-doc -->
2900 * @generated
2901 */
2902 @Override
2903 public EAttribute getPermanent_Expense_Category() {
2904 return (EAttribute)permanent_ExpenseEClass.getEStructuralFeatures().get(0);
2905 }
2906
2907 /**
2908 * <!-- begin-user-doc -->
2909 * <!-- end-user-doc -->
2910 * @generated
2911 */
2912 @Override
2913 public EAttribute getPermanent_Expense_Is_eligible_for_deduction() {
2914 return (EAttribute)permanent_ExpenseEClass.getEStructuralFeatures().get(1);
2915 }
2916
2917 /**
2918 * <!-- begin-user-doc -->
2919 * <!-- end-user-doc -->
2920 * @generated
2921 */
2922 @Override
2923 public EClass getSpecial_Expense_DS() {
2924 return special_Expense_DSEClass;
2925 }
2926
2927 /**
2928 * <!-- begin-user-doc -->
2929 * <!-- end-user-doc -->
2930 * @generated
2931 */
2932 @Override
2933 public EClass getInterest_Expense() {
2934 return interest_ExpenseEClass;
2935 }
2936
2937 /**
2938 * <!-- begin-user-doc -->
2939 * <!-- end-user-doc -->
2940 * @generated
2941 */
2942 @Override
2943 public EClass getPrivate_Insurance_and_Plan() {
2944 return private_Insurance_and_PlanEClass;
2945 }
2946
2947 /**
2948 * <!-- begin-user-doc -->
2949 * <!-- end-user-doc -->
2950 * @generated
2951 */
2952 @Override
2953 public EAttribute getPrivate_Insurance_and_Plan_Category() {
2954 return (EAttribute)private_Insurance_and_PlanEClass.getEStructuralFeatures().get(0);
2955 }
2956
2957 /**
2958 * <!-- begin-user-doc -->
2959 * <!-- end-user-doc -->
2960 * @generated
2961 */
2962 @Override
2963 public EAttribute getPrivate_Insurance_and_Plan_Duration_of_contract() {
2964 return (EAttribute)private_Insurance_and_PlanEClass.getEStructuralFeatures().get(1);
2965 }
2966
2967 /**
2968 * <!-- begin-user-doc -->
2969 * <!-- end-user-doc -->
2970 * @generated
2971 */
2972 @Override
2973 public EAttribute getPrivate_Insurance_and_Plan_Is_private_insurance_and_plan_eligible_for_deduction() {
2974 return (EAttribute)private_Insurance_and_PlanEClass.getEStructuralFeatures().get(2);
2975 }
2976
2977 /**
2978 * <!-- begin-user-doc -->
2979 * <!-- end-user-doc -->
2980 * @generated
2981 */
2982 @Override
2983 public EClass getHealth_and_Pension_Insurance() {
2984 return health_and_Pension_InsuranceEClass;
2985 }
2986
2987 /**
2988 * <!-- begin-user-doc -->
2989 * <!-- end-user-doc -->
2990 * @generated
2991 */
2992 @Override
2993 public EAttribute getHealth_and_Pension_Insurance_Category() {
2994 return (EAttribute)health_and_Pension_InsuranceEClass.getEStructuralFeatures().get(0);
2995 }
2996
2997 /**
2998 * <!-- begin-user-doc -->
2999 * <!-- end-user-doc -->
3000 * @generated
3001 */
3002 @Override
3003 public EAttribute getHealth_and_Pension_Insurance_Is_related_to_additional_salary() {
3004 return (EAttribute)health_and_Pension_InsuranceEClass.getEStructuralFeatures().get(1);
3005 }
3006
3007 /**
3008 * <!-- begin-user-doc -->
3009 * <!-- end-user-doc -->
3010 * @generated
3011 */
3012 @Override
3013 public EClass getDonation() {
3014 return donationEClass;
3015 }
3016
3017 /**
3018 * <!-- begin-user-doc -->
3019 * <!-- end-user-doc -->
3020 * @generated
3021 */
3022 @Override
3023 public EAttribute getDonation_Beneficiary1() {
3024 return (EAttribute)donationEClass.getEStructuralFeatures().get(0);
3025 }
3026
3027 /**
3028 * <!-- begin-user-doc -->
3029 * <!-- end-user-doc -->
3030 * @generated
3031 */
3032 @Override
3033 public EAttribute getDonation_Is_beneficiary_eligible() {
3034 return (EAttribute)donationEClass.getEStructuralFeatures().get(1);
3035 }
3036
3037 /**
3038 * <!-- begin-user-doc -->
3039 * <!-- end-user-doc -->
3040 * @generated
3041 */
3042 @Override
3043 public EAttribute getDonation_Is_donation_reported() {
3044 return (EAttribute)donationEClass.getEStructuralFeatures().get(2);
3045 }
3046
3047 /**
3048 * <!-- begin-user-doc -->
3049 * <!-- end-user-doc -->
3050 * @generated
3051 */
3052 @Override
3053 public EClass getLoss_Carryforward() {
3054 return loss_CarryforwardEClass;
3055 }
3056
3057 /**
3058 * <!-- begin-user-doc -->
3059 * <!-- end-user-doc -->
3060 * @generated
3061 */
3062 @Override
3063 public EAttribute getLoss_Carryforward_Regular_accountability() {
3064 return (EAttribute)loss_CarryforwardEClass.getEStructuralFeatures().get(0);
3065 }
3066
3067 /**
3068 * <!-- begin-user-doc -->
3069 * <!-- end-user-doc -->
3070 * @generated
3071 */
3072 @Override
3073 public EAttribute getLoss_Carryforward_Compensation_by_other_means() {
3074 return (EAttribute)loss_CarryforwardEClass.getEStructuralFeatures().get(1);
3075 }
3076
3077 /**
3078 * <!-- begin-user-doc -->
3079 * <!-- end-user-doc -->
3080 * @generated
3081 */
3082 @Override
3083 public EAttribute getLoss_Carryforward_Tax_payer_has_inherited_business_ownership() {
3084 return (EAttribute)loss_CarryforwardEClass.getEStructuralFeatures().get(2);
3085 }
3086
3087 /**
3088 * <!-- begin-user-doc -->
3089 * <!-- end-user-doc -->
3090 * @generated
3091 */
3092 @Override
3093 public EAttribute getLoss_Carryforward_Tax_payer_has_been_partner_in_business() {
3094 return (EAttribute)loss_CarryforwardEClass.getEStructuralFeatures().get(3);
3095 }
3096
3097 /**
3098 * <!-- begin-user-doc -->
3099 * <!-- end-user-doc -->
3100 * @generated
3101 */
3102 @Override
3103 public EClass getSpousal_Expense_AC() {
3104 return spousal_Expense_ACEClass;
3105 }
3106
3107 /**
3108 * <!-- begin-user-doc -->
3109 * <!-- end-user-doc -->
3110 * @generated
3111 */
3112 @Override
3113 public EClass getExtraordinary_Expense_CE() {
3114 return extraordinary_Expense_CEEClass;
3115 }
3116
3117 /**
3118 * <!-- begin-user-doc -->
3119 * <!-- end-user-doc -->
3120 * @generated
3121 */
3122 @Override
3123 public EAttribute getExtraordinary_Expense_CE_Thresholded_deduction_percentage() {
3124 return (EAttribute)extraordinary_Expense_CEEClass.getEStructuralFeatures().get(0);
3125 }
3126
3127 /**
3128 * <!-- begin-user-doc -->
3129 * <!-- end-user-doc -->
3130 * @generated
3131 */
3132 @Override
3133 public EAttribute getExtraordinary_Expense_CE_Ce_type() {
3134 return (EAttribute)extraordinary_Expense_CEEClass.getEStructuralFeatures().get(1);
3135 }
3136
3137 /**
3138 * <!-- begin-user-doc -->
3139 * <!-- end-user-doc -->
3140 * @generated
3141 */
3142 @Override
3143 public EClass getTravel_Expense_FD() {
3144 return travel_Expense_FDEClass;
3145 }
3146
3147 /**
3148 * <!-- begin-user-doc -->
3149 * <!-- end-user-doc -->
3150 * @generated
3151 */
3152 @Override
3153 public EClass getProfessional_Expense() {
3154 return professional_ExpenseEClass;
3155 }
3156
3157 /**
3158 * <!-- begin-user-doc -->
3159 * <!-- end-user-doc -->
3160 * @generated
3161 */
3162 @Override
3163 public EClass getMiscellaneous_Expense_FO() {
3164 return miscellaneous_Expense_FOEClass;
3165 }
3166
3167 /**
3168 * <!-- begin-user-doc -->
3169 * <!-- end-user-doc -->
3170 * @generated
3171 */
3172 @Override
3173 public EEnum getGrantor() {
3174 return grantorEEnum;
3175 }
3176
3177 /**
3178 * <!-- begin-user-doc -->
3179 * <!-- end-user-doc -->
3180 * @generated
3181 */
3182 @Override
3183 public EEnum getDisability_Types() {
3184 return disability_TypesEEnum;
3185 }
3186
3187 /**
3188 * <!-- begin-user-doc -->
3189 * <!-- end-user-doc -->
3190 * @generated
3191 */
3192 @Override
3193 public EEnum getCountry() {
3194 return countryEEnum;
3195 }
3196
3197 /**
3198 * <!-- begin-user-doc -->
3199 * <!-- end-user-doc -->
3200 * @generated
3201 */
3202 @Override
3203 public EEnum getTax_Card_Type() {
3204 return tax_Card_TypeEEnum;
3205 }
3206
3207 /**
3208 * <!-- begin-user-doc -->
3209 * <!-- end-user-doc -->
3210 * @generated
3211 */
3212 @Override
3213 public EEnum getTax_Office() {
3214 return tax_OfficeEEnum;
3215 }
3216
3217 /**
3218 * <!-- begin-user-doc -->
3219 * <!-- end-user-doc -->
3220 * @generated
3221 */
3222 @Override
3223 public EEnum getTax_Class_Category() {
3224 return tax_Class_CategoryEEnum;
3225 }
3226
3227 /**
3228 * <!-- begin-user-doc -->
3229 * <!-- end-user-doc -->
3230 * @generated
3231 */
3232 @Override
3233 public EEnum getJob_Activity() {
3234 return job_ActivityEEnum;
3235 }
3236
3237 /**
3238 * <!-- begin-user-doc -->
3239 * <!-- end-user-doc -->
3240 * @generated
3241 */
3242 @Override
3243 public EEnum getTown() {
3244 return townEEnum;
3245 }
3246
3247 /**
3248 * <!-- begin-user-doc -->
3249 * <!-- end-user-doc -->
3250 * @generated
3251 */
3252 @Override
3253 public EEnum getType_of_Rate() {
3254 return type_of_RateEEnum;
3255 }
3256
3257 /**
3258 * <!-- begin-user-doc -->
3259 * <!-- end-user-doc -->
3260 * @generated
3261 */
3262 @Override
3263 public EEnum getCE_Type() {
3264 return cE_TypeEEnum;
3265 }
3266
3267 /**
3268 * <!-- begin-user-doc -->
3269 * <!-- end-user-doc -->
3270 * @generated
3271 */
3272 @Override
3273 public EEnum getExpense_Purpose() {
3274 return expense_PurposeEEnum;
3275 }
3276
3277 /**
3278 * <!-- begin-user-doc -->
3279 * <!-- end-user-doc -->
3280 * @generated
3281 */
3282 @Override
3283 public EEnum getDependent_Type() {
3284 return dependent_TypeEEnum;
3285 }
3286
3287 /**
3288 * <!-- begin-user-doc -->
3289 * <!-- end-user-doc -->
3290 * @generated
3291 */
3292 @Override
3293 public EEnum getSeparation_Causes() {
3294 return separation_CausesEEnum;
3295 }
3296
3297 /**
3298 * <!-- begin-user-doc -->
3299 * <!-- end-user-doc -->
3300 * @generated
3301 */
3302 @Override
3303 public EEnum getCategory_of_Permanent_Expense() {
3304 return category_of_Permanent_ExpenseEEnum;
3305 }
3306
3307 /**
3308 * <!-- begin-user-doc -->
3309 * <!-- end-user-doc -->
3310 * @generated
3311 */
3312 @Override
3313 public EEnum getCategory_of_Health_and_Pension_Insurances() {
3314 return category_of_Health_and_Pension_InsurancesEEnum;
3315 }
3316
3317 /**
3318 * <!-- begin-user-doc -->
3319 * <!-- end-user-doc -->
3320 * @generated
3321 */
3322 @Override
3323 public EEnum getCategory_of_Private_Insurance_and_Plan() {
3324 return category_of_Private_Insurance_and_PlanEEnum;
3325 }
3326
3327 /**
3328 * <!-- begin-user-doc -->
3329 * <!-- end-user-doc -->
3330 * @generated
3331 */
3332 @Override
3333 public EEnum getLegal_Union_Types() {
3334 return legal_Union_TypesEEnum;
3335 }
3336
3337 /**
3338 * <!-- begin-user-doc -->
3339 * <!-- end-user-doc -->
3340 * @generated
3341 */
3342 @Override
3343 public TaxationFactory getTaxationFactory() {
3344 return (TaxationFactory)getEFactoryInstance();
3345 }
3346
3347 /**
3348 * <!-- begin-user-doc -->
3349 * <!-- end-user-doc -->
3350 * @generated
3351 */
3352 private boolean isCreated = false;
3353
3354 /**
3355 * Creates the meta-model objects for the package. This method is
3356 * guarded to have no affect on any invocation but its first.
3357 * <!-- begin-user-doc -->
3358 * <!-- end-user-doc -->
3359 * @generated
3360 */
3361 public void createPackageContents() {
3362 if (isCreated) return;
3363 isCreated = true;
3364
3365 // Create classes and their features
3366 constantsEClass = createEClass(CONSTANTS);
3367 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD);
3368 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE);
3369 createEAttribute(constantsEClass, CONSTANTS__MINIMUM_SALARY);
3370 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION);
3371 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS);
3372 createEAttribute(constantsEClass, CONSTANTS__MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS);
3373 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC);
3374 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE);
3375 createEAttribute(constantsEClass, CONSTANTS__MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
3376 createEAttribute(constantsEClass, CONSTANTS__MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
3377 createEAttribute(constantsEClass, CONSTANTS__MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION);
3378 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIM_DAILY);
3379 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIM_MONTHLY);
3380 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIM_YEARLY);
3381 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIP_DAILY);
3382 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIP_MONTHLY);
3383 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIP_YEARLY);
3384 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIS_DAILY);
3385 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIS_MONTHLY);
3386 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_CIS_YEARLY);
3387 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT);
3388 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS);
3389 createEAttribute(constantsEClass, CONSTANTS__FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE);
3390 createEAttribute(constantsEClass, CONSTANTS__DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE);
3391 createEAttribute(constantsEClass, CONSTANTS__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE);
3392
3393 income_TaxEClass = createEClass(INCOME_TAX);
3394 createEReference(income_TaxEClass, INCOME_TAX__TAX_PAYER);
3395 createEAttribute(income_TaxEClass, INCOME_TAX__TAX_AMOUNT);
3396 createEAttribute(income_TaxEClass, INCOME_TAX__TAX_YEAR);
3397 createEAttribute(income_TaxEClass, INCOME_TAX__ID6);
3398
3399 tax_PayerEClass = createEClass(TAX_PAYER);
3400 createEReference(tax_PayerEClass, TAX_PAYER__DEPENDENTS);
3401 createEReference(tax_PayerEClass, TAX_PAYER__FROM_AGENT);
3402 createEReference(tax_PayerEClass, TAX_PAYER__INCOMES);
3403 createEReference(tax_PayerEClass, TAX_PAYER__FROM_LAW);
3404 createEAttribute(tax_PayerEClass, TAX_PAYER__TAXES_DUE);
3405
3406 physical_PersonEClass = createEClass(PHYSICAL_PERSON);
3407 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__IS_ASSISTING_SPOUSE);
3408 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__SS_NO);
3409 createEReference(physical_PersonEClass, PHYSICAL_PERSON__ADDRESSES);
3410 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__BIRTH_YEAR);
3411 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__DISABILITY_PERCENTAGE);
3412 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__DISABILITY_TYPE);
3413 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__IS_AFFILIATED_PERSONNALY_TO_SOCIAL_SECURITY);
3414 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__BIRTH_MONTH);
3415 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__BIRTH_DAY);
3416 createEReference(physical_PersonEClass, PHYSICAL_PERSON__EXPENSES);
3417 createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__IS_WIDOWER);
3418 createEReference(physical_PersonEClass, PHYSICAL_PERSON__OWNS_ADDRESS);
3419
3420 addressEClass = createEClass(ADDRESS);
3421 createEAttribute(addressEClass, ADDRESS__COUNTRY);
3422 createEAttribute(addressEClass, ADDRESS__STREET);
3423 createEAttribute(addressEClass, ADDRESS__ZIP_CODE);
3424 createEAttribute(addressEClass, ADDRESS__CITY);
3425 createEAttribute(addressEClass, ADDRESS__ID2);
3426 createEReference(addressEClass, ADDRESS__TAX_PAYER);
3427
3428 expenseEClass = createEClass(EXPENSE);
3429 createEAttribute(expenseEClass, EXPENSE__DECLARED_AMOUNT);
3430 createEAttribute(expenseEClass, EXPENSE__EXPENSE_PURPOSE);
3431 createEReference(expenseEClass, EXPENSE__DEPENDENT);
3432 createEReference(expenseEClass, EXPENSE__FROM_AGENT);
3433 createEReference(expenseEClass, EXPENSE__INCOME);
3434 createEAttribute(expenseEClass, EXPENSE__ID4);
3435 createEReference(expenseEClass, EXPENSE__BENEFICIARY);
3436
3437 dependentEClass = createEClass(DEPENDENT);
3438 createEAttribute(dependentEClass, DEPENDENT__DEPENDENT_TYPE);
3439 createEReference(dependentEClass, DEPENDENT__RESPONSIBLE_PERSON);
3440 createEAttribute(dependentEClass, DEPENDENT__CONTINUED_STUDIES);
3441 createEReference(dependentEClass, DEPENDENT__ALLOWANCES);
3442 createEReference(dependentEClass, DEPENDENT__HOUSEHOLD);
3443 createEReference(dependentEClass, DEPENDENT__FROM_AGENT);
3444 createEReference(dependentEClass, DEPENDENT__EXPENSE);
3445
3446 external_AllowanceEClass = createEClass(EXTERNAL_ALLOWANCE);
3447 createEAttribute(external_AllowanceEClass, EXTERNAL_ALLOWANCE__AMOUNT);
3448 createEAttribute(external_AllowanceEClass, EXTERNAL_ALLOWANCE__GRANTOR);
3449 createEAttribute(external_AllowanceEClass, EXTERNAL_ALLOWANCE__STARTING_YEAR);
3450 createEAttribute(external_AllowanceEClass, EXTERNAL_ALLOWANCE__ENDING_YEAR);
3451 createEReference(external_AllowanceEClass, EXTERNAL_ALLOWANCE__RECIVER);
3452 createEAttribute(external_AllowanceEClass, EXTERNAL_ALLOWANCE__ID5);
3453 createEReference(external_AllowanceEClass, EXTERNAL_ALLOWANCE__PERSON);
3454
3455 householdEClass = createEClass(HOUSEHOLD);
3456 createEReference(householdEClass, HOUSEHOLD__PARENTS);
3457 createEAttribute(householdEClass, HOUSEHOLD__ID1);
3458 createEReference(householdEClass, HOUSEHOLD__CHILDREN);
3459
3460 legal_Union_RecordEClass = createEClass(LEGAL_UNION_RECORD);
3461 createEAttribute(legal_Union_RecordEClass, LEGAL_UNION_RECORD__START_YEAR);
3462 createEAttribute(legal_Union_RecordEClass, LEGAL_UNION_RECORD__END_YEAR);
3463 createEAttribute(legal_Union_RecordEClass, LEGAL_UNION_RECORD__SEPARATION_CAUSE);
3464 createEReference(legal_Union_RecordEClass, LEGAL_UNION_RECORD__INDIVIDUAL_A);
3465 createEReference(legal_Union_RecordEClass, LEGAL_UNION_RECORD__INDIVIDUAL_B);
3466 createEReference(legal_Union_RecordEClass, LEGAL_UNION_RECORD__PROPERTIES);
3467 createEAttribute(legal_Union_RecordEClass, LEGAL_UNION_RECORD__MUTUAL_AGREEMENT);
3468 createEAttribute(legal_Union_RecordEClass, LEGAL_UNION_RECORD__ID9);
3469 createEReference(legal_Union_RecordEClass, LEGAL_UNION_RECORD__HOUSEHOLD);
3470
3471 tax_PropertyEClass = createEClass(TAX_PROPERTY);
3472 createEAttribute(tax_PropertyEClass, TAX_PROPERTY__STARTING_YEAR);
3473 createEAttribute(tax_PropertyEClass, TAX_PROPERTY__ID10);
3474 createEReference(tax_PropertyEClass, TAX_PROPERTY__UNION_RECORD);
3475
3476 tax_CaseEClass = createEClass(TAX_CASE);
3477
3478 fromAgentEClass = createEClass(FROM_AGENT);
3479 createEReference(fromAgentEClass, FROM_AGENT__TAX_PAYER);
3480 createEAttribute(fromAgentEClass, FROM_AGENT__IS_DEPENDENT_ELIGIBLE_FOR_CE_NOT_IN_HOUSHOLD_CHILDREN_CARE);
3481 createEReference(fromAgentEClass, FROM_AGENT__EXPENSE);
3482 createEAttribute(fromAgentEClass, FROM_AGENT__IS_ELIGIBLE_DEBT);
3483 createEReference(fromAgentEClass, FROM_AGENT__DEPENDENT);
3484
3485 incomeEClass = createEClass(INCOME);
3486 createEAttribute(incomeEClass, INCOME__INCOME_AMOUNT);
3487 createEReference(incomeEClass, INCOME__INCOME_TYPE);
3488 createEAttribute(incomeEClass, INCOME__START_DATE_WITHIN_TAXATION_YEAR);
3489 createEAttribute(incomeEClass, INCOME__START_DATE_OF_CONTRACT);
3490 createEAttribute(incomeEClass, INCOME__END_DATE_WITHIN_TAXATION_YEAR);
3491 createEReference(incomeEClass, INCOME__TAX_CARD);
3492 createEAttribute(incomeEClass, INCOME__TAX_LIABILITY);
3493 createEReference(incomeEClass, INCOME__TAX_PAYER);
3494 createEReference(incomeEClass, INCOME__DETAILS);
3495 createEAttribute(incomeEClass, INCOME__NUM);
3496 createEReference(incomeEClass, INCOME__EXPENSES);
3497
3498 income_TypeEClass = createEClass(INCOME_TYPE);
3499 createEAttribute(income_TypeEClass, INCOME_TYPE__SUBJECT_TO_WITHHOLDING_TAX);
3500 createEAttribute(income_TypeEClass, INCOME_TYPE__ID8);
3501 createEReference(income_TypeEClass, INCOME_TYPE__INCOME);
3502
3503 tax_CardEClass = createEClass(TAX_CARD);
3504 createEAttribute(tax_CardEClass, TAX_CARD__CARD_IDENTIFIER);
3505 createEAttribute(tax_CardEClass, TAX_CARD__TAX_CARD_TYPE);
3506 createEAttribute(tax_CardEClass, TAX_CARD__TAX_OFFICE);
3507 createEAttribute(tax_CardEClass, TAX_CARD__VALID_FROM_DATE);
3508 createEAttribute(tax_CardEClass, TAX_CARD__VALID_UNTIL_DATE);
3509 createEAttribute(tax_CardEClass, TAX_CARD__PERCENTAGE_OF_WITHOLDING);
3510 createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_NAME_SURNAME);
3511 createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME);
3512 createEReference(tax_CardEClass, TAX_CARD__TAX_PAYERS_ADDRESS);
3513 createEAttribute(tax_CardEClass, TAX_CARD__JOBS_EMPLOYER_SS_NO);
3514 createEAttribute(tax_CardEClass, TAX_CARD__JOBS_EMPLOYERS_NAME);
3515 createEAttribute(tax_CardEClass, TAX_CARD__JOBS_ACTIVITY_TYPE);
3516 createEAttribute(tax_CardEClass, TAX_CARD__JOBS_PLACE_OF_WORK);
3517 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_FD_DAILY);
3518 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_FD_MONTHLY);
3519 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_AC_DAILY);
3520 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_AC_MONTHLY);
3521 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_AC_YEARLY);
3522 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_CE_DAILY);
3523 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_CE_MONTHLY);
3524 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_CE_YEARLY);
3525 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_DS_DAILY);
3526 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_DS_MONTHLY);
3527 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_FO_DAILY);
3528 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_FO_MONTHLY);
3529 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_FO_YEARLY);
3530 createEAttribute(tax_CardEClass, TAX_CARD__CREDIT_CIS_DAILY);
3531 createEAttribute(tax_CardEClass, TAX_CARD__CREDIT_CIS_MONTHLY);
3532 createEAttribute(tax_CardEClass, TAX_CARD__CREDIT_CIM_DAILY);
3533 createEAttribute(tax_CardEClass, TAX_CARD__VALIDITY);
3534 createEReference(tax_CardEClass, TAX_CARD__INCOME_TAX_CREDIT);
3535 createEReference(tax_CardEClass, TAX_CARD__PREVIOUS);
3536 createEReference(tax_CardEClass, TAX_CARD__CURRENT_TAX_CARD);
3537 createEAttribute(tax_CardEClass, TAX_CARD__CREDIT_CIM_YEARLY);
3538 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_DS_ALIMONY_YEARLY);
3539 createEAttribute(tax_CardEClass, TAX_CARD__DEDUCTION_DS_DEBT_YEARLY);
3540 createEReference(tax_CardEClass, TAX_CARD__INCOME);
3541
3542 income_Tax_CreditEClass = createEClass(INCOME_TAX_CREDIT);
3543 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__GRANTED_BY);
3544 createEReference(income_Tax_CreditEClass, INCOME_TAX_CREDIT__TAX_PAYER);
3545 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__TAX_YEAR);
3546 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__YEARLY);
3547 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__MONTHLY);
3548 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__DAILY);
3549 createEAttribute(income_Tax_CreditEClass, INCOME_TAX_CREDIT__ID7);
3550 createEReference(income_Tax_CreditEClass, INCOME_TAX_CREDIT__TAXATION_FRAME);
3551
3552 income_DetailEClass = createEClass(INCOME_DETAIL);
3553 createEAttribute(income_DetailEClass, INCOME_DETAIL__AMOUNT);
3554 createEAttribute(income_DetailEClass, INCOME_DETAIL__IS_WORKED);
3555 createEAttribute(income_DetailEClass, INCOME_DETAIL__DISTANCE);
3556 createEAttribute(income_DetailEClass, INCOME_DETAIL__WORKED_DAYS);
3557 createEAttribute(income_DetailEClass, INCOME_DETAIL__IS_CONTRIBUTING_CNS);
3558 createEAttribute(income_DetailEClass, INCOME_DETAIL__ID5);
3559 createEReference(income_DetailEClass, INCOME_DETAIL__INCOME);
3560
3561 fromLawEClass = createEClass(FROM_LAW);
3562 createEAttribute(fromLawEClass, FROM_LAW__ID);
3563 createEReference(fromLawEClass, FROM_LAW__TAX_PAYER);
3564
3565 fiscal_AddressEClass = createEClass(FISCAL_ADDRESS);
3566
3567 habitual_AddressEClass = createEClass(HABITUAL_ADDRESS);
3568
3569 marriage_RecordEClass = createEClass(MARRIAGE_RECORD);
3570
3571 non_Resident_Tax_PayerEClass = createEClass(NON_RESIDENT_TAX_PAYER);
3572 createEAttribute(non_Resident_Tax_PayerEClass, NON_RESIDENT_TAX_PAYER__IS_ASSIMILATED_TO_RESIDENT);
3573
3574 partnership_RecordEClass = createEClass(PARTNERSHIP_RECORD);
3575
3576 resident_Tax_PayerEClass = createEClass(RESIDENT_TAX_PAYER);
3577
3578 trade_and_Business_IncomeEClass = createEClass(TRADE_AND_BUSINESS_INCOME);
3579
3580 agriculture_and_Forestry_IncomeEClass = createEClass(AGRICULTURE_AND_FORESTRY_INCOME);
3581
3582 pensions_and_Annuities_IncomeEClass = createEClass(PENSIONS_AND_ANNUITIES_INCOME);
3583 createEAttribute(pensions_and_Annuities_IncomeEClass, PENSIONS_AND_ANNUITIES_INCOME__OCCASIONAL_PAYEMENT);
3584
3585 capital_and_Investments_IncomeEClass = createEClass(CAPITAL_AND_INVESTMENTS_INCOME);
3586
3587 employment_IncomeEClass = createEClass(EMPLOYMENT_INCOME);
3588
3589 rentals_and_Leases_IncomeEClass = createEClass(RENTALS_AND_LEASES_INCOME);
3590 createEAttribute(rentals_and_Leases_IncomeEClass, RENTALS_AND_LEASES_INCOME__IS_PERIODIC);
3591
3592 foreign_IncomeEClass = createEClass(FOREIGN_INCOME);
3593
3594 local_IncomeEClass = createEClass(LOCAL_INCOME);
3595
3596 cimEClass = createEClass(CIM);
3597
3598 cipEClass = createEClass(CIP);
3599
3600 cisEClass = createEClass(CIS);
3601
3602 fdEClass = createEClass(FD);
3603 createEAttribute(fdEClass, FD__DISTANCE_DECLARED_IN_JANUARY);
3604 createEAttribute(fdEClass, FD__CALCULATED_DISTANCE);
3605
3606 professional_Expenses_DeductionEClass = createEClass(PROFESSIONAL_EXPENSES_DEDUCTION);
3607
3608 foEClass = createEClass(FO);
3609 createEAttribute(foEClass, FO__RATE_TYPE_FOR_FO);
3610
3611 dS_for_Permanent_ExpenseEClass = createEClass(DS_FOR_PERMANENT_EXPENSE);
3612 createEAttribute(dS_for_Permanent_ExpenseEClass, DS_FOR_PERMANENT_EXPENSE__PERMANENT_EXPENSE_CATEGORY);
3613
3614 dsEClass = createEClass(DS);
3615 createEAttribute(dsEClass, DS__MAXIMUM_DEDUCTIBLE_AMOUNT);
3616 createEAttribute(dsEClass, DS__ID3);
3617
3618 dS_for_Interest_ExpenseEClass = createEClass(DS_FOR_INTEREST_EXPENSE);
3619
3620 dS_for_Health_and_Pension_InsuranceEClass = createEClass(DS_FOR_HEALTH_AND_PENSION_INSURANCE);
3621 createEAttribute(dS_for_Health_and_Pension_InsuranceEClass, DS_FOR_HEALTH_AND_PENSION_INSURANCE__INSURANCE_CATEGORY);
3622
3623 dS_for_Private_Insurance_and_PlanEClass = createEClass(DS_FOR_PRIVATE_INSURANCE_AND_PLAN);
3624 createEAttribute(dS_for_Private_Insurance_and_PlanEClass, DS_FOR_PRIVATE_INSURANCE_AND_PLAN__PRIVATE_INSURANCE_AND_PLAN_CATEGORY);
3625 createEAttribute(dS_for_Private_Insurance_and_PlanEClass, DS_FOR_PRIVATE_INSURANCE_AND_PLAN__INCREASE_FOR_LIFE_INSURANCE);
3626 createEAttribute(dS_for_Private_Insurance_and_PlanEClass, DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_PRIVATE_INSURANCE);
3627 createEAttribute(dS_for_Private_Insurance_and_PlanEClass, DS_FOR_PRIVATE_INSURANCE_AND_PLAN__MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_OLD_AGE_PENSION_PLAN);
3628
3629 dS_for_Loss_CarryforwardEClass = createEClass(DS_FOR_LOSS_CARRYFORWARD);
3630
3631 dS_for_DonationEClass = createEClass(DS_FOR_DONATION);
3632
3633 permanent_ExpenseEClass = createEClass(PERMANENT_EXPENSE);
3634 createEAttribute(permanent_ExpenseEClass, PERMANENT_EXPENSE__CATEGORY);
3635 createEAttribute(permanent_ExpenseEClass, PERMANENT_EXPENSE__IS_ELIGIBLE_FOR_DEDUCTION);
3636
3637 special_Expense_DSEClass = createEClass(SPECIAL_EXPENSE_DS);
3638
3639 interest_ExpenseEClass = createEClass(INTEREST_EXPENSE);
3640
3641 private_Insurance_and_PlanEClass = createEClass(PRIVATE_INSURANCE_AND_PLAN);
3642 createEAttribute(private_Insurance_and_PlanEClass, PRIVATE_INSURANCE_AND_PLAN__CATEGORY);
3643 createEAttribute(private_Insurance_and_PlanEClass, PRIVATE_INSURANCE_AND_PLAN__DURATION_OF_CONTRACT);
3644 createEAttribute(private_Insurance_and_PlanEClass, PRIVATE_INSURANCE_AND_PLAN__IS_PRIVATE_INSURANCE_AND_PLAN_ELIGIBLE_FOR_DEDUCTION);
3645
3646 health_and_Pension_InsuranceEClass = createEClass(HEALTH_AND_PENSION_INSURANCE);
3647 createEAttribute(health_and_Pension_InsuranceEClass, HEALTH_AND_PENSION_INSURANCE__CATEGORY);
3648 createEAttribute(health_and_Pension_InsuranceEClass, HEALTH_AND_PENSION_INSURANCE__IS_RELATED_TO_ADDITIONAL_SALARY);
3649
3650 donationEClass = createEClass(DONATION);
3651 createEAttribute(donationEClass, DONATION__BENEFICIARY1);
3652 createEAttribute(donationEClass, DONATION__IS_BENEFICIARY_ELIGIBLE);
3653 createEAttribute(donationEClass, DONATION__IS_DONATION_REPORTED);
3654
3655 loss_CarryforwardEClass = createEClass(LOSS_CARRYFORWARD);
3656 createEAttribute(loss_CarryforwardEClass, LOSS_CARRYFORWARD__REGULAR_ACCOUNTABILITY);
3657 createEAttribute(loss_CarryforwardEClass, LOSS_CARRYFORWARD__COMPENSATION_BY_OTHER_MEANS);
3658 createEAttribute(loss_CarryforwardEClass, LOSS_CARRYFORWARD__TAX_PAYER_HAS_INHERITED_BUSINESS_OWNERSHIP);
3659 createEAttribute(loss_CarryforwardEClass, LOSS_CARRYFORWARD__TAX_PAYER_HAS_BEEN_PARTNER_IN_BUSINESS);
3660
3661 spousal_Expense_ACEClass = createEClass(SPOUSAL_EXPENSE_AC);
3662
3663 extraordinary_Expense_CEEClass = createEClass(EXTRAORDINARY_EXPENSE_CE);
3664 createEAttribute(extraordinary_Expense_CEEClass, EXTRAORDINARY_EXPENSE_CE__THRESHOLDED_DEDUCTION_PERCENTAGE);
3665 createEAttribute(extraordinary_Expense_CEEClass, EXTRAORDINARY_EXPENSE_CE__CE_TYPE);
3666
3667 travel_Expense_FDEClass = createEClass(TRAVEL_EXPENSE_FD);
3668
3669 professional_ExpenseEClass = createEClass(PROFESSIONAL_EXPENSE);
3670
3671 miscellaneous_Expense_FOEClass = createEClass(MISCELLANEOUS_EXPENSE_FO);
3672
3673 // Create enums
3674 grantorEEnum = createEEnum(GRANTOR);
3675 disability_TypesEEnum = createEEnum(DISABILITY_TYPES);
3676 countryEEnum = createEEnum(COUNTRY);
3677 tax_Card_TypeEEnum = createEEnum(TAX_CARD_TYPE);
3678 tax_OfficeEEnum = createEEnum(TAX_OFFICE);
3679 tax_Class_CategoryEEnum = createEEnum(TAX_CLASS_CATEGORY);
3680 job_ActivityEEnum = createEEnum(JOB_ACTIVITY);
3681 townEEnum = createEEnum(TOWN);
3682 type_of_RateEEnum = createEEnum(TYPE_OF_RATE);
3683 cE_TypeEEnum = createEEnum(CE_TYPE);
3684 expense_PurposeEEnum = createEEnum(EXPENSE_PURPOSE);
3685 dependent_TypeEEnum = createEEnum(DEPENDENT_TYPE);
3686 separation_CausesEEnum = createEEnum(SEPARATION_CAUSES);
3687 category_of_Permanent_ExpenseEEnum = createEEnum(CATEGORY_OF_PERMANENT_EXPENSE);
3688 category_of_Health_and_Pension_InsurancesEEnum = createEEnum(CATEGORY_OF_HEALTH_AND_PENSION_INSURANCES);
3689 category_of_Private_Insurance_and_PlanEEnum = createEEnum(CATEGORY_OF_PRIVATE_INSURANCE_AND_PLAN);
3690 legal_Union_TypesEEnum = createEEnum(LEGAL_UNION_TYPES);
3691 }
3692
3693 /**
3694 * <!-- begin-user-doc -->
3695 * <!-- end-user-doc -->
3696 * @generated
3697 */
3698 private boolean isInitialized = false;
3699
3700 /**
3701 * Complete the initialization of the package and its meta-model. This
3702 * method is guarded to have no affect on any invocation but its first.
3703 * <!-- begin-user-doc -->
3704 * <!-- end-user-doc -->
3705 * @generated
3706 */
3707 public void initializePackageContents() {
3708 if (isInitialized) return;
3709 isInitialized = true;
3710
3711 // Initialize package
3712 setName(eNAME);
3713 setNsPrefix(eNS_PREFIX);
3714 setNsURI(eNS_URI);
3715
3716 // Create type parameters
3717
3718 // Set bounds for type parameters
3719
3720 // Add supertypes to classes
3721 tax_PayerEClass.getESuperTypes().add(this.getPhysical_Person());
3722 tax_PayerEClass.getESuperTypes().add(this.getTax_Case());
3723 dependentEClass.getESuperTypes().add(this.getPhysical_Person());
3724 householdEClass.getESuperTypes().add(this.getTax_Case());
3725 fiscal_AddressEClass.getESuperTypes().add(this.getAddress());
3726 habitual_AddressEClass.getESuperTypes().add(this.getAddress());
3727 marriage_RecordEClass.getESuperTypes().add(this.getLegal_Union_Record());
3728 non_Resident_Tax_PayerEClass.getESuperTypes().add(this.getTax_Payer());
3729 partnership_RecordEClass.getESuperTypes().add(this.getLegal_Union_Record());
3730 resident_Tax_PayerEClass.getESuperTypes().add(this.getTax_Payer());
3731 trade_and_Business_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3732 agriculture_and_Forestry_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3733 pensions_and_Annuities_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3734 capital_and_Investments_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3735 employment_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3736 rentals_and_Leases_IncomeEClass.getESuperTypes().add(this.getIncome_Type());
3737 foreign_IncomeEClass.getESuperTypes().add(this.getIncome());
3738 local_IncomeEClass.getESuperTypes().add(this.getIncome());
3739 cimEClass.getESuperTypes().add(this.getIncome_Tax_Credit());
3740 cipEClass.getESuperTypes().add(this.getIncome_Tax_Credit());
3741 cisEClass.getESuperTypes().add(this.getIncome_Tax_Credit());
3742 fdEClass.getESuperTypes().add(this.getProfessional_Expenses_Deduction());
3743 foEClass.getESuperTypes().add(this.getProfessional_Expenses_Deduction());
3744 dS_for_Permanent_ExpenseEClass.getESuperTypes().add(this.getDS());
3745 dS_for_Interest_ExpenseEClass.getESuperTypes().add(this.getDS());
3746 dS_for_Health_and_Pension_InsuranceEClass.getESuperTypes().add(this.getDS());
3747 dS_for_Private_Insurance_and_PlanEClass.getESuperTypes().add(this.getDS());
3748 dS_for_Loss_CarryforwardEClass.getESuperTypes().add(this.getDS());
3749 dS_for_DonationEClass.getESuperTypes().add(this.getDS());
3750 permanent_ExpenseEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3751 special_Expense_DSEClass.getESuperTypes().add(this.getExpense());
3752 interest_ExpenseEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3753 private_Insurance_and_PlanEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3754 health_and_Pension_InsuranceEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3755 donationEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3756 loss_CarryforwardEClass.getESuperTypes().add(this.getSpecial_Expense_DS());
3757 spousal_Expense_ACEClass.getESuperTypes().add(this.getExpense());
3758 extraordinary_Expense_CEEClass.getESuperTypes().add(this.getExpense());
3759 travel_Expense_FDEClass.getESuperTypes().add(this.getProfessional_Expense());
3760 professional_ExpenseEClass.getESuperTypes().add(this.getExpense());
3761 miscellaneous_Expense_FOEClass.getESuperTypes().add(this.getProfessional_Expense());
3762
3763 // Initialize classes, features, and operations; add parameters
3764 initEClass(constantsEClass, Constants.class, "Constants", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3765 initEAttribute(getConstants_MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD(), ecorePackage.getEDouble(), "MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD", "3480.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3766 initEAttribute(getConstants_MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE(), ecorePackage.getEDouble(), "MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE", "3600.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3767 initEAttribute(getConstants_MINIMUM_SALARY(), ecorePackage.getEDouble(), "MINIMUM_SALARY", "1500.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3768 initEAttribute(getConstants_FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION(), ecorePackage.getEDouble(), "FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION", "4500.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3769 initEAttribute(getConstants_MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS(), ecorePackage.getEDouble(), "MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS", "20.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3770 initEAttribute(getConstants_MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS(), ecorePackage.getEDouble(), "MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS", "120.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3771 initEAttribute(getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC(), ecorePackage.getEDouble(), "MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC", "0.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3772 initEAttribute(getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE(), ecorePackage.getEDouble(), "MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE", "24000.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3773 initEAttribute(getConstants_MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(), ecorePackage.getEDouble(), "MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION", "99.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3774 initEAttribute(getConstants_MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(), ecorePackage.getEDouble(), "MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION", "30.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3775 initEAttribute(getConstants_MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION(), ecorePackage.getEDouble(), "MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION", "4.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3776 initEAttribute(getConstants_FLAT_RATE_CIM_DAILY(), ecorePackage.getEDouble(), "FLAT_RATE_CIM_DAILY", "2.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3777 initEAttribute(getConstants_FLAT_RATE_CIM_MONTHLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIM_MONTHLY", "62.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3778 initEAttribute(getConstants_FLAT_RATE_CIM_YEARLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIM_YEARLY", "750.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3779 initEAttribute(getConstants_FLAT_RATE_CIP_DAILY(), ecorePackage.getEDouble(), "FLAT_RATE_CIP_DAILY", "1.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3780 initEAttribute(getConstants_FLAT_RATE_CIP_MONTHLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIP_MONTHLY", "25.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3781 initEAttribute(getConstants_FLAT_RATE_CIP_YEARLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIP_YEARLY", "30.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3782 initEAttribute(getConstants_FLAT_RATE_CIS_DAILY(), ecorePackage.getEDouble(), "FLAT_RATE_CIS_DAILY", "1.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3783 initEAttribute(getConstants_FLAT_RATE_CIS_MONTHLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIS_MONTHLY", "25.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3784 initEAttribute(getConstants_FLAT_RATE_CIS_YEARLY(), ecorePackage.getEDouble(), "FLAT_RATE_CIS_YEARLY", "300.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3785 initEAttribute(getConstants_FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT(), ecorePackage.getEDouble(), "FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT", "99.0", 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3786 initEAttribute(getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS(), ecorePackage.getEDouble(), "MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS", null, 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3787 initEAttribute(getConstants_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(), ecorePackage.getEDouble(), "FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE", null, 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3788 initEAttribute(getConstants_DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE(), ecorePackage.getEDouble(), "DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE", null, 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3789 initEAttribute(getConstants_MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE(), ecorePackage.getEDouble(), "MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE", null, 1, 1, Constants.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3790
3791 initEClass(income_TaxEClass, Income_Tax.class, "Income_Tax", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3792 initEReference(getIncome_Tax_TaxPayer(), this.getTax_Payer(), null, "taxPayer", null, 1, 1, Income_Tax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3793 initEAttribute(getIncome_Tax_Tax_amount(), ecorePackage.getEDouble(), "tax_amount", null, 1, 1, Income_Tax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3794 initEAttribute(getIncome_Tax_Tax_year(), ecorePackage.getEInt(), "tax_year", null, 1, 1, Income_Tax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3795 initEAttribute(getIncome_Tax_Id6(), ecorePackage.getEString(), "id6", null, 1, 1, Income_Tax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3796
3797 initEClass(tax_PayerEClass, Tax_Payer.class, "Tax_Payer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3798 initEReference(getTax_Payer_Dependents(), this.getDependent(), this.getDependent_Responsible_person(), "dependents", null, 0, 6, Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3799 initEReference(getTax_Payer_From_agent(), this.getFromAgent(), this.getFromAgent_TaxPayer(), "from_agent", null, 1, 1, Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3800 initEReference(getTax_Payer_Incomes(), this.getIncome(), this.getIncome_TaxPayer(), "incomes", null, 1, -1, Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3801 initEReference(getTax_Payer_From_law(), this.getFromLaw(), this.getFromLaw_TaxPayer(), "from_law", null, 1, 1, Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3802 initEAttribute(getTax_Payer_TaxesDue(), ecorePackage.getEDouble(), "taxesDue", null, 1, 1, Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3803
3804 initEClass(physical_PersonEClass, Physical_Person.class, "Physical_Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3805 initEAttribute(getPhysical_Person_Is_assisting_spouse(), ecorePackage.getEBoolean(), "is_assisting_spouse", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
3806 initEAttribute(getPhysical_Person_SSNo(), ecorePackage.getEString(), "SSNo", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3807 initEReference(getPhysical_Person_Addresses(), this.getAddress(), this.getAddress_TaxPayer(), "addresses", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3808 initEAttribute(getPhysical_Person_Birth_year(), ecorePackage.getEInt(), "birth_year", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3809 initEAttribute(getPhysical_Person_Disability_percentage(), ecorePackage.getEDouble(), "disability_percentage", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3810 initEAttribute(getPhysical_Person_Disability_type(), this.getDisability_Types(), "disability_type", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3811 initEAttribute(getPhysical_Person_Is_affiliated_personnaly_to_social_security(), ecorePackage.getEBoolean(), "is_affiliated_personnaly_to_social_security", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
3812 initEAttribute(getPhysical_Person_Birth_month(), ecorePackage.getEInt(), "birth_month", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3813 initEAttribute(getPhysical_Person_Birth_day(), ecorePackage.getEInt(), "birth_day", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3814 initEReference(getPhysical_Person_Expenses(), this.getExpense(), this.getExpense_Beneficiary(), "expenses", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3815 initEAttribute(getPhysical_Person_Is_widower(), ecorePackage.getEBoolean(), "is_widower", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3816 initEReference(getPhysical_Person_Owns_Address(), this.getAddress(), null, "owns_Address", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3817
3818 initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3819 initEAttribute(getAddress_Country(), this.getCountry(), "country", "ZZ", 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3820 initEAttribute(getAddress_Street(), ecorePackage.getEString(), "street", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3821 initEAttribute(getAddress_ZipCode(), ecorePackage.getEString(), "zipCode", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3822 initEAttribute(getAddress_City(), ecorePackage.getEString(), "city", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3823 initEAttribute(getAddress_Id2(), ecorePackage.getEString(), "id2", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3824 initEReference(getAddress_TaxPayer(), this.getPhysical_Person(), this.getPhysical_Person_Addresses(), "taxPayer", null, 0, -1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3825
3826 initEClass(expenseEClass, Expense.class, "Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3827 initEAttribute(getExpense_Declared_amount(), ecorePackage.getEDouble(), "declared_amount", null, 1, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3828 initEAttribute(getExpense_Expense_purpose(), this.getExpense_Purpose(), "expense_purpose", "OTHER", 1, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3829 initEReference(getExpense_Dependent(), this.getDependent(), this.getDependent_Expense(), "dependent", null, 0, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3830 initEReference(getExpense_From_agent(), this.getFromAgent(), this.getFromAgent_Expense(), "from_agent", null, 0, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3831 initEReference(getExpense_Income(), this.getIncome(), this.getIncome_Expenses(), "income", null, 1, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3832 initEAttribute(getExpense_Id4(), ecorePackage.getEString(), "id4", null, 1, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3833 initEReference(getExpense_Beneficiary(), this.getPhysical_Person(), this.getPhysical_Person_Expenses(), "beneficiary", null, 0, 1, Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3834
3835 initEClass(dependentEClass, Dependent.class, "Dependent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3836 initEAttribute(getDependent_Dependent_type(), this.getDependent_Type(), "dependent_type", null, 1, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3837 initEReference(getDependent_Responsible_person(), this.getTax_Payer(), this.getTax_Payer_Dependents(), "responsible_person", null, 0, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3838 initEAttribute(getDependent_Continued_studies(), ecorePackage.getEBoolean(), "continued_studies", "false", 1, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3839 initEReference(getDependent_Allowances(), this.getExternal_Allowance(), this.getExternal_Allowance_Person(), "allowances", null, 0, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3840 initEReference(getDependent_Household(), this.getHousehold(), this.getHousehold_Children(), "household", null, 0, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3841 initEReference(getDependent_From_agent(), this.getFromAgent(), this.getFromAgent_Dependent(), "from_agent", null, 0, 1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3842 initEReference(getDependent_Expense(), this.getExpense(), this.getExpense_Dependent(), "expense", null, 0, -1, Dependent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3843
3844 initEClass(external_AllowanceEClass, External_Allowance.class, "External_Allowance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3845 initEAttribute(getExternal_Allowance_Amount(), ecorePackage.getEDouble(), "amount", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3846 initEAttribute(getExternal_Allowance_Grantor(), this.getGrantor(), "grantor", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3847 initEAttribute(getExternal_Allowance_Starting_year(), ecorePackage.getEInt(), "starting_year", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3848 initEAttribute(getExternal_Allowance_Ending_year(), ecorePackage.getEInt(), "ending_year", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3849 initEReference(getExternal_Allowance_Reciver(), this.getPhysical_Person(), null, "reciver", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3850 initEAttribute(getExternal_Allowance_Id5(), ecorePackage.getEString(), "id5", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3851 initEReference(getExternal_Allowance_Person(), this.getDependent(), this.getDependent_Allowances(), "person", null, 1, 1, External_Allowance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3852
3853 initEClass(householdEClass, Household.class, "Household", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3854 initEReference(getHousehold_Parents(), this.getLegal_Union_Record(), this.getLegal_Union_Record_Household(), "parents", null, 1, 1, Household.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3855 initEAttribute(getHousehold_Id1(), ecorePackage.getEString(), "id1", null, 1, 1, Household.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3856 initEReference(getHousehold_Children(), this.getDependent(), this.getDependent_Household(), "children", null, 0, -1, Household.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3857
3858 initEClass(legal_Union_RecordEClass, Legal_Union_Record.class, "Legal_Union_Record", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3859 initEAttribute(getLegal_Union_Record_Start_year(), ecorePackage.getEInt(), "start_year", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3860 initEAttribute(getLegal_Union_Record_End_year(), ecorePackage.getEInt(), "end_year", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3861 initEAttribute(getLegal_Union_Record_Separation_cause(), this.getSeparation_Causes(), "separation_cause", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3862 initEReference(getLegal_Union_Record_Individual_A(), this.getPhysical_Person(), null, "individual_A", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3863 initEReference(getLegal_Union_Record_Individual_B(), this.getPhysical_Person(), null, "individual_B", null, 1, -1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3864 initEReference(getLegal_Union_Record_Properties(), this.getTax_Property(), this.getTax_Property_Union_record(), "properties", null, 1, -1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3865 initEAttribute(getLegal_Union_Record_Mutual_agreement(), ecorePackage.getEBoolean(), "mutual_agreement", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3866 initEAttribute(getLegal_Union_Record_Id9(), ecorePackage.getEString(), "id9", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3867 initEReference(getLegal_Union_Record_Household(), this.getHousehold(), this.getHousehold_Parents(), "household", null, 1, 1, Legal_Union_Record.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3868
3869 initEClass(tax_PropertyEClass, Tax_Property.class, "Tax_Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3870 initEAttribute(getTax_Property_Starting_year(), ecorePackage.getEInt(), "starting_year", null, 1, 1, Tax_Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3871 initEAttribute(getTax_Property_Id10(), ecorePackage.getEString(), "id10", null, 1, 1, Tax_Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3872 initEReference(getTax_Property_Union_record(), this.getLegal_Union_Record(), this.getLegal_Union_Record_Properties(), "union_record", null, 1, 1, Tax_Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3873
3874 initEClass(tax_CaseEClass, Tax_Case.class, "Tax_Case", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3875
3876 initEClass(fromAgentEClass, FromAgent.class, "FromAgent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3877 initEReference(getFromAgent_TaxPayer(), this.getTax_Payer(), this.getTax_Payer_From_agent(), "taxPayer", null, 1, 1, FromAgent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3878 initEAttribute(getFromAgent_Is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care(), ecorePackage.getEBoolean(), "is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care", null, 1, 1, FromAgent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3879 initEReference(getFromAgent_Expense(), this.getExpense(), this.getExpense_From_agent(), "expense", null, 0, 1, FromAgent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3880 initEAttribute(getFromAgent_Is_eligible_debt(), ecorePackage.getEBoolean(), "is_eligible_debt", null, 1, 1, FromAgent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3881 initEReference(getFromAgent_Dependent(), this.getDependent(), this.getDependent_From_agent(), "dependent", null, 0, 1, FromAgent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3882
3883 initEClass(incomeEClass, Income.class, "Income", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3884 initEAttribute(getIncome_Income_amount(), ecorePackage.getEDouble(), "income_amount", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3885 initEReference(getIncome_Income_type(), this.getIncome_Type(), this.getIncome_Type_Income(), "income_type", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3886 initEAttribute(getIncome_Start_date_within_taxation_year(), ecorePackage.getEDate(), "start_date_within_taxation_year", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3887 initEAttribute(getIncome_Start_date_of_contract(), ecorePackage.getEDate(), "start_date_of_contract", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3888 initEAttribute(getIncome_End_date_within_taxation_year(), ecorePackage.getEDate(), "end_date_within_taxation_year", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3889 initEReference(getIncome_Tax_card(), this.getTax_Card(), this.getTax_Card_Income(), "tax_card", null, 0, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3890 initEAttribute(getIncome_Tax_liability(), ecorePackage.getEDouble(), "tax_liability", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3891 initEReference(getIncome_TaxPayer(), this.getTax_Payer(), this.getTax_Payer_Incomes(), "taxPayer", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3892 initEReference(getIncome_Details(), this.getIncome_Detail(), this.getIncome_Detail_Income(), "details", null, 12, 12, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3893 initEAttribute(getIncome_Num(), ecorePackage.getEInt(), "num", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3894 initEReference(getIncome_Expenses(), this.getExpense(), this.getExpense_Income(), "expenses", null, 0, -1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3895
3896 initEClass(income_TypeEClass, Income_Type.class, "Income_Type", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3897 initEAttribute(getIncome_Type_SubjectToWithholdingTax(), ecorePackage.getEBoolean(), "subjectToWithholdingTax", null, 1, 1, Income_Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
3898 initEAttribute(getIncome_Type_Id8(), ecorePackage.getEString(), "id8", null, 1, 1, Income_Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3899 initEReference(getIncome_Type_Income(), this.getIncome(), this.getIncome_Income_type(), "income", null, 1, 1, Income_Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3900
3901 initEClass(tax_CardEClass, Tax_Card.class, "Tax_Card", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3902 initEAttribute(getTax_Card_Card_identifier(), ecorePackage.getEString(), "card_identifier", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3903 initEAttribute(getTax_Card_Tax_card_type(), this.getTax_Card_Type(), "tax_card_type", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
3904 initEAttribute(getTax_Card_Tax_office(), this.getTax_Office(), "tax_office", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3905 initEAttribute(getTax_Card_Valid_from_date(), ecorePackage.getEDate(), "valid_from_date", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3906 initEAttribute(getTax_Card_Valid_until_date(), ecorePackage.getEDate(), "valid_until_date", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3907 initEAttribute(getTax_Card_Percentage_of_witholding(), ecorePackage.getEDouble(), "percentage_of_witholding", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3908 initEAttribute(getTax_Card_Tax_payers_name_surname(), ecorePackage.getEString(), "tax_payers_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3909 initEAttribute(getTax_Card_Tax_payers_partner_name_surname(), ecorePackage.getEString(), "tax_payers_partner_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3910 initEReference(getTax_Card_Tax_payers_address(), this.getAddress(), null, "tax_payers_address", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3911 initEAttribute(getTax_Card_Jobs_Employer_SSNo(), ecorePackage.getEString(), "jobs_Employer_SSNo", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3912 initEAttribute(getTax_Card_Jobs_employers_name(), ecorePackage.getEString(), "jobs_employers_name", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3913 initEAttribute(getTax_Card_Jobs_activity_type(), this.getJob_Activity(), "jobs_activity_type", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3914 initEAttribute(getTax_Card_Jobs_place_of_work(), this.getTown(), "jobs_place_of_work", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3915 initEAttribute(getTax_Card_Deduction_FD_daily(), ecorePackage.getEDouble(), "deduction_FD_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3916 initEAttribute(getTax_Card_Deduction_FD_monthly(), ecorePackage.getEDouble(), "deduction_FD_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3917 initEAttribute(getTax_Card_Deduction_AC_daily(), ecorePackage.getEDouble(), "deduction_AC_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3918 initEAttribute(getTax_Card_Deduction_AC_monthly(), ecorePackage.getEDouble(), "deduction_AC_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3919 initEAttribute(getTax_Card_Deduction_AC_yearly(), ecorePackage.getEDouble(), "deduction_AC_yearly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3920 initEAttribute(getTax_Card_Deduction_CE_daily(), ecorePackage.getEDouble(), "deduction_CE_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3921 initEAttribute(getTax_Card_Deduction_CE_monthly(), ecorePackage.getEDouble(), "deduction_CE_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3922 initEAttribute(getTax_Card_Deduction_CE_yearly(), ecorePackage.getEDouble(), "deduction_CE_yearly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3923 initEAttribute(getTax_Card_Deduction_DS_daily(), ecorePackage.getEDouble(), "deduction_DS_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3924 initEAttribute(getTax_Card_Deduction_DS_monthly(), ecorePackage.getEDouble(), "deduction_DS_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3925 initEAttribute(getTax_Card_Deduction_FO_daily(), ecorePackage.getEDouble(), "deduction_FO_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3926 initEAttribute(getTax_Card_Deduction_FO_monthly(), ecorePackage.getEDouble(), "deduction_FO_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3927 initEAttribute(getTax_Card_Deduction_FO_yearly(), ecorePackage.getEDouble(), "deduction_FO_yearly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3928 initEAttribute(getTax_Card_Credit_CIS_daily(), ecorePackage.getEDouble(), "credit_CIS_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3929 initEAttribute(getTax_Card_Credit_CIS_monthly(), ecorePackage.getEDouble(), "credit_CIS_monthly", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3930 initEAttribute(getTax_Card_Credit_CIM_daily(), ecorePackage.getEDouble(), "credit_CIM_daily", "0.0", 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3931 initEAttribute(getTax_Card_Validity(), ecorePackage.getEBoolean(), "validity", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3932 initEReference(getTax_Card_Income_Tax_Credit(), this.getIncome_Tax_Credit(), this.getIncome_Tax_Credit_Taxation_Frame(), "income_Tax_Credit", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3933 initEReference(getTax_Card_Previous(), this.getTax_Card(), this.getTax_Card_Current_tax_card(), "previous", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3934 initEReference(getTax_Card_Current_tax_card(), this.getTax_Card(), this.getTax_Card_Previous(), "current_tax_card", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3935 initEAttribute(getTax_Card_Credit_CIM_yearly(), ecorePackage.getEDouble(), "credit_CIM_yearly", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3936 initEAttribute(getTax_Card_Deduction_DS_Alimony_yearly(), ecorePackage.getEDouble(), "deduction_DS_Alimony_yearly", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3937 initEAttribute(getTax_Card_Deduction_DS_Debt_yearly(), ecorePackage.getEDouble(), "deduction_DS_Debt_yearly", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3938 initEReference(getTax_Card_Income(), this.getIncome(), this.getIncome_Tax_card(), "income", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3939
3940 initEClass(income_Tax_CreditEClass, Income_Tax_Credit.class, "Income_Tax_Credit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3941 initEAttribute(getIncome_Tax_Credit_GrantedBy(), this.getGrantor(), "grantedBy", null, 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3942 initEReference(getIncome_Tax_Credit_TaxPayer(), this.getTax_Payer(), null, "taxPayer", null, 0, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3943 initEAttribute(getIncome_Tax_Credit_Tax_year(), ecorePackage.getEInt(), "tax_year", null, 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3944 initEAttribute(getIncome_Tax_Credit_Yearly(), ecorePackage.getEDouble(), "yearly", "300.0", 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3945 initEAttribute(getIncome_Tax_Credit_Monthly(), ecorePackage.getEDouble(), "monthly", "25.0", 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3946 initEAttribute(getIncome_Tax_Credit_Daily(), ecorePackage.getEDouble(), "daily", "1.0", 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3947 initEAttribute(getIncome_Tax_Credit_Id7(), ecorePackage.getEString(), "id7", null, 1, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3948 initEReference(getIncome_Tax_Credit_Taxation_Frame(), this.getTax_Card(), this.getTax_Card_Income_Tax_Credit(), "taxation_Frame", null, 0, 1, Income_Tax_Credit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3949
3950 initEClass(income_DetailEClass, Income_Detail.class, "Income_Detail", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3951 initEAttribute(getIncome_Detail_Amount(), ecorePackage.getEDouble(), "amount", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3952 initEAttribute(getIncome_Detail_Is_worked(), ecorePackage.getEBoolean(), "is_worked", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3953 initEAttribute(getIncome_Detail_Distance(), ecorePackage.getEDouble(), "distance", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3954 initEAttribute(getIncome_Detail_Worked_days(), ecorePackage.getEInt(), "worked_days", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3955 initEAttribute(getIncome_Detail_Is_contributing_CNS(), ecorePackage.getEBoolean(), "is_contributing_CNS", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3956 initEAttribute(getIncome_Detail_Id5(), ecorePackage.getEString(), "id5", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3957 initEReference(getIncome_Detail_Income(), this.getIncome(), this.getIncome_Details(), "income", null, 1, 1, Income_Detail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3958
3959 initEClass(fromLawEClass, FromLaw.class, "FromLaw", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3960 initEAttribute(getFromLaw_Id(), ecorePackage.getEString(), "id", null, 1, 1, FromLaw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
3961 initEReference(getFromLaw_TaxPayer(), this.getTax_Payer(), this.getTax_Payer_From_law(), "taxPayer", null, 1, 1, FromLaw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3962
3963 initEClass(fiscal_AddressEClass, Fiscal_Address.class, "Fiscal_Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3964
3965 initEClass(habitual_AddressEClass, Habitual_Address.class, "Habitual_Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3966
3967 initEClass(marriage_RecordEClass, Marriage_Record.class, "Marriage_Record", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3968
3969 initEClass(non_Resident_Tax_PayerEClass, Non_Resident_Tax_Payer.class, "Non_Resident_Tax_Payer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3970 initEAttribute(getNon_Resident_Tax_Payer_Is_assimilated_to_resident(), ecorePackage.getEBoolean(), "is_assimilated_to_resident", "false", 1, 1, Non_Resident_Tax_Payer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3971
3972 initEClass(partnership_RecordEClass, Partnership_Record.class, "Partnership_Record", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3973
3974 initEClass(resident_Tax_PayerEClass, Resident_Tax_Payer.class, "Resident_Tax_Payer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3975
3976 initEClass(trade_and_Business_IncomeEClass, Trade_and_Business_Income.class, "Trade_and_Business_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3977
3978 initEClass(agriculture_and_Forestry_IncomeEClass, Agriculture_and_Forestry_Income.class, "Agriculture_and_Forestry_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3979
3980 initEClass(pensions_and_Annuities_IncomeEClass, Pensions_and_Annuities_Income.class, "Pensions_and_Annuities_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3981 initEAttribute(getPensions_and_Annuities_Income_Occasional_payement(), ecorePackage.getEBoolean(), "occasional_payement", "false", 0, 1, Pensions_and_Annuities_Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3982
3983 initEClass(capital_and_Investments_IncomeEClass, Capital_and_Investments_Income.class, "Capital_and_Investments_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3984
3985 initEClass(employment_IncomeEClass, Employment_Income.class, "Employment_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3986
3987 initEClass(rentals_and_Leases_IncomeEClass, Rentals_and_Leases_Income.class, "Rentals_and_Leases_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3988 initEAttribute(getRentals_and_Leases_Income_Is_periodic(), ecorePackage.getEBoolean(), "is_periodic", "true", 1, 1, Rentals_and_Leases_Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
3989
3990 initEClass(foreign_IncomeEClass, Foreign_Income.class, "Foreign_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3991
3992 initEClass(local_IncomeEClass, Local_Income.class, "Local_Income", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3993
3994 initEClass(cimEClass, Taxation.CIM.class, "CIM", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3995
3996 initEClass(cipEClass, Taxation.CIP.class, "CIP", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3997
3998 initEClass(cisEClass, Taxation.CIS.class, "CIS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
3999
4000 initEClass(fdEClass, Taxation.FD.class, "FD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4001 initEAttribute(getFD_Distance_declared_in_january(), ecorePackage.getEDouble(), "distance_declared_in_january", null, 1, 1, Taxation.FD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4002 initEAttribute(getFD_Calculated_distance(), ecorePackage.getEDouble(), "calculated_distance", null, 1, 1, Taxation.FD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4003
4004 initEClass(professional_Expenses_DeductionEClass, Professional_Expenses_Deduction.class, "Professional_Expenses_Deduction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4005
4006 initEClass(foEClass, Taxation.FO.class, "FO", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4007 initEAttribute(getFO_Rate_type_for_FO(), this.getType_of_Rate(), "rate_type_for_FO", null, 1, 1, Taxation.FO.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4008
4009 initEClass(dS_for_Permanent_ExpenseEClass, DS_for_Permanent_Expense.class, "DS_for_Permanent_Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4010 initEAttribute(getDS_for_Permanent_Expense_Permanent_expense_category(), this.getCategory_of_Permanent_Expense(), "permanent_expense_category", null, 1, 1, DS_for_Permanent_Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4011
4012 initEClass(dsEClass, Taxation.DS.class, "DS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4013 initEAttribute(getDS_Maximum_deductible_amount(), ecorePackage.getEDouble(), "maximum_deductible_amount", null, 1, 1, Taxation.DS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4014 initEAttribute(getDS_Id3(), ecorePackage.getEString(), "id3", null, 1, 1, Taxation.DS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
4015
4016 initEClass(dS_for_Interest_ExpenseEClass, DS_for_Interest_Expense.class, "DS_for_Interest_Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4017
4018 initEClass(dS_for_Health_and_Pension_InsuranceEClass, DS_for_Health_and_Pension_Insurance.class, "DS_for_Health_and_Pension_Insurance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4019 initEAttribute(getDS_for_Health_and_Pension_Insurance_Insurance_category(), this.getCategory_of_Health_and_Pension_Insurances(), "insurance_category", null, 1, 1, DS_for_Health_and_Pension_Insurance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4020
4021 initEClass(dS_for_Private_Insurance_and_PlanEClass, DS_for_Private_Insurance_and_Plan.class, "DS_for_Private_Insurance_and_Plan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4022 initEAttribute(getDS_for_Private_Insurance_and_Plan_Private_insurance_and_plan_category(), this.getCategory_of_Private_Insurance_and_Plan(), "private_insurance_and_plan_category", null, 1, 1, DS_for_Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4023 initEAttribute(getDS_for_Private_Insurance_and_Plan_Increase_for_life_insurance(), ecorePackage.getEDouble(), "increase_for_life_insurance", null, 1, 1, DS_for_Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4024 initEAttribute(getDS_for_Private_Insurance_and_Plan_Maximum_deductible_amount_for_private_insurance(), ecorePackage.getEDouble(), "maximum_deductible_amount_for_private_insurance", null, 1, 1, DS_for_Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4025 initEAttribute(getDS_for_Private_Insurance_and_Plan_Maximum_deductible_amount_for_old_age_pension_plan(), ecorePackage.getEDouble(), "maximum_deductible_amount_for_old_age_pension_plan", null, 1, 1, DS_for_Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4026
4027 initEClass(dS_for_Loss_CarryforwardEClass, DS_for_Loss_Carryforward.class, "DS_for_Loss_Carryforward", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4028
4029 initEClass(dS_for_DonationEClass, DS_for_Donation.class, "DS_for_Donation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4030
4031 initEClass(permanent_ExpenseEClass, Permanent_Expense.class, "Permanent_Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4032 initEAttribute(getPermanent_Expense_Category(), this.getCategory_of_Permanent_Expense(), "category", null, 1, 1, Permanent_Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4033 initEAttribute(getPermanent_Expense_Is_eligible_for_deduction(), ecorePackage.getEBoolean(), "is_eligible_for_deduction", "false", 1, 1, Permanent_Expense.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4034
4035 initEClass(special_Expense_DSEClass, Special_Expense_DS.class, "Special_Expense_DS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4036
4037 initEClass(interest_ExpenseEClass, Interest_Expense.class, "Interest_Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4038
4039 initEClass(private_Insurance_and_PlanEClass, Private_Insurance_and_Plan.class, "Private_Insurance_and_Plan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4040 initEAttribute(getPrivate_Insurance_and_Plan_Category(), this.getCategory_of_Private_Insurance_and_Plan(), "category", null, 1, 1, Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4041 initEAttribute(getPrivate_Insurance_and_Plan_Duration_of_contract(), ecorePackage.getEInt(), "duration_of_contract", null, 1, 1, Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4042 initEAttribute(getPrivate_Insurance_and_Plan_Is_private_insurance_and_plan_eligible_for_deduction(), ecorePackage.getEBoolean(), "is_private_insurance_and_plan_eligible_for_deduction", "false", 1, 1, Private_Insurance_and_Plan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4043
4044 initEClass(health_and_Pension_InsuranceEClass, Health_and_Pension_Insurance.class, "Health_and_Pension_Insurance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4045 initEAttribute(getHealth_and_Pension_Insurance_Category(), this.getCategory_of_Health_and_Pension_Insurances(), "category", null, 1, 1, Health_and_Pension_Insurance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4046 initEAttribute(getHealth_and_Pension_Insurance_Is_related_to_additional_salary(), ecorePackage.getEBoolean(), "is_related_to_additional_salary", "false", 1, 1, Health_and_Pension_Insurance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4047
4048 initEClass(donationEClass, Donation.class, "Donation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4049 initEAttribute(getDonation_Beneficiary1(), ecorePackage.getEString(), "beneficiary1", null, 1, 1, Donation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4050 initEAttribute(getDonation_Is_beneficiary_eligible(), ecorePackage.getEBoolean(), "is_beneficiary_eligible", "false", 1, 1, Donation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4051 initEAttribute(getDonation_Is_donation_reported(), ecorePackage.getEBoolean(), "is_donation_reported", null, 1, 1, Donation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4052
4053 initEClass(loss_CarryforwardEClass, Loss_Carryforward.class, "Loss_Carryforward", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4054 initEAttribute(getLoss_Carryforward_Regular_accountability(), ecorePackage.getEBoolean(), "regular_accountability", null, 1, 1, Loss_Carryforward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4055 initEAttribute(getLoss_Carryforward_Compensation_by_other_means(), ecorePackage.getEBoolean(), "compensation_by_other_means", null, 1, 1, Loss_Carryforward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4056 initEAttribute(getLoss_Carryforward_Tax_payer_has_inherited_business_ownership(), ecorePackage.getEBoolean(), "tax_payer_has_inherited_business_ownership", "false", 1, 1, Loss_Carryforward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4057 initEAttribute(getLoss_Carryforward_Tax_payer_has_been_partner_in_business(), ecorePackage.getEBoolean(), "tax_payer_has_been_partner_in_business", "true", 1, 1, Loss_Carryforward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
4058
4059 initEClass(spousal_Expense_ACEClass, Spousal_Expense_AC.class, "Spousal_Expense_AC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4060
4061 initEClass(extraordinary_Expense_CEEClass, Extraordinary_Expense_CE.class, "Extraordinary_Expense_CE", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4062 initEAttribute(getExtraordinary_Expense_CE_Thresholded_deduction_percentage(), ecorePackage.getEDouble(), "thresholded_deduction_percentage", null, 1, 1, Extraordinary_Expense_CE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4063 initEAttribute(getExtraordinary_Expense_CE_Ce_type(), this.getCE_Type(), "ce_type", null, 1, 1, Extraordinary_Expense_CE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
4064
4065 initEClass(travel_Expense_FDEClass, Travel_Expense_FD.class, "Travel_Expense_FD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4066
4067 initEClass(professional_ExpenseEClass, Professional_Expense.class, "Professional_Expense", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4068
4069 initEClass(miscellaneous_Expense_FOEClass, Miscellaneous_Expense_FO.class, "Miscellaneous_Expense_FO", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
4070
4071 // Initialize enums and add enum literals
4072 initEEnum(grantorEEnum, Grantor.class, "Grantor");
4073 addEEnumLiteral(grantorEEnum, Grantor.WWW);
4074 addEEnumLiteral(grantorEEnum, Grantor.EMPLOYER);
4075 addEEnumLiteral(grantorEEnum, Grantor.MMM);
4076 addEEnumLiteral(grantorEEnum, Grantor.UUU);
4077 addEEnumLiteral(grantorEEnum, Grantor.YYY);
4078 addEEnumLiteral(grantorEEnum, Grantor.OOO);
4079
4080 initEEnum(disability_TypesEEnum, Disability_Types.class, "Disability_Types");
4081 addEEnumLiteral(disability_TypesEEnum, Disability_Types.BEUG);
4082 addEEnumLiteral(disability_TypesEEnum, Disability_Types.NONE);
4083 addEEnumLiteral(disability_TypesEEnum, Disability_Types.A);
4084 addEEnumLiteral(disability_TypesEEnum, Disability_Types.B);
4085 addEEnumLiteral(disability_TypesEEnum, Disability_Types.C);
4086 addEEnumLiteral(disability_TypesEEnum, Disability_Types.D);
4087 addEEnumLiteral(disability_TypesEEnum, Disability_Types.E);
4088 addEEnumLiteral(disability_TypesEEnum, Disability_Types.OTHER);
4089
4090 initEEnum(countryEEnum, Country.class, "Country");
4091 addEEnumLiteral(countryEEnum, Country.ZZ);
4092 addEEnumLiteral(countryEEnum, Country.FF);
4093 addEEnumLiteral(countryEEnum, Country.BB);
4094 addEEnumLiteral(countryEEnum, Country.DD);
4095 addEEnumLiteral(countryEEnum, Country.NN);
4096 addEEnumLiteral(countryEEnum, Country.OTHER);
4097
4098 initEEnum(tax_Card_TypeEEnum, Tax_Card_Type.class, "Tax_Card_Type");
4099 addEEnumLiteral(tax_Card_TypeEEnum, Tax_Card_Type.PRINCIPAL);
4100 addEEnumLiteral(tax_Card_TypeEEnum, Tax_Card_Type.ADDITIONAL);
4101
4102 initEEnum(tax_OfficeEEnum, Tax_Office.class, "Tax_Office");
4103 addEEnumLiteral(tax_OfficeEEnum, Tax_Office.RTS_2);
4104 addEEnumLiteral(tax_OfficeEEnum, Tax_Office.RTS_3);
4105 addEEnumLiteral(tax_OfficeEEnum, Tax_Office.RTS_4);
4106 addEEnumLiteral(tax_OfficeEEnum, Tax_Office.RTS_5);
4107
4108 initEEnum(tax_Class_CategoryEEnum, Tax_Class_Category.class, "Tax_Class_Category");
4109 addEEnumLiteral(tax_Class_CategoryEEnum, Tax_Class_Category.ONE);
4110 addEEnumLiteral(tax_Class_CategoryEEnum, Tax_Class_Category.ONE_A);
4111 addEEnumLiteral(tax_Class_CategoryEEnum, Tax_Class_Category.TWO);
4112
4113 initEEnum(job_ActivityEEnum, Job_Activity.class, "Job_Activity");
4114 addEEnumLiteral(job_ActivityEEnum, Job_Activity.SALARY);
4115 addEEnumLiteral(job_ActivityEEnum, Job_Activity.PENSION);
4116 addEEnumLiteral(job_ActivityEEnum, Job_Activity.ANNUITY);
4117
4118 initEEnum(townEEnum, Town.class, "Town");
4119 addEEnumLiteral(townEEnum, Town.LL);
4120 addEEnumLiteral(townEEnum, Town.BB);
4121 addEEnumLiteral(townEEnum, Town.SS);
4122 addEEnumLiteral(townEEnum, Town.TT);
4123 addEEnumLiteral(townEEnum, Town.OTHER);
4124
4125 initEEnum(type_of_RateEEnum, Type_of_Rate.class, "Type_of_Rate");
4126 addEEnumLiteral(type_of_RateEEnum, Type_of_Rate.REGULAR);
4127 addEEnumLiteral(type_of_RateEEnum, Type_of_Rate.REAL_COST);
4128
4129 initEEnum(cE_TypeEEnum, CE_Type.class, "CE_Type");
4130 addEEnumLiteral(cE_TypeEEnum, CE_Type.INALIDITY_AND_INFIRMITY);
4131 addEEnumLiteral(cE_TypeEEnum, CE_Type.DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD);
4132 addEEnumLiteral(cE_TypeEEnum, CE_Type.CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD);
4133
4134 initEEnum(expense_PurposeEEnum, Expense_Purpose.class, "Expense_Purpose");
4135 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.HOUSE_CARE);
4136 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.CHILD_CARE);
4137 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.DEPENDENCE_CARE);
4138 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.OTHER);
4139 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.ALIMONY);
4140 addEEnumLiteral(expense_PurposeEEnum, Expense_Purpose.RECURRENT_DEPT);
4141
4142 initEEnum(dependent_TypeEEnum, Dependent_Type.class, "Dependent_Type");
4143 addEEnumLiteral(dependent_TypeEEnum, Dependent_Type.CHILD);
4144 addEEnumLiteral(dependent_TypeEEnum, Dependent_Type.SPOUSE);
4145 addEEnumLiteral(dependent_TypeEEnum, Dependent_Type.RELATIVE);
4146 addEEnumLiteral(dependent_TypeEEnum, Dependent_Type.OTHER_FAMILY_MEMBER);
4147 addEEnumLiteral(dependent_TypeEEnum, Dependent_Type.NOT_OWN_CHILD);
4148
4149 initEEnum(separation_CausesEEnum, Separation_Causes.class, "Separation_Causes");
4150 addEEnumLiteral(separation_CausesEEnum, Separation_Causes.NONE);
4151 addEEnumLiteral(separation_CausesEEnum, Separation_Causes.DIVORCE);
4152 addEEnumLiteral(separation_CausesEEnum, Separation_Causes.SEPARATION_DE_FAIT);
4153 addEEnumLiteral(separation_CausesEEnum, Separation_Causes.SEPARATION_BY_COURT);
4154
4155 initEEnum(category_of_Permanent_ExpenseEEnum, Category_of_Permanent_Expense.class, "Category_of_Permanent_Expense");
4156 addEEnumLiteral(category_of_Permanent_ExpenseEEnum, Category_of_Permanent_Expense.MISCELLANEOUS_DEBT);
4157 addEEnumLiteral(category_of_Permanent_ExpenseEEnum, Category_of_Permanent_Expense.ALIMONY);
4158
4159 initEEnum(category_of_Health_and_Pension_InsurancesEEnum, Category_of_Health_and_Pension_Insurances.class, "Category_of_Health_and_Pension_Insurances");
4160 addEEnumLiteral(category_of_Health_and_Pension_InsurancesEEnum, Category_of_Health_and_Pension_Insurances.MANDATORY_HEALTH_AND_PENSION_INSURANCE);
4161 addEEnumLiteral(category_of_Health_and_Pension_InsurancesEEnum, Category_of_Health_and_Pension_Insurances.ADDITIONAL_EMPLOYERS_PENSION_INSURANCE);
4162 addEEnumLiteral(category_of_Health_and_Pension_InsurancesEEnum, Category_of_Health_and_Pension_Insurances.CONTINUED_HEALTH_AND_PENSION_INSURANCE);
4163
4164 initEEnum(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.class, "Category_of_Private_Insurance_and_Plan");
4165 addEEnumLiteral(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.PRIVATE_INSURANCE);
4166 addEEnumLiteral(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.PRIVATE_LIFE_INSURANCE);
4167 addEEnumLiteral(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.COMPANY_MEMBERS_PRIVATE_INSURANCE);
4168 addEEnumLiteral(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.HOUSING_SAVING_PLAN);
4169 addEEnumLiteral(category_of_Private_Insurance_and_PlanEEnum, Category_of_Private_Insurance_and_Plan.OLD_AGE_PENSION_PLAN);
4170
4171 initEEnum(legal_Union_TypesEEnum, Legal_Union_Types.class, "Legal_Union_Types");
4172 addEEnumLiteral(legal_Union_TypesEEnum, Legal_Union_Types.MARIAGE);
4173 addEEnumLiteral(legal_Union_TypesEEnum, Legal_Union_Types.PARTNERSHIP);
4174 addEEnumLiteral(legal_Union_TypesEEnum, Legal_Union_Types.OTHER);
4175
4176 // Create resource
4177 createResource(eNS_URI);
4178
4179 // Create annotations
4180 // http://www.eclipse.org/OCL/Import
4181 createImportAnnotations();
4182 // duplicates
4183 createDuplicatesAnnotations();
4184 // http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName
4185 createEmofAnnotations();
4186 // http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot
4187 createPivotAnnotations();
4188 }
4189
4190 /**
4191 * Initializes the annotations for <b>http://www.eclipse.org/OCL/Import</b>.
4192 * <!-- begin-user-doc -->
4193 * <!-- end-user-doc -->
4194 * @generated
4195 */
4196 protected void createImportAnnotations() {
4197 String source = "http://www.eclipse.org/OCL/Import";
4198 addAnnotation
4199 (this,
4200 source,
4201 new String[] {
4202 "ecore", "http://www.eclipse.org/emf/2002/Ecore"
4203 });
4204 }
4205
4206 /**
4207 * Initializes the annotations for <b>duplicates</b>.
4208 * <!-- begin-user-doc -->
4209 * <!-- end-user-doc -->
4210 * @generated
4211 */
4212 protected void createDuplicatesAnnotations() {
4213 String source = "duplicates";
4214 addAnnotation
4215 (tax_PayerEClass,
4216 source,
4217 new String[] {
4218 });
4219 }
4220
4221 /**
4222 * Initializes the annotations for <b>http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName</b>.
4223 * <!-- begin-user-doc -->
4224 * <!-- end-user-doc -->
4225 * @generated
4226 */
4227 protected void createEmofAnnotations() {
4228 String source = "http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName";
4229 addAnnotation
4230 (getLegal_Union_Record_Individual_A(),
4231 source,
4232 new String[] {
4233 "body", "legal_union_A"
4234 });
4235 addAnnotation
4236 (getLegal_Union_Record_Individual_B(),
4237 source,
4238 new String[] {
4239 "body", "legal_union_B"
4240 });
4241 }
4242
4243 /**
4244 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot</b>.
4245 * <!-- begin-user-doc -->
4246 * <!-- end-user-doc -->
4247 * @generated
4248 */
4249 protected void createPivotAnnotations() {
4250 String source = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot";
4251 addAnnotation
4252 (getIncome_Income_amount(),
4253 source,
4254 new String[] {
4255 "derivation", "let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in\nnon_null_amounts->collect(amount)->min()"
4256 });
4257 addAnnotation
4258 (getIncome_Type_SubjectToWithholdingTax(),
4259 source,
4260 new String[] {
4261 "derivation", "\n\t\t\t\tself.income.tax_card->notEmpty()\n\t\t\t\t"
4262 });
4263 addAnnotation
4264 (getTax_Card_Tax_card_type(),
4265 source,
4266 new String[] {
4267 "derivation", "if(self.income.taxPayer.incomes->size()=1) then \nTax_Card_Type::Principal\n\telse\n\t\tlet all_incomes:OrderedSet(Income)=self.income.taxPayer.incomes->select(inc:Income| inc.income_amount= self.income.taxPayer.incomes.income_amount->max())->asOrderedSet() in\n\t\tlet bigest_income:Income= all_incomes->first() in\n\t\t\t if(bigest_income=self.income) then\n\t\t\t \t Tax_Card_Type::Principal\n\t\t\t else\n\t\t\t\t\tTax_Card_Type::Additional\n\t\t\t\tendif\nendif\n\t\t\t\t"
4268 });
4269 }
4270
4271} //TaxationPackageImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Trade_and_Business_IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Trade_and_Business_IncomeImpl.java
new file mode 100644
index 00000000..f4ce3360
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Trade_and_Business_IncomeImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.TaxationPackage;
6import Taxation.Trade_and_Business_Income;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Trade and Business Income</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Trade_and_Business_IncomeImpl extends Income_TypeImpl implements Trade_and_Business_Income {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Trade_and_Business_IncomeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.TRADE_AND_BUSINESS_INCOME;
35 }
36
37} //Trade_and_Business_IncomeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Travel_Expense_FDImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Travel_Expense_FDImpl.java
new file mode 100644
index 00000000..c24e0b2f
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Travel_Expense_FDImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package Taxation.impl;
4
5import Taxation.TaxationPackage;
6import Taxation.Travel_Expense_FD;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Travel Expense FD</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class Travel_Expense_FDImpl extends Professional_ExpenseImpl implements Travel_Expense_FD {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected Travel_Expense_FDImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return TaxationPackage.Literals.TRAVEL_EXPENSE_FD;
35 }
36
37} //Travel_Expense_FDImpl