/** * MSPDI is copyright Microsoft, Inc. * Implementation wrapper in ecore done by Kestrel Technology LLC */ package net.certware.planning.mspdi.impl; import java.math.BigDecimal; import javax.xml.datatype.XMLGregorianCalendar; import net.certware.planning.mspdi.MspdiPackage; import net.certware.planning.mspdi.OvertimeRateFormatType; import net.certware.planning.mspdi.RateTableType; import net.certware.planning.mspdi.RateType; import net.certware.planning.mspdi.StandardRateFormatType; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.EObjectImpl; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Rate Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getRatesFrom <em>Rates From</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getRatesTo <em>Rates To</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getRateTable <em>Rate Table</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getStandardRate <em>Standard Rate</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getStandardRateFormat <em>Standard Rate Format</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getOvertimeRate <em>Overtime Rate</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getOvertimeRateFormat <em>Overtime Rate Format</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.RateTypeImpl#getCostPerUse <em>Cost Per Use</em>}</li> * </ul> * </p> * * @generated */ public class RateTypeImpl extends EObjectImpl implements RateType { /** * The default value of the '{@link #getRatesFrom() <em>Rates From</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRatesFrom() * @generated * @ordered */ protected static final XMLGregorianCalendar RATES_FROM_EDEFAULT = null; /** * The cached value of the '{@link #getRatesFrom() <em>Rates From</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRatesFrom() * @generated * @ordered */ protected XMLGregorianCalendar ratesFrom = RATES_FROM_EDEFAULT; /** * The default value of the '{@link #getRatesTo() <em>Rates To</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRatesTo() * @generated * @ordered */ protected static final XMLGregorianCalendar RATES_TO_EDEFAULT = null; /** * The cached value of the '{@link #getRatesTo() <em>Rates To</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRatesTo() * @generated * @ordered */ protected XMLGregorianCalendar ratesTo = RATES_TO_EDEFAULT; /** * The default value of the '{@link #getRateTable() <em>Rate Table</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRateTable() * @generated * @ordered */ protected static final RateTableType RATE_TABLE_EDEFAULT = RateTableType._0; /** * The cached value of the '{@link #getRateTable() <em>Rate Table</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRateTable() * @generated * @ordered */ protected RateTableType rateTable = RATE_TABLE_EDEFAULT; /** * This is true if the Rate Table attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean rateTableESet; /** * The default value of the '{@link #getStandardRate() <em>Standard Rate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStandardRate() * @generated * @ordered */ protected static final BigDecimal STANDARD_RATE_EDEFAULT = null; /** * The cached value of the '{@link #getStandardRate() <em>Standard Rate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStandardRate() * @generated * @ordered */ protected BigDecimal standardRate = STANDARD_RATE_EDEFAULT; /** * The default value of the '{@link #getStandardRateFormat() <em>Standard Rate Format</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStandardRateFormat() * @generated * @ordered */ protected static final StandardRateFormatType STANDARD_RATE_FORMAT_EDEFAULT = StandardRateFormatType._1; /** * The cached value of the '{@link #getStandardRateFormat() <em>Standard Rate Format</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStandardRateFormat() * @generated * @ordered */ protected StandardRateFormatType standardRateFormat = STANDARD_RATE_FORMAT_EDEFAULT; /** * This is true if the Standard Rate Format attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean standardRateFormatESet; /** * The default value of the '{@link #getOvertimeRate() <em>Overtime Rate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOvertimeRate() * @generated * @ordered */ protected static final BigDecimal OVERTIME_RATE_EDEFAULT = null; /** * The cached value of the '{@link #getOvertimeRate() <em>Overtime Rate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOvertimeRate() * @generated * @ordered */ protected BigDecimal overtimeRate = OVERTIME_RATE_EDEFAULT; /** * The default value of the '{@link #getOvertimeRateFormat() <em>Overtime Rate Format</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOvertimeRateFormat() * @generated * @ordered */ protected static final OvertimeRateFormatType OVERTIME_RATE_FORMAT_EDEFAULT = OvertimeRateFormatType._1; /** * The cached value of the '{@link #getOvertimeRateFormat() <em>Overtime Rate Format</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOvertimeRateFormat() * @generated * @ordered */ protected OvertimeRateFormatType overtimeRateFormat = OVERTIME_RATE_FORMAT_EDEFAULT; /** * This is true if the Overtime Rate Format attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean overtimeRateFormatESet; /** * The default value of the '{@link #getCostPerUse() <em>Cost Per Use</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getCostPerUse() * @generated * @ordered */ protected static final BigDecimal COST_PER_USE_EDEFAULT = null; /** * The cached value of the '{@link #getCostPerUse() <em>Cost Per Use</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getCostPerUse() * @generated * @ordered */ protected BigDecimal costPerUse = COST_PER_USE_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected RateTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return MspdiPackage.Literals.RATE_TYPE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public XMLGregorianCalendar getRatesFrom() { return ratesFrom; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setRatesFrom(XMLGregorianCalendar newRatesFrom) { XMLGregorianCalendar oldRatesFrom = ratesFrom; ratesFrom = newRatesFrom; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__RATES_FROM, oldRatesFrom, ratesFrom)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public XMLGregorianCalendar getRatesTo() { return ratesTo; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setRatesTo(XMLGregorianCalendar newRatesTo) { XMLGregorianCalendar oldRatesTo = ratesTo; ratesTo = newRatesTo; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__RATES_TO, oldRatesTo, ratesTo)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public RateTableType getRateTable() { return rateTable; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setRateTable(RateTableType newRateTable) { RateTableType oldRateTable = rateTable; rateTable = newRateTable == null ? RATE_TABLE_EDEFAULT : newRateTable; boolean oldRateTableESet = rateTableESet; rateTableESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__RATE_TABLE, oldRateTable, rateTable, !oldRateTableESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetRateTable() { RateTableType oldRateTable = rateTable; boolean oldRateTableESet = rateTableESet; rateTable = RATE_TABLE_EDEFAULT; rateTableESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.RATE_TYPE__RATE_TABLE, oldRateTable, RATE_TABLE_EDEFAULT, oldRateTableESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetRateTable() { return rateTableESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigDecimal getStandardRate() { return standardRate; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStandardRate(BigDecimal newStandardRate) { BigDecimal oldStandardRate = standardRate; standardRate = newStandardRate; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__STANDARD_RATE, oldStandardRate, standardRate)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StandardRateFormatType getStandardRateFormat() { return standardRateFormat; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStandardRateFormat(StandardRateFormatType newStandardRateFormat) { StandardRateFormatType oldStandardRateFormat = standardRateFormat; standardRateFormat = newStandardRateFormat == null ? STANDARD_RATE_FORMAT_EDEFAULT : newStandardRateFormat; boolean oldStandardRateFormatESet = standardRateFormatESet; standardRateFormatESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT, oldStandardRateFormat, standardRateFormat, !oldStandardRateFormatESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetStandardRateFormat() { StandardRateFormatType oldStandardRateFormat = standardRateFormat; boolean oldStandardRateFormatESet = standardRateFormatESet; standardRateFormat = STANDARD_RATE_FORMAT_EDEFAULT; standardRateFormatESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT, oldStandardRateFormat, STANDARD_RATE_FORMAT_EDEFAULT, oldStandardRateFormatESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetStandardRateFormat() { return standardRateFormatESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigDecimal getOvertimeRate() { return overtimeRate; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOvertimeRate(BigDecimal newOvertimeRate) { BigDecimal oldOvertimeRate = overtimeRate; overtimeRate = newOvertimeRate; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__OVERTIME_RATE, oldOvertimeRate, overtimeRate)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public OvertimeRateFormatType getOvertimeRateFormat() { return overtimeRateFormat; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOvertimeRateFormat(OvertimeRateFormatType newOvertimeRateFormat) { OvertimeRateFormatType oldOvertimeRateFormat = overtimeRateFormat; overtimeRateFormat = newOvertimeRateFormat == null ? OVERTIME_RATE_FORMAT_EDEFAULT : newOvertimeRateFormat; boolean oldOvertimeRateFormatESet = overtimeRateFormatESet; overtimeRateFormatESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT, oldOvertimeRateFormat, overtimeRateFormat, !oldOvertimeRateFormatESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetOvertimeRateFormat() { OvertimeRateFormatType oldOvertimeRateFormat = overtimeRateFormat; boolean oldOvertimeRateFormatESet = overtimeRateFormatESet; overtimeRateFormat = OVERTIME_RATE_FORMAT_EDEFAULT; overtimeRateFormatESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT, oldOvertimeRateFormat, OVERTIME_RATE_FORMAT_EDEFAULT, oldOvertimeRateFormatESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetOvertimeRateFormat() { return overtimeRateFormatESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigDecimal getCostPerUse() { return costPerUse; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setCostPerUse(BigDecimal newCostPerUse) { BigDecimal oldCostPerUse = costPerUse; costPerUse = newCostPerUse; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.RATE_TYPE__COST_PER_USE, oldCostPerUse, costPerUse)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case MspdiPackage.RATE_TYPE__RATES_FROM: return getRatesFrom(); case MspdiPackage.RATE_TYPE__RATES_TO: return getRatesTo(); case MspdiPackage.RATE_TYPE__RATE_TABLE: return getRateTable(); case MspdiPackage.RATE_TYPE__STANDARD_RATE: return getStandardRate(); case MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT: return getStandardRateFormat(); case MspdiPackage.RATE_TYPE__OVERTIME_RATE: return getOvertimeRate(); case MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT: return getOvertimeRateFormat(); case MspdiPackage.RATE_TYPE__COST_PER_USE: return getCostPerUse(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case MspdiPackage.RATE_TYPE__RATES_FROM: setRatesFrom((XMLGregorianCalendar)newValue); return; case MspdiPackage.RATE_TYPE__RATES_TO: setRatesTo((XMLGregorianCalendar)newValue); return; case MspdiPackage.RATE_TYPE__RATE_TABLE: setRateTable((RateTableType)newValue); return; case MspdiPackage.RATE_TYPE__STANDARD_RATE: setStandardRate((BigDecimal)newValue); return; case MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT: setStandardRateFormat((StandardRateFormatType)newValue); return; case MspdiPackage.RATE_TYPE__OVERTIME_RATE: setOvertimeRate((BigDecimal)newValue); return; case MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT: setOvertimeRateFormat((OvertimeRateFormatType)newValue); return; case MspdiPackage.RATE_TYPE__COST_PER_USE: setCostPerUse((BigDecimal)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case MspdiPackage.RATE_TYPE__RATES_FROM: setRatesFrom(RATES_FROM_EDEFAULT); return; case MspdiPackage.RATE_TYPE__RATES_TO: setRatesTo(RATES_TO_EDEFAULT); return; case MspdiPackage.RATE_TYPE__RATE_TABLE: unsetRateTable(); return; case MspdiPackage.RATE_TYPE__STANDARD_RATE: setStandardRate(STANDARD_RATE_EDEFAULT); return; case MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT: unsetStandardRateFormat(); return; case MspdiPackage.RATE_TYPE__OVERTIME_RATE: setOvertimeRate(OVERTIME_RATE_EDEFAULT); return; case MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT: unsetOvertimeRateFormat(); return; case MspdiPackage.RATE_TYPE__COST_PER_USE: setCostPerUse(COST_PER_USE_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case MspdiPackage.RATE_TYPE__RATES_FROM: return RATES_FROM_EDEFAULT == null ? ratesFrom != null : !RATES_FROM_EDEFAULT.equals(ratesFrom); case MspdiPackage.RATE_TYPE__RATES_TO: return RATES_TO_EDEFAULT == null ? ratesTo != null : !RATES_TO_EDEFAULT.equals(ratesTo); case MspdiPackage.RATE_TYPE__RATE_TABLE: return isSetRateTable(); case MspdiPackage.RATE_TYPE__STANDARD_RATE: return STANDARD_RATE_EDEFAULT == null ? standardRate != null : !STANDARD_RATE_EDEFAULT.equals(standardRate); case MspdiPackage.RATE_TYPE__STANDARD_RATE_FORMAT: return isSetStandardRateFormat(); case MspdiPackage.RATE_TYPE__OVERTIME_RATE: return OVERTIME_RATE_EDEFAULT == null ? overtimeRate != null : !OVERTIME_RATE_EDEFAULT.equals(overtimeRate); case MspdiPackage.RATE_TYPE__OVERTIME_RATE_FORMAT: return isSetOvertimeRateFormat(); case MspdiPackage.RATE_TYPE__COST_PER_USE: return COST_PER_USE_EDEFAULT == null ? costPerUse != null : !COST_PER_USE_EDEFAULT.equals(costPerUse); } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (ratesFrom: "); result.append(ratesFrom); result.append(", ratesTo: "); result.append(ratesTo); result.append(", rateTable: "); if (rateTableESet) result.append(rateTable); else result.append("<unset>"); result.append(", standardRate: "); result.append(standardRate); result.append(", standardRateFormat: "); if (standardRateFormatESet) result.append(standardRateFormat); else result.append("<unset>"); result.append(", overtimeRate: "); result.append(overtimeRate); result.append(", overtimeRateFormat: "); if (overtimeRateFormatESet) result.append(overtimeRateFormat); else result.append("<unset>"); result.append(", costPerUse: "); result.append(costPerUse); result.append(')'); return result.toString(); } } //RateTypeImpl