/**
*/
package Taxation.impl;
import Taxation.Grantor;
import Taxation.Income_Tax_Credit;
import Taxation.Tax_Card;
import Taxation.Tax_Payer;
import Taxation.TaxationPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
*
* An implementation of the model object 'Income Tax Credit'.
*
*
* The following features are implemented:
*
*
* - {@link Taxation.impl.Income_Tax_CreditImpl#getGrantedBy Granted By}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getTaxPayer Tax Payer}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getTax_year Tax year}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getYearly Yearly}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getMonthly Monthly}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getDaily Daily}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getId7 Id7}
* - {@link Taxation.impl.Income_Tax_CreditImpl#getTaxation_Frame Taxation Frame}
*
*
* @generated
*/
public class Income_Tax_CreditImpl extends MinimalEObjectImpl.Container implements Income_Tax_Credit {
/**
* The default value of the '{@link #getGrantedBy() Granted By}' attribute.
*
*
* @see #getGrantedBy()
* @generated
* @ordered
*/
protected static final Grantor GRANTED_BY_EDEFAULT = Grantor.WWW;
/**
* The cached value of the '{@link #getGrantedBy() Granted By}' attribute.
*
*
* @see #getGrantedBy()
* @generated
* @ordered
*/
protected Grantor grantedBy = GRANTED_BY_EDEFAULT;
/**
* The cached value of the '{@link #getTaxPayer() Tax Payer}' reference.
*
*
* @see #getTaxPayer()
* @generated
* @ordered
*/
protected Tax_Payer taxPayer;
/**
* The default value of the '{@link #getTax_year() Tax year}' attribute.
*
*
* @see #getTax_year()
* @generated
* @ordered
*/
protected static final int TAX_YEAR_EDEFAULT = 0;
/**
* The cached value of the '{@link #getTax_year() Tax year}' attribute.
*
*
* @see #getTax_year()
* @generated
* @ordered
*/
protected int tax_year = TAX_YEAR_EDEFAULT;
/**
* The default value of the '{@link #getYearly() Yearly}' attribute.
*
*
* @see #getYearly()
* @generated
* @ordered
*/
protected static final double YEARLY_EDEFAULT = 300.0;
/**
* The cached value of the '{@link #getYearly() Yearly}' attribute.
*
*
* @see #getYearly()
* @generated
* @ordered
*/
protected double yearly = YEARLY_EDEFAULT;
/**
* The default value of the '{@link #getMonthly() Monthly}' attribute.
*
*
* @see #getMonthly()
* @generated
* @ordered
*/
protected static final double MONTHLY_EDEFAULT = 25.0;
/**
* The cached value of the '{@link #getMonthly() Monthly}' attribute.
*
*
* @see #getMonthly()
* @generated
* @ordered
*/
protected double monthly = MONTHLY_EDEFAULT;
/**
* The default value of the '{@link #getDaily() Daily}' attribute.
*
*
* @see #getDaily()
* @generated
* @ordered
*/
protected static final double DAILY_EDEFAULT = 1.0;
/**
* The cached value of the '{@link #getDaily() Daily}' attribute.
*
*
* @see #getDaily()
* @generated
* @ordered
*/
protected double daily = DAILY_EDEFAULT;
/**
* The default value of the '{@link #getId7() Id7}' attribute.
*
*
* @see #getId7()
* @generated
* @ordered
*/
protected static final String ID7_EDEFAULT = null;
/**
* The cached value of the '{@link #getId7() Id7}' attribute.
*
*
* @see #getId7()
* @generated
* @ordered
*/
protected String id7 = ID7_EDEFAULT;
/**
* The cached value of the '{@link #getTaxation_Frame() Taxation Frame}' reference.
*
*
* @see #getTaxation_Frame()
* @generated
* @ordered
*/
protected Tax_Card taxation_Frame;
/**
*
*
* @generated
*/
protected Income_Tax_CreditImpl() {
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return TaxationPackage.Literals.INCOME_TAX_CREDIT;
}
/**
*
*
* @generated
*/
@Override
public Grantor getGrantedBy() {
return grantedBy;
}
/**
*
*
* @generated
*/
@Override
public void setGrantedBy(Grantor newGrantedBy) {
Grantor oldGrantedBy = grantedBy;
grantedBy = newGrantedBy == null ? GRANTED_BY_EDEFAULT : newGrantedBy;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY, oldGrantedBy, grantedBy));
}
/**
*
*
* @generated
*/
@Override
public Tax_Payer getTaxPayer() {
if (taxPayer != null && taxPayer.eIsProxy()) {
InternalEObject oldTaxPayer = (InternalEObject)taxPayer;
taxPayer = (Tax_Payer)eResolveProxy(oldTaxPayer);
if (taxPayer != oldTaxPayer) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER, oldTaxPayer, taxPayer));
}
}
return taxPayer;
}
/**
*
*
* @generated
*/
public Tax_Payer basicGetTaxPayer() {
return taxPayer;
}
/**
*
*
* @generated
*/
@Override
public void setTaxPayer(Tax_Payer newTaxPayer) {
Tax_Payer oldTaxPayer = taxPayer;
taxPayer = newTaxPayer;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER, oldTaxPayer, taxPayer));
}
/**
*
*
* @generated
*/
@Override
public int getTax_year() {
return tax_year;
}
/**
*
*
* @generated
*/
@Override
public void setTax_year(int newTax_year) {
int oldTax_year = tax_year;
tax_year = newTax_year;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR, oldTax_year, tax_year));
}
/**
*
*
* @generated
*/
@Override
public double getYearly() {
return yearly;
}
/**
*
*
* @generated
*/
@Override
public void setYearly(double newYearly) {
double oldYearly = yearly;
yearly = newYearly;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__YEARLY, oldYearly, yearly));
}
/**
*
*
* @generated
*/
@Override
public double getMonthly() {
return monthly;
}
/**
*
*
* @generated
*/
@Override
public void setMonthly(double newMonthly) {
double oldMonthly = monthly;
monthly = newMonthly;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__MONTHLY, oldMonthly, monthly));
}
/**
*
*
* @generated
*/
@Override
public double getDaily() {
return daily;
}
/**
*
*
* @generated
*/
@Override
public void setDaily(double newDaily) {
double oldDaily = daily;
daily = newDaily;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__DAILY, oldDaily, daily));
}
/**
*
*
* @generated
*/
@Override
public String getId7() {
return id7;
}
/**
*
*
* @generated
*/
@Override
public void setId7(String newId7) {
String oldId7 = id7;
id7 = newId7;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__ID7, oldId7, id7));
}
/**
*
*
* @generated
*/
@Override
public Tax_Card getTaxation_Frame() {
if (taxation_Frame != null && taxation_Frame.eIsProxy()) {
InternalEObject oldTaxation_Frame = (InternalEObject)taxation_Frame;
taxation_Frame = (Tax_Card)eResolveProxy(oldTaxation_Frame);
if (taxation_Frame != oldTaxation_Frame) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, oldTaxation_Frame, taxation_Frame));
}
}
return taxation_Frame;
}
/**
*
*
* @generated
*/
public Tax_Card basicGetTaxation_Frame() {
return taxation_Frame;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetTaxation_Frame(Tax_Card newTaxation_Frame, NotificationChain msgs) {
Tax_Card oldTaxation_Frame = taxation_Frame;
taxation_Frame = newTaxation_Frame;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, oldTaxation_Frame, newTaxation_Frame);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
@Override
public void setTaxation_Frame(Tax_Card newTaxation_Frame) {
if (newTaxation_Frame != taxation_Frame) {
NotificationChain msgs = null;
if (taxation_Frame != null)
msgs = ((InternalEObject)taxation_Frame).eInverseRemove(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
if (newTaxation_Frame != null)
msgs = ((InternalEObject)newTaxation_Frame).eInverseAdd(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
msgs = basicSetTaxation_Frame(newTaxation_Frame, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME, newTaxation_Frame, newTaxation_Frame));
}
/**
*
*
* @generated
*/
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
if (taxation_Frame != null)
msgs = ((InternalEObject)taxation_Frame).eInverseRemove(this, TaxationPackage.TAX_CARD__INCOME_TAX_CREDIT, Tax_Card.class, msgs);
return basicSetTaxation_Frame((Tax_Card)otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
return basicSetTaxation_Frame(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
return getGrantedBy();
case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
if (resolve) return getTaxPayer();
return basicGetTaxPayer();
case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
return getTax_year();
case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
return getYearly();
case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
return getMonthly();
case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
return getDaily();
case TaxationPackage.INCOME_TAX_CREDIT__ID7:
return getId7();
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
if (resolve) return getTaxation_Frame();
return basicGetTaxation_Frame();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
setGrantedBy((Grantor)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
setTaxPayer((Tax_Payer)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
setTax_year((Integer)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
setYearly((Double)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
setMonthly((Double)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
setDaily((Double)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__ID7:
setId7((String)newValue);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
setTaxation_Frame((Tax_Card)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
setGrantedBy(GRANTED_BY_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
setTaxPayer((Tax_Payer)null);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
setTax_year(TAX_YEAR_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
setYearly(YEARLY_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
setMonthly(MONTHLY_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
setDaily(DAILY_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__ID7:
setId7(ID7_EDEFAULT);
return;
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
setTaxation_Frame((Tax_Card)null);
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case TaxationPackage.INCOME_TAX_CREDIT__GRANTED_BY:
return grantedBy != GRANTED_BY_EDEFAULT;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_PAYER:
return taxPayer != null;
case TaxationPackage.INCOME_TAX_CREDIT__TAX_YEAR:
return tax_year != TAX_YEAR_EDEFAULT;
case TaxationPackage.INCOME_TAX_CREDIT__YEARLY:
return yearly != YEARLY_EDEFAULT;
case TaxationPackage.INCOME_TAX_CREDIT__MONTHLY:
return monthly != MONTHLY_EDEFAULT;
case TaxationPackage.INCOME_TAX_CREDIT__DAILY:
return daily != DAILY_EDEFAULT;
case TaxationPackage.INCOME_TAX_CREDIT__ID7:
return ID7_EDEFAULT == null ? id7 != null : !ID7_EDEFAULT.equals(id7);
case TaxationPackage.INCOME_TAX_CREDIT__TAXATION_FRAME:
return taxation_Frame != null;
}
return super.eIsSet(featureID);
}
/**
*
*
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (grantedBy: ");
result.append(grantedBy);
result.append(", tax_year: ");
result.append(tax_year);
result.append(", yearly: ");
result.append(yearly);
result.append(", monthly: ");
result.append(monthly);
result.append(", daily: ");
result.append(daily);
result.append(", id7: ");
result.append(id7);
result.append(')');
return result.toString();
}
} //Income_Tax_CreditImpl