/** * MSPDI is copyright Microsoft, Inc. * Implementation wrapper in ecore done by Kestrel Technology LLC */ package net.certware.planning.mspdi.impl; import java.math.BigInteger; import javax.xml.datatype.XMLGregorianCalendar; import net.certware.planning.mspdi.MspdiPackage; import net.certware.planning.mspdi.TimephasedDataType; import net.certware.planning.mspdi.TypeType1; import net.certware.planning.mspdi.UnitType; 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>Timephased Data Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getType <em>Type</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getUID <em>UID</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getStart <em>Start</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getFinish <em>Finish</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getUnit <em>Unit</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.TimephasedDataTypeImpl#getValue <em>Value</em>}</li> * </ul> * </p> * * @generated */ public class TimephasedDataTypeImpl extends EObjectImpl implements TimephasedDataType { /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getType() * @generated * @ordered */ protected static final TypeType1 TYPE_EDEFAULT = TypeType1._1; /** * The cached value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getType() * @generated * @ordered */ protected TypeType1 type = TYPE_EDEFAULT; /** * This is true if the Type attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean typeESet; /** * The default value of the '{@link #getUID() <em>UID</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUID() * @generated * @ordered */ protected static final BigInteger UID_EDEFAULT = null; /** * The cached value of the '{@link #getUID() <em>UID</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUID() * @generated * @ordered */ protected BigInteger uID = UID_EDEFAULT; /** * The default value of the '{@link #getStart() <em>Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStart() * @generated * @ordered */ protected static final XMLGregorianCalendar START_EDEFAULT = null; /** * The cached value of the '{@link #getStart() <em>Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStart() * @generated * @ordered */ protected XMLGregorianCalendar start = START_EDEFAULT; /** * The default value of the '{@link #getFinish() <em>Finish</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getFinish() * @generated * @ordered */ protected static final XMLGregorianCalendar FINISH_EDEFAULT = null; /** * The cached value of the '{@link #getFinish() <em>Finish</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getFinish() * @generated * @ordered */ protected XMLGregorianCalendar finish = FINISH_EDEFAULT; /** * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUnit() * @generated * @ordered */ protected static final UnitType UNIT_EDEFAULT = UnitType._0; /** * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getUnit() * @generated * @ordered */ protected UnitType unit = UNIT_EDEFAULT; /** * This is true if the Unit attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean unitESet; /** * The default value of the '{@link #getValue() <em>Value</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getValue() * @generated * @ordered */ protected static final String VALUE_EDEFAULT = null; /** * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getValue() * @generated * @ordered */ protected String value = VALUE_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected TimephasedDataTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return MspdiPackage.Literals.TIMEPHASED_DATA_TYPE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypeType1 getType() { return type; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setType(TypeType1 newType) { TypeType1 oldType = type; type = newType == null ? TYPE_EDEFAULT : newType; boolean oldTypeESet = typeESet; typeESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__TYPE, oldType, type, !oldTypeESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetType() { TypeType1 oldType = type; boolean oldTypeESet = typeESet; type = TYPE_EDEFAULT; typeESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.TIMEPHASED_DATA_TYPE__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetType() { return typeESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigInteger getUID() { return uID; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUID(BigInteger newUID) { BigInteger oldUID = uID; uID = newUID; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__UID, oldUID, uID)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public XMLGregorianCalendar getStart() { return start; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStart(XMLGregorianCalendar newStart) { XMLGregorianCalendar oldStart = start; start = newStart; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__START, oldStart, start)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public XMLGregorianCalendar getFinish() { return finish; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setFinish(XMLGregorianCalendar newFinish) { XMLGregorianCalendar oldFinish = finish; finish = newFinish; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__FINISH, oldFinish, finish)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public UnitType getUnit() { return unit; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setUnit(UnitType newUnit) { UnitType oldUnit = unit; unit = newUnit == null ? UNIT_EDEFAULT : newUnit; boolean oldUnitESet = unitESet; unitESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT, oldUnit, unit, !oldUnitESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetUnit() { UnitType oldUnit = unit; boolean oldUnitESet = unitESet; unit = UNIT_EDEFAULT; unitESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT, oldUnit, UNIT_EDEFAULT, oldUnitESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetUnit() { return unitESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getValue() { return value; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setValue(String newValue) { String oldValue = value; value = newValue; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.TIMEPHASED_DATA_TYPE__VALUE, oldValue, value)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case MspdiPackage.TIMEPHASED_DATA_TYPE__TYPE: return getType(); case MspdiPackage.TIMEPHASED_DATA_TYPE__UID: return getUID(); case MspdiPackage.TIMEPHASED_DATA_TYPE__START: return getStart(); case MspdiPackage.TIMEPHASED_DATA_TYPE__FINISH: return getFinish(); case MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT: return getUnit(); case MspdiPackage.TIMEPHASED_DATA_TYPE__VALUE: return getValue(); } 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.TIMEPHASED_DATA_TYPE__TYPE: setType((TypeType1)newValue); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__UID: setUID((BigInteger)newValue); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__START: setStart((XMLGregorianCalendar)newValue); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__FINISH: setFinish((XMLGregorianCalendar)newValue); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT: setUnit((UnitType)newValue); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__VALUE: setValue((String)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case MspdiPackage.TIMEPHASED_DATA_TYPE__TYPE: unsetType(); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__UID: setUID(UID_EDEFAULT); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__START: setStart(START_EDEFAULT); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__FINISH: setFinish(FINISH_EDEFAULT); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT: unsetUnit(); return; case MspdiPackage.TIMEPHASED_DATA_TYPE__VALUE: setValue(VALUE_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case MspdiPackage.TIMEPHASED_DATA_TYPE__TYPE: return isSetType(); case MspdiPackage.TIMEPHASED_DATA_TYPE__UID: return UID_EDEFAULT == null ? uID != null : !UID_EDEFAULT.equals(uID); case MspdiPackage.TIMEPHASED_DATA_TYPE__START: return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start); case MspdiPackage.TIMEPHASED_DATA_TYPE__FINISH: return FINISH_EDEFAULT == null ? finish != null : !FINISH_EDEFAULT.equals(finish); case MspdiPackage.TIMEPHASED_DATA_TYPE__UNIT: return isSetUnit(); case MspdiPackage.TIMEPHASED_DATA_TYPE__VALUE: return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); } 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(" (type: "); if (typeESet) result.append(type); else result.append("<unset>"); result.append(", uID: "); result.append(uID); result.append(", start: "); result.append(start); result.append(", finish: "); result.append(finish); result.append(", unit: "); if (unitESet) result.append(unit); else result.append("<unset>"); result.append(", value: "); result.append(value); result.append(')'); return result.toString(); } } //TimephasedDataTypeImpl