/** * MSPDI is copyright Microsoft, Inc. * Implementation wrapper in ecore done by Kestrel Technology LLC */ package net.certware.planning.mspdi.impl; import java.util.Collection; import javax.xml.datatype.Duration; import net.certware.planning.mspdi.BaselineType; import net.certware.planning.mspdi.MspdiPackage; import net.certware.planning.mspdi.TimephasedDataType; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.EList; 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.EObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Baseline Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getTimephasedData <em>Timephased Data</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getNumber <em>Number</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getStart <em>Start</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getFinish <em>Finish</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getWork <em>Work</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getCost <em>Cost</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getBCWS <em>BCWS</em>}</li> * <li>{@link net.certware.planning.mspdi.impl.BaselineTypeImpl#getBCWP <em>BCWP</em>}</li> * </ul> * </p> * * @generated */ public class BaselineTypeImpl extends EObjectImpl implements BaselineType { /** * The cached value of the '{@link #getTimephasedData() <em>Timephased Data</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTimephasedData() * @generated * @ordered */ protected EList<TimephasedDataType> timephasedData; /** * The default value of the '{@link #getNumber() <em>Number</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumber() * @generated * @ordered */ protected static final String NUMBER_EDEFAULT = null; /** * The cached value of the '{@link #getNumber() <em>Number</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumber() * @generated * @ordered */ protected String number = NUMBER_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 String 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 String 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 String 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 String finish = FINISH_EDEFAULT; /** * The default value of the '{@link #getWork() <em>Work</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getWork() * @generated * @ordered */ protected static final Duration WORK_EDEFAULT = null; /** * The cached value of the '{@link #getWork() <em>Work</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getWork() * @generated * @ordered */ protected Duration work = WORK_EDEFAULT; /** * The default value of the '{@link #getCost() <em>Cost</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getCost() * @generated * @ordered */ protected static final String COST_EDEFAULT = null; /** * The cached value of the '{@link #getCost() <em>Cost</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getCost() * @generated * @ordered */ protected String cost = COST_EDEFAULT; /** * The default value of the '{@link #getBCWS() <em>BCWS</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getBCWS() * @generated * @ordered */ protected static final float BCWS_EDEFAULT = 0.0F; /** * The cached value of the '{@link #getBCWS() <em>BCWS</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getBCWS() * @generated * @ordered */ protected float bCWS = BCWS_EDEFAULT; /** * This is true if the BCWS attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean bCWSESet; /** * The default value of the '{@link #getBCWP() <em>BCWP</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getBCWP() * @generated * @ordered */ protected static final float BCWP_EDEFAULT = 0.0F; /** * The cached value of the '{@link #getBCWP() <em>BCWP</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getBCWP() * @generated * @ordered */ protected float bCWP = BCWP_EDEFAULT; /** * This is true if the BCWP attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean bCWPESet; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected BaselineTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return MspdiPackage.Literals.BASELINE_TYPE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<TimephasedDataType> getTimephasedData() { if (timephasedData == null) { timephasedData = new EObjectContainmentEList<TimephasedDataType>(TimephasedDataType.class, this, MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA); } return timephasedData; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getNumber() { return number; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setNumber(String newNumber) { String oldNumber = number; number = newNumber; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__NUMBER, oldNumber, number)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getStart() { return start; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStart(String newStart) { String oldStart = start; start = newStart; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__START, oldStart, start)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getFinish() { return finish; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setFinish(String newFinish) { String oldFinish = finish; finish = newFinish; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__FINISH, oldFinish, finish)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Duration getWork() { return work; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setWork(Duration newWork) { Duration oldWork = work; work = newWork; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__WORK, oldWork, work)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getCost() { return cost; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setCost(String newCost) { String oldCost = cost; cost = newCost; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__COST, oldCost, cost)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public float getBCWS() { return bCWS; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setBCWS(float newBCWS) { float oldBCWS = bCWS; bCWS = newBCWS; boolean oldBCWSESet = bCWSESet; bCWSESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__BCWS, oldBCWS, bCWS, !oldBCWSESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetBCWS() { float oldBCWS = bCWS; boolean oldBCWSESet = bCWSESet; bCWS = BCWS_EDEFAULT; bCWSESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.BASELINE_TYPE__BCWS, oldBCWS, BCWS_EDEFAULT, oldBCWSESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetBCWS() { return bCWSESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public float getBCWP() { return bCWP; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setBCWP(float newBCWP) { float oldBCWP = bCWP; bCWP = newBCWP; boolean oldBCWPESet = bCWPESet; bCWPESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MspdiPackage.BASELINE_TYPE__BCWP, oldBCWP, bCWP, !oldBCWPESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetBCWP() { float oldBCWP = bCWP; boolean oldBCWPESet = bCWPESet; bCWP = BCWP_EDEFAULT; bCWPESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, MspdiPackage.BASELINE_TYPE__BCWP, oldBCWP, BCWP_EDEFAULT, oldBCWPESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetBCWP() { return bCWPESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA: return ((InternalEList<?>)getTimephasedData()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA: return getTimephasedData(); case MspdiPackage.BASELINE_TYPE__NUMBER: return getNumber(); case MspdiPackage.BASELINE_TYPE__START: return getStart(); case MspdiPackage.BASELINE_TYPE__FINISH: return getFinish(); case MspdiPackage.BASELINE_TYPE__WORK: return getWork(); case MspdiPackage.BASELINE_TYPE__COST: return getCost(); case MspdiPackage.BASELINE_TYPE__BCWS: return getBCWS(); case MspdiPackage.BASELINE_TYPE__BCWP: return getBCWP(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA: getTimephasedData().clear(); getTimephasedData().addAll((Collection<? extends TimephasedDataType>)newValue); return; case MspdiPackage.BASELINE_TYPE__NUMBER: setNumber((String)newValue); return; case MspdiPackage.BASELINE_TYPE__START: setStart((String)newValue); return; case MspdiPackage.BASELINE_TYPE__FINISH: setFinish((String)newValue); return; case MspdiPackage.BASELINE_TYPE__WORK: setWork((Duration)newValue); return; case MspdiPackage.BASELINE_TYPE__COST: setCost((String)newValue); return; case MspdiPackage.BASELINE_TYPE__BCWS: setBCWS((Float)newValue); return; case MspdiPackage.BASELINE_TYPE__BCWP: setBCWP((Float)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA: getTimephasedData().clear(); return; case MspdiPackage.BASELINE_TYPE__NUMBER: setNumber(NUMBER_EDEFAULT); return; case MspdiPackage.BASELINE_TYPE__START: setStart(START_EDEFAULT); return; case MspdiPackage.BASELINE_TYPE__FINISH: setFinish(FINISH_EDEFAULT); return; case MspdiPackage.BASELINE_TYPE__WORK: setWork(WORK_EDEFAULT); return; case MspdiPackage.BASELINE_TYPE__COST: setCost(COST_EDEFAULT); return; case MspdiPackage.BASELINE_TYPE__BCWS: unsetBCWS(); return; case MspdiPackage.BASELINE_TYPE__BCWP: unsetBCWP(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case MspdiPackage.BASELINE_TYPE__TIMEPHASED_DATA: return timephasedData != null && !timephasedData.isEmpty(); case MspdiPackage.BASELINE_TYPE__NUMBER: return NUMBER_EDEFAULT == null ? number != null : !NUMBER_EDEFAULT.equals(number); case MspdiPackage.BASELINE_TYPE__START: return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start); case MspdiPackage.BASELINE_TYPE__FINISH: return FINISH_EDEFAULT == null ? finish != null : !FINISH_EDEFAULT.equals(finish); case MspdiPackage.BASELINE_TYPE__WORK: return WORK_EDEFAULT == null ? work != null : !WORK_EDEFAULT.equals(work); case MspdiPackage.BASELINE_TYPE__COST: return COST_EDEFAULT == null ? cost != null : !COST_EDEFAULT.equals(cost); case MspdiPackage.BASELINE_TYPE__BCWS: return isSetBCWS(); case MspdiPackage.BASELINE_TYPE__BCWP: return isSetBCWP(); } 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(" (number: "); result.append(number); result.append(", start: "); result.append(start); result.append(", finish: "); result.append(finish); result.append(", work: "); result.append(work); result.append(", cost: "); result.append(cost); result.append(", bCWS: "); if (bCWSESet) result.append(bCWS); else result.append("<unset>"); result.append(", bCWP: "); if (bCWPESet) result.append(bCWP); else result.append("<unset>"); result.append(')'); return result.toString(); } } //BaselineTypeImpl