--- 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