Switch to side-by-side view

--- a
+++ b/src/main/java/genericbcm/impl/BusinessProcessImpl.java
@@ -0,0 +1,994 @@
+/**
+ */
+package genericbcm.impl;
+
+import genericbcm.BusinessProcess;
+import genericbcm.BusinessProcessOnUnitLink;
+import genericbcm.DerivedMetrics;
+import genericbcm.DerivedMetricsSetable;
+import genericbcm.GenericbcmPackage;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Business Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getComputedAvailability <em>Computed Availability</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRTO_Derived_QEC <em>RTO Derived QEC</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRPODerived <em>RPO Derived</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRTODerivedNormalPeriod <em>RTO Derived Normal Period</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getWeight <em>Weight</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getDeps <em>Deps</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getAvailability <em>Availability</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRTO_QEC <em>RTO QEC</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRPO <em>RPO</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getRTONormalPeriod <em>RTO Normal Period</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getMTO <em>MTO</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getMTPD <em>MTPD</em>}</li>
+ *   <li>{@link genericbcm.impl.BusinessProcessImpl#getResources <em>Resources</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BusinessProcessImpl extends NameableImpl implements BusinessProcess {
+	/**
+	 * The default value of the '{@link #getComputedAvailability() <em>Computed Availability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getComputedAvailability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double COMPUTED_AVAILABILITY_EDEFAULT = 1.0;
+
+	/**
+	 * The cached value of the '{@link #getComputedAvailability() <em>Computed Availability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getComputedAvailability()
+	 * @generated
+	 * @ordered
+	 */
+	protected double computedAvailability = COMPUTED_AVAILABILITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRTO_Derived_QEC() <em>RTO Derived QEC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTO_Derived_QEC()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RTO_DERIVED_QEC_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRTO_Derived_QEC() <em>RTO Derived QEC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTO_Derived_QEC()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rtO_Derived_QEC = RTO_DERIVED_QEC_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRPODerived() <em>RPO Derived</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRPODerived()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RPO_DERIVED_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRPODerived() <em>RPO Derived</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRPODerived()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rpoDerived = RPO_DERIVED_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRTODerivedNormalPeriod() <em>RTO Derived Normal Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTODerivedNormalPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RTO_DERIVED_NORMAL_PERIOD_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRTODerivedNormalPeriod() <em>RTO Derived Normal Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTODerivedNormalPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rtoDerivedNormalPeriod = RTO_DERIVED_NORMAL_PERIOD_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWeight()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int WEIGHT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getWeight()
+	 * @generated
+	 * @ordered
+	 */
+	protected int weight = WEIGHT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDeps() <em>Deps</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeps()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DEPS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDeps() <em>Deps</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeps()
+	 * @generated
+	 * @ordered
+	 */
+	protected int deps = DEPS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAvailability() <em>Availability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double AVAILABILITY_EDEFAULT = 1.0;
+
+	/**
+	 * The cached value of the '{@link #getAvailability() <em>Availability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvailability()
+	 * @generated
+	 * @ordered
+	 */
+	protected double availability = AVAILABILITY_EDEFAULT;
+
+	/**
+	 * This is true if the Availability attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean availabilityESet;
+
+	/**
+	 * The default value of the '{@link #getRTO_QEC() <em>RTO QEC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTO_QEC()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RTO_QEC_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRTO_QEC() <em>RTO QEC</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTO_QEC()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rtO_QEC = RTO_QEC_EDEFAULT;
+
+	/**
+	 * This is true if the RTO QEC attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean rtO_QECESet;
+
+	/**
+	 * The default value of the '{@link #getRPO() <em>RPO</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRPO()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RPO_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRPO() <em>RPO</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRPO()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rpo = RPO_EDEFAULT;
+
+	/**
+	 * This is true if the RPO attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean rpoESet;
+
+	/**
+	 * The default value of the '{@link #getRTONormalPeriod() <em>RTO Normal Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTONormalPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RTO_NORMAL_PERIOD_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getRTONormalPeriod() <em>RTO Normal Period</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRTONormalPeriod()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rtoNormalPeriod = RTO_NORMAL_PERIOD_EDEFAULT;
+
+	/**
+	 * This is true if the RTO Normal Period attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean rtoNormalPeriodESet;
+
+	/**
+	 * The default value of the '{@link #getMTO() <em>MTO</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMTO()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MTO_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getMTO() <em>MTO</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMTO()
+	 * @generated
+	 * @ordered
+	 */
+	protected double mto = MTO_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMTPD() <em>MTPD</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMTPD()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MTPD_EDEFAULT = -1.0;
+
+	/**
+	 * The cached value of the '{@link #getMTPD() <em>MTPD</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMTPD()
+	 * @generated
+	 * @ordered
+	 */
+	protected double mtpd = MTPD_EDEFAULT;
+
+	/**
+	 * This is true if the MTPD attribute has been set.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean mtpdESet;
+
+	/**
+	 * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResources()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<BusinessProcessOnUnitLink> resources;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BusinessProcessImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return GenericbcmPackage.Literals.BUSINESS_PROCESS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getComputedAvailability() {
+		return computedAvailability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRTO_Derived_QEC() {
+		return rtO_Derived_QEC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRPODerived() {
+		return rpoDerived;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRTODerivedNormalPeriod() {
+		return rtoDerivedNormalPeriod;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getWeight() {
+		return weight;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setWeight(int newWeight) {
+		int oldWeight = weight;
+		weight = newWeight;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__WEIGHT, oldWeight, weight));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDeps() {
+		return deps;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDeps(int newDeps) {
+		int oldDeps = deps;
+		deps = newDeps;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__DEPS, oldDeps, deps));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getAvailability() {
+		return availability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvailability(double newAvailability) {
+		double oldAvailability = availability;
+		availability = newAvailability;
+		boolean oldAvailabilityESet = availabilityESet;
+		availabilityESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY, oldAvailability, availability, !oldAvailabilityESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetAvailability() {
+		double oldAvailability = availability;
+		boolean oldAvailabilityESet = availabilityESet;
+		availability = AVAILABILITY_EDEFAULT;
+		availabilityESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY, oldAvailability, AVAILABILITY_EDEFAULT, oldAvailabilityESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetAvailability() {
+		return availabilityESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRTO_QEC() {
+		return rtO_QEC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRTO_QEC(double newRTO_QEC) {
+		double oldRTO_QEC = rtO_QEC;
+		rtO_QEC = newRTO_QEC;
+		boolean oldRTO_QECESet = rtO_QECESet;
+		rtO_QECESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC, oldRTO_QEC, rtO_QEC, !oldRTO_QECESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetRTO_QEC() {
+		double oldRTO_QEC = rtO_QEC;
+		boolean oldRTO_QECESet = rtO_QECESet;
+		rtO_QEC = RTO_QEC_EDEFAULT;
+		rtO_QECESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC, oldRTO_QEC, RTO_QEC_EDEFAULT, oldRTO_QECESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetRTO_QEC() {
+		return rtO_QECESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRPO() {
+		return rpo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRPO(double newRPO) {
+		double oldRPO = rpo;
+		rpo = newRPO;
+		boolean oldRPOESet = rpoESet;
+		rpoESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__RPO, oldRPO, rpo, !oldRPOESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetRPO() {
+		double oldRPO = rpo;
+		boolean oldRPOESet = rpoESet;
+		rpo = RPO_EDEFAULT;
+		rpoESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, GenericbcmPackage.BUSINESS_PROCESS__RPO, oldRPO, RPO_EDEFAULT, oldRPOESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetRPO() {
+		return rpoESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRTONormalPeriod() {
+		return rtoNormalPeriod;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRTONormalPeriod(double newRTONormalPeriod) {
+		double oldRTONormalPeriod = rtoNormalPeriod;
+		rtoNormalPeriod = newRTONormalPeriod;
+		boolean oldRTONormalPeriodESet = rtoNormalPeriodESet;
+		rtoNormalPeriodESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD, oldRTONormalPeriod, rtoNormalPeriod, !oldRTONormalPeriodESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetRTONormalPeriod() {
+		double oldRTONormalPeriod = rtoNormalPeriod;
+		boolean oldRTONormalPeriodESet = rtoNormalPeriodESet;
+		rtoNormalPeriod = RTO_NORMAL_PERIOD_EDEFAULT;
+		rtoNormalPeriodESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD, oldRTONormalPeriod, RTO_NORMAL_PERIOD_EDEFAULT, oldRTONormalPeriodESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetRTONormalPeriod() {
+		return rtoNormalPeriodESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMTO() {
+		return mto;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMTO(double newMTO) {
+		double oldMTO = mto;
+		mto = newMTO;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__MTO, oldMTO, mto));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMTPD() {
+		return mtpd;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMTPD(double newMTPD) {
+		double oldMTPD = mtpd;
+		mtpd = newMTPD;
+		boolean oldMTPDESet = mtpdESet;
+		mtpdESet = true;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, GenericbcmPackage.BUSINESS_PROCESS__MTPD, oldMTPD, mtpd, !oldMTPDESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void unsetMTPD() {
+		double oldMTPD = mtpd;
+		boolean oldMTPDESet = mtpdESet;
+		mtpd = MTPD_EDEFAULT;
+		mtpdESet = false;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, GenericbcmPackage.BUSINESS_PROCESS__MTPD, oldMTPD, MTPD_EDEFAULT, oldMTPDESet));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSetMTPD() {
+		return mtpdESet;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<BusinessProcessOnUnitLink> getResources() {
+		if (resources == null) {
+			resources = new EObjectContainmentWithInverseEList<BusinessProcessOnUnitLink>(BusinessProcessOnUnitLink.class, this, GenericbcmPackage.BUSINESS_PROCESS__RESOURCES, GenericbcmPackage.BUSINESS_PROCESS_ON_UNIT_LINK__FROM);
+		}
+		return resources;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getResources()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				return ((InternalEList<?>)getResources()).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 GenericbcmPackage.BUSINESS_PROCESS__COMPUTED_AVAILABILITY:
+				return getComputedAvailability();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_QEC:
+				return getRTO_Derived_QEC();
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO_DERIVED:
+				return getRPODerived();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_NORMAL_PERIOD:
+				return getRTODerivedNormalPeriod();
+			case GenericbcmPackage.BUSINESS_PROCESS__WEIGHT:
+				return getWeight();
+			case GenericbcmPackage.BUSINESS_PROCESS__DEPS:
+				return getDeps();
+			case GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY:
+				return getAvailability();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC:
+				return getRTO_QEC();
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO:
+				return getRPO();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD:
+				return getRTONormalPeriod();
+			case GenericbcmPackage.BUSINESS_PROCESS__MTO:
+				return getMTO();
+			case GenericbcmPackage.BUSINESS_PROCESS__MTPD:
+				return getMTPD();
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				return getResources();
+		}
+		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 GenericbcmPackage.BUSINESS_PROCESS__WEIGHT:
+				setWeight((Integer)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__DEPS:
+				setDeps((Integer)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY:
+				setAvailability((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC:
+				setRTO_QEC((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO:
+				setRPO((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD:
+				setRTONormalPeriod((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__MTO:
+				setMTO((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__MTPD:
+				setMTPD((Double)newValue);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				getResources().clear();
+				getResources().addAll((Collection<? extends BusinessProcessOnUnitLink>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case GenericbcmPackage.BUSINESS_PROCESS__WEIGHT:
+				setWeight(WEIGHT_EDEFAULT);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__DEPS:
+				setDeps(DEPS_EDEFAULT);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY:
+				unsetAvailability();
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC:
+				unsetRTO_QEC();
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO:
+				unsetRPO();
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD:
+				unsetRTONormalPeriod();
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__MTO:
+				setMTO(MTO_EDEFAULT);
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__MTPD:
+				unsetMTPD();
+				return;
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				getResources().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case GenericbcmPackage.BUSINESS_PROCESS__COMPUTED_AVAILABILITY:
+				return computedAvailability != COMPUTED_AVAILABILITY_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_QEC:
+				return rtO_Derived_QEC != RTO_DERIVED_QEC_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO_DERIVED:
+				return rpoDerived != RPO_DERIVED_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_NORMAL_PERIOD:
+				return rtoDerivedNormalPeriod != RTO_DERIVED_NORMAL_PERIOD_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__WEIGHT:
+				return weight != WEIGHT_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__DEPS:
+				return deps != DEPS_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY:
+				return isSetAvailability();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC:
+				return isSetRTO_QEC();
+			case GenericbcmPackage.BUSINESS_PROCESS__RPO:
+				return isSetRPO();
+			case GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD:
+				return isSetRTONormalPeriod();
+			case GenericbcmPackage.BUSINESS_PROCESS__MTO:
+				return mto != MTO_EDEFAULT;
+			case GenericbcmPackage.BUSINESS_PROCESS__MTPD:
+				return isSetMTPD();
+			case GenericbcmPackage.BUSINESS_PROCESS__RESOURCES:
+				return resources != null && !resources.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == DerivedMetrics.class) {
+			switch (derivedFeatureID) {
+				case GenericbcmPackage.BUSINESS_PROCESS__COMPUTED_AVAILABILITY: return GenericbcmPackage.DERIVED_METRICS__COMPUTED_AVAILABILITY;
+				case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_QEC: return GenericbcmPackage.DERIVED_METRICS__RTO_DERIVED_QEC;
+				case GenericbcmPackage.BUSINESS_PROCESS__RPO_DERIVED: return GenericbcmPackage.DERIVED_METRICS__RPO_DERIVED;
+				case GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_NORMAL_PERIOD: return GenericbcmPackage.DERIVED_METRICS__RTO_DERIVED_NORMAL_PERIOD;
+				case GenericbcmPackage.BUSINESS_PROCESS__WEIGHT: return GenericbcmPackage.DERIVED_METRICS__WEIGHT;
+				case GenericbcmPackage.BUSINESS_PROCESS__DEPS: return GenericbcmPackage.DERIVED_METRICS__DEPS;
+				default: return -1;
+			}
+		}
+		if (baseClass == DerivedMetricsSetable.class) {
+			switch (derivedFeatureID) {
+				case GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY: return GenericbcmPackage.DERIVED_METRICS_SETABLE__AVAILABILITY;
+				case GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC: return GenericbcmPackage.DERIVED_METRICS_SETABLE__RTO_QEC;
+				case GenericbcmPackage.BUSINESS_PROCESS__RPO: return GenericbcmPackage.DERIVED_METRICS_SETABLE__RPO;
+				case GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD: return GenericbcmPackage.DERIVED_METRICS_SETABLE__RTO_NORMAL_PERIOD;
+				case GenericbcmPackage.BUSINESS_PROCESS__MTO: return GenericbcmPackage.DERIVED_METRICS_SETABLE__MTO;
+				case GenericbcmPackage.BUSINESS_PROCESS__MTPD: return GenericbcmPackage.DERIVED_METRICS_SETABLE__MTPD;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == DerivedMetrics.class) {
+			switch (baseFeatureID) {
+				case GenericbcmPackage.DERIVED_METRICS__COMPUTED_AVAILABILITY: return GenericbcmPackage.BUSINESS_PROCESS__COMPUTED_AVAILABILITY;
+				case GenericbcmPackage.DERIVED_METRICS__RTO_DERIVED_QEC: return GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_QEC;
+				case GenericbcmPackage.DERIVED_METRICS__RPO_DERIVED: return GenericbcmPackage.BUSINESS_PROCESS__RPO_DERIVED;
+				case GenericbcmPackage.DERIVED_METRICS__RTO_DERIVED_NORMAL_PERIOD: return GenericbcmPackage.BUSINESS_PROCESS__RTO_DERIVED_NORMAL_PERIOD;
+				case GenericbcmPackage.DERIVED_METRICS__WEIGHT: return GenericbcmPackage.BUSINESS_PROCESS__WEIGHT;
+				case GenericbcmPackage.DERIVED_METRICS__DEPS: return GenericbcmPackage.BUSINESS_PROCESS__DEPS;
+				default: return -1;
+			}
+		}
+		if (baseClass == DerivedMetricsSetable.class) {
+			switch (baseFeatureID) {
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__AVAILABILITY: return GenericbcmPackage.BUSINESS_PROCESS__AVAILABILITY;
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__RTO_QEC: return GenericbcmPackage.BUSINESS_PROCESS__RTO_QEC;
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__RPO: return GenericbcmPackage.BUSINESS_PROCESS__RPO;
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__RTO_NORMAL_PERIOD: return GenericbcmPackage.BUSINESS_PROCESS__RTO_NORMAL_PERIOD;
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__MTO: return GenericbcmPackage.BUSINESS_PROCESS__MTO;
+				case GenericbcmPackage.DERIVED_METRICS_SETABLE__MTPD: return GenericbcmPackage.BUSINESS_PROCESS__MTPD;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (ComputedAvailability: ");
+		result.append(computedAvailability);
+		result.append(", RTO_Derived_QEC: ");
+		result.append(rtO_Derived_QEC);
+		result.append(", RPODerived: ");
+		result.append(rpoDerived);
+		result.append(", RTODerivedNormalPeriod: ");
+		result.append(rtoDerivedNormalPeriod);
+		result.append(", Weight: ");
+		result.append(weight);
+		result.append(", Deps: ");
+		result.append(deps);
+		result.append(", Availability: ");
+		if (availabilityESet) result.append(availability); else result.append("<unset>");
+		result.append(", RTO_QEC: ");
+		if (rtO_QECESet) result.append(rtO_QEC); else result.append("<unset>");
+		result.append(", RPO: ");
+		if (rpoESet) result.append(rpo); else result.append("<unset>");
+		result.append(", RTONormalPeriod: ");
+		if (rtoNormalPeriodESet) result.append(rtoNormalPeriod); else result.append("<unset>");
+		result.append(", MTO: ");
+		result.append(mto);
+		result.append(", MTPD: ");
+		if (mtpdESet) result.append(mtpd); else result.append("<unset>");
+		result.append(')');
+		return result.toString();
+	}
+
+} //BusinessProcessImpl