/**
*/
package genericbcm.impl;
import BcmScenario.BcmScenarioPackage;
import BcmScenario.impl.BcmScenarioPackageImpl;
import ecore.EcorePackage;
import ecore.impl.EcorePackageImpl;
import genericbcm.BCMModel;
import genericbcm.BusinessImpactTableRow;
import genericbcm.BusinessProcess;
import genericbcm.BusinessProcessOnUnitLink;
import genericbcm.Cause;
import genericbcm.Dependency;
import genericbcm.DerivedMetrics;
import genericbcm.DerivedMetricsSetable;
import genericbcm.Domain;
import genericbcm.FailureEffect;
import genericbcm.GenericbcmFactory;
import genericbcm.GenericbcmPackage;
import genericbcm.LogicalGroup;
import genericbcm.LogicalGroupMemberLink;
import genericbcm.MultiCluster;
import genericbcm.Nameable;
import genericbcm.PeriodicThreat;
import genericbcm.Recovery;
import genericbcm.Resource;
import genericbcm.ResourceType;
import genericbcm.RiskCategory;
import genericbcm.SingleTaskResource;
import genericbcm.SporadicThreat;
import genericbcm.SupportResource;
import genericbcm.SupportResourceToResourceLink;
import genericbcm.Threat;
import genericbcm.ThreatLogCategory;
import genericbcm.Unit;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import uuid.UuidPackage;
import uuid.impl.UuidPackageImpl;
import yawl.YawlPackage;
import yawl.impl.YawlPackageImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class GenericbcmPackageImpl extends EPackageImpl implements GenericbcmPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass bcmModelEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass unitEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass logicalGroupEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass andEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass orEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass resourceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass businessProcessEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass threatEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass sporadicThreatEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass periodicThreatEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dependencyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass causeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass recoveryEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass failureEffectEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass nameableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass singleTaskResourceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass logicalGroupMemberLinkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass businessProcessOnUnitLinkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass multiClusterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass domainEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass derivedMetricsSetableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass derivedMetricsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass supportResourceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass supportResourceToResourceLinkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass uuidEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass slaEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass businessImpactTableRowEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass riskCategoryEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass resourceTypeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass threatLogCategoryEClass = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>Note: the correct way to create the package is via the static
* factory method {@link #init init()}, which also performs
* initialization of the package, or returns the registered package,
* if one already exists.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see genericbcm.GenericbcmPackage#eNS_URI
* @see #init()
* @generated
*/
private GenericbcmPackageImpl() {
super(eNS_URI, GenericbcmFactory.eINSTANCE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>This method is used to initialize {@link GenericbcmPackage#eINSTANCE} when that field is accessed.
* Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
* @generated
*/
public static GenericbcmPackage init() {
if (isInited) return (GenericbcmPackage) Registry.INSTANCE.getEPackage(GenericbcmPackage.eNS_URI);
// Obtain or create and register package
GenericbcmPackageImpl theGenericbcmPackage = (GenericbcmPackageImpl)(Registry.INSTANCE.get(eNS_URI) instanceof GenericbcmPackageImpl ? Registry.INSTANCE.get(eNS_URI) : new GenericbcmPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
BcmScenarioPackageImpl theBcmScenarioPackage = (BcmScenarioPackageImpl)(Registry.INSTANCE.getEPackage(BcmScenarioPackage.eNS_URI) instanceof BcmScenarioPackageImpl ? Registry.INSTANCE.getEPackage(BcmScenarioPackage.eNS_URI) : BcmScenarioPackage.eINSTANCE);
UuidPackageImpl theUuidPackage = (UuidPackageImpl)(Registry.INSTANCE.getEPackage(UuidPackage.eNS_URI) instanceof UuidPackageImpl ? Registry.INSTANCE.getEPackage(UuidPackage.eNS_URI) : UuidPackage.eINSTANCE);
EcorePackageImpl theEcorePackage = (EcorePackageImpl)(Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI) instanceof EcorePackageImpl ? Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI) : EcorePackage.eINSTANCE);
YawlPackageImpl theYawlPackage = (YawlPackageImpl)(Registry.INSTANCE.getEPackage(YawlPackage.eNS_URI) instanceof YawlPackageImpl ? Registry.INSTANCE.getEPackage(YawlPackage.eNS_URI) : YawlPackage.eINSTANCE);
// Create package meta-data objects
theGenericbcmPackage.createPackageContents();
theBcmScenarioPackage.createPackageContents();
theUuidPackage.createPackageContents();
theEcorePackage.createPackageContents();
theYawlPackage.createPackageContents();
// Initialize created meta-data
theGenericbcmPackage.initializePackageContents();
theBcmScenarioPackage.initializePackageContents();
theUuidPackage.initializePackageContents();
theEcorePackage.initializePackageContents();
theYawlPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theGenericbcmPackage.freeze();
// Update the registry and return the package
Registry.INSTANCE.put(GenericbcmPackage.eNS_URI, theGenericbcmPackage);
return theGenericbcmPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getBCMModel() {
return bcmModelEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_Units() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_Activities() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_Multiclusters() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_GlobalThreats() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_Domains() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_Recoveries() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_RiskCategories() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_ResourceTypes() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBCMModel_ThreatLogCategories() {
return (EReference)bcmModelEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBCMModel_AutoBC() {
return (EAttribute)bcmModelEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getUnit() {
return unitEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getUnit_Activities() {
return (EReference)unitEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getUnit_MemberOfLogicalGroup() {
return (EReference)unitEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getUnit_IncommingDependencies() {
return (EReference)unitEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getLogicalGroup() {
return logicalGroupEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getLogicalGroup_Members() {
return (EReference)logicalGroupEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getAND() {
return andEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getOR() {
return orEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getOR_SwitchOverTime() {
return (EAttribute)orEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getResource() {
return resourceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResource_Failures() {
return (EReference)resourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_Multiplicity() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_Critically() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_NumberOfUsers() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResource_Dependencies() {
return (EReference)resourceEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_EfficiencyImpact() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_IsMarked() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_ReplacementTime() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResource_BusinessImpactTable() {
return (EReference)resourceEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResource_MergedImpactTable() {
return (EReference)resourceEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_OverallSeverity() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_Cost() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_ContextModelURI() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResource_ResourceType() {
return (EReference)resourceEClass.getEStructuralFeatures().get(13);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getBusinessProcess() {
return businessProcessEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBusinessProcess_Resources() {
return (EReference)businessProcessEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getThreat() {
return threatEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSporadicThreat() {
return sporadicThreatEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSporadicThreat_OccuranceLikelihood() {
return (EAttribute)sporadicThreatEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getPeriodicThreat() {
return periodicThreatEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getPeriodicThreat_Period() {
return (EAttribute)periodicThreatEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDependency() {
return dependencyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_On() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_From() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getCause() {
return causeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getCause_Threat() {
return (EReference)causeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCause_ImpactDelayDistribution() {
return (EAttribute)causeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCause_ImpactLikelihood() {
return (EAttribute)causeEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCause_ImpactDelay() {
return (EAttribute)causeEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRecovery() {
return recoveryEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRecovery_Requires() {
return (EReference)recoveryEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRecovery_Cost() {
return (EAttribute)recoveryEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRecovery_RecoveryTimeMin() {
return (EAttribute)recoveryEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRecovery_RecoveryTimeMax() {
return (EAttribute)recoveryEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRecovery_Documentation() {
return (EAttribute)recoveryEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRecovery_SuccessLiklihood() {
return (EAttribute)recoveryEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRecovery_Slas() {
return (EReference)recoveryEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getFailureEffect() {
return failureEffectEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFailureEffect_MultiplicityDecrement() {
return (EAttribute)failureEffectEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFailureEffect_CausedBy() {
return (EReference)failureEffectEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFailureEffect_Recovery() {
return (EReference)failureEffectEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFailureEffect_ImpactLevel() {
return (EAttribute)failureEffectEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFailureEffect_ObsolescenceFailure() {
return (EAttribute)failureEffectEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getFailureEffect_Category() {
return (EReference)failureEffectEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getNameable() {
return nameableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNameable_Name() {
return (EAttribute)nameableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNameable_Description() {
return (EAttribute)nameableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSingleTaskResource() {
return singleTaskResourceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getLogicalGroupMemberLink() {
return logicalGroupMemberLinkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getLogicalGroupMemberLink_From() {
return (EReference)logicalGroupMemberLinkEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getLogicalGroupMemberLink_To() {
return (EReference)logicalGroupMemberLinkEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getBusinessProcessOnUnitLink() {
return businessProcessOnUnitLinkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBusinessProcessOnUnitLink_From() {
return (EReference)businessProcessOnUnitLinkEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBusinessProcessOnUnitLink_To() {
return (EReference)businessProcessOnUnitLinkEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMultiCluster() {
return multiClusterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMultiCluster_Multiplicity() {
return (EAttribute)multiClusterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMultiCluster_Units() {
return (EReference)multiClusterEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDomain() {
return domainEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDomain_Items() {
return (EReference)domainEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDerivedMetricsSetable() {
return derivedMetricsSetableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_Availability() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_RTO_QEC() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_RPO() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_RTONormalPeriod() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_MTO() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetricsSetable_MTPD() {
return (EAttribute)derivedMetricsSetableEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDerivedMetrics() {
return derivedMetricsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_ComputedAvailability() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_RTO_Derived_QEC() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_RPODerived() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_RTODerivedNormalPeriod() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_Weight() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDerivedMetrics_Deps() {
return (EAttribute)derivedMetricsEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSupportResource() {
return supportResourceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getSupportResource_Supports() {
return (EReference)supportResourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSupportResourceToResourceLink() {
return supportResourceToResourceLinkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getSupportResourceToResourceLink_From() {
return (EReference)supportResourceToResourceLinkEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getSupportResourceToResourceLink_To() {
return (EReference)supportResourceToResourceLinkEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getUUID() {
return uuidEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getUUID_Uuid() {
return (EAttribute)uuidEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSLA() {
return slaEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_Provider() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_PriceIncentive() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_PricePerYear() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_PriceIncident() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_TimeMin() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_TimeMax() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_Rank() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getSLA_Recovery() {
return (EReference)slaEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getSLA_Selected() {
return (EAttribute)slaEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getBusinessImpactTableRow() {
return businessImpactTableRowEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_Time() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_Financial() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_Legal() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_External() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_Severity() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_Owner() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBusinessImpactTableRow_OverallSeverity() {
return (EAttribute)businessImpactTableRowEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRiskCategory() {
return riskCategoryEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRiskCategory_SubCategories() {
return (EReference)riskCategoryEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRiskCategory_ParentCategory() {
return (EReference)riskCategoryEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRiskCategory_HasRisks() {
return (EReference)riskCategoryEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getResourceType() {
return resourceTypeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getResourceType_LinkToRiskCatetories() {
return (EReference)resourceTypeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getThreatLogCategory() {
return threatLogCategoryEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getThreatLogCategory_HasRisks() {
return (EReference)threatLogCategoryEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public GenericbcmFactory getGenericbcmFactory() {
return (GenericbcmFactory)getEFactoryInstance();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isCreated = false;
/**
* Creates the meta-model objects for the package. This method is
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void createPackageContents() {
if (isCreated) return;
isCreated = true;
// Create classes and their features
bcmModelEClass = createEClass(BCM_MODEL);
createEReference(bcmModelEClass, BCM_MODEL__UNITS);
createEReference(bcmModelEClass, BCM_MODEL__ACTIVITIES);
createEReference(bcmModelEClass, BCM_MODEL__MULTICLUSTERS);
createEReference(bcmModelEClass, BCM_MODEL__GLOBAL_THREATS);
createEReference(bcmModelEClass, BCM_MODEL__DOMAINS);
createEReference(bcmModelEClass, BCM_MODEL__RECOVERIES);
createEReference(bcmModelEClass, BCM_MODEL__RISK_CATEGORIES);
createEReference(bcmModelEClass, BCM_MODEL__RESOURCE_TYPES);
createEReference(bcmModelEClass, BCM_MODEL__THREAT_LOG_CATEGORIES);
createEAttribute(bcmModelEClass, BCM_MODEL__AUTO_BC);
unitEClass = createEClass(UNIT);
createEReference(unitEClass, UNIT__ACTIVITIES);
createEReference(unitEClass, UNIT__MEMBER_OF_LOGICAL_GROUP);
createEReference(unitEClass, UNIT__INCOMMING_DEPENDENCIES);
logicalGroupEClass = createEClass(LOGICAL_GROUP);
createEReference(logicalGroupEClass, LOGICAL_GROUP__MEMBERS);
andEClass = createEClass(AND);
orEClass = createEClass(OR);
createEAttribute(orEClass, OR__SWITCH_OVER_TIME);
resourceEClass = createEClass(RESOURCE);
createEReference(resourceEClass, RESOURCE__FAILURES);
createEAttribute(resourceEClass, RESOURCE__MULTIPLICITY);
createEAttribute(resourceEClass, RESOURCE__CRITICALLY);
createEAttribute(resourceEClass, RESOURCE__NUMBER_OF_USERS);
createEReference(resourceEClass, RESOURCE__DEPENDENCIES);
createEAttribute(resourceEClass, RESOURCE__EFFICIENCY_IMPACT);
createEAttribute(resourceEClass, RESOURCE__IS_MARKED);
createEAttribute(resourceEClass, RESOURCE__REPLACEMENT_TIME);
createEReference(resourceEClass, RESOURCE__BUSINESS_IMPACT_TABLE);
createEReference(resourceEClass, RESOURCE__MERGED_IMPACT_TABLE);
createEAttribute(resourceEClass, RESOURCE__OVERALL_SEVERITY);
createEAttribute(resourceEClass, RESOURCE__COST);
createEAttribute(resourceEClass, RESOURCE__CONTEXT_MODEL_URI);
createEReference(resourceEClass, RESOURCE__RESOURCE_TYPE);
businessProcessEClass = createEClass(BUSINESS_PROCESS);
createEReference(businessProcessEClass, BUSINESS_PROCESS__RESOURCES);
threatEClass = createEClass(THREAT);
sporadicThreatEClass = createEClass(SPORADIC_THREAT);
createEAttribute(sporadicThreatEClass, SPORADIC_THREAT__OCCURANCE_LIKELIHOOD);
periodicThreatEClass = createEClass(PERIODIC_THREAT);
createEAttribute(periodicThreatEClass, PERIODIC_THREAT__PERIOD);
dependencyEClass = createEClass(DEPENDENCY);
createEReference(dependencyEClass, DEPENDENCY__ON);
createEReference(dependencyEClass, DEPENDENCY__FROM);
causeEClass = createEClass(CAUSE);
createEReference(causeEClass, CAUSE__THREAT);
createEAttribute(causeEClass, CAUSE__IMPACT_DELAY_DISTRIBUTION);
createEAttribute(causeEClass, CAUSE__IMPACT_LIKELIHOOD);
createEAttribute(causeEClass, CAUSE__IMPACT_DELAY);
recoveryEClass = createEClass(RECOVERY);
createEReference(recoveryEClass, RECOVERY__REQUIRES);
createEAttribute(recoveryEClass, RECOVERY__COST);
createEAttribute(recoveryEClass, RECOVERY__RECOVERY_TIME_MIN);
createEAttribute(recoveryEClass, RECOVERY__RECOVERY_TIME_MAX);
createEAttribute(recoveryEClass, RECOVERY__DOCUMENTATION);
createEAttribute(recoveryEClass, RECOVERY__SUCCESS_LIKLIHOOD);
createEReference(recoveryEClass, RECOVERY__SLAS);
failureEffectEClass = createEClass(FAILURE_EFFECT);
createEAttribute(failureEffectEClass, FAILURE_EFFECT__MULTIPLICITY_DECREMENT);
createEReference(failureEffectEClass, FAILURE_EFFECT__CAUSED_BY);
createEReference(failureEffectEClass, FAILURE_EFFECT__RECOVERY);
createEAttribute(failureEffectEClass, FAILURE_EFFECT__IMPACT_LEVEL);
createEAttribute(failureEffectEClass, FAILURE_EFFECT__OBSOLESCENCE_FAILURE);
createEReference(failureEffectEClass, FAILURE_EFFECT__CATEGORY);
nameableEClass = createEClass(NAMEABLE);
createEAttribute(nameableEClass, NAMEABLE__NAME);
createEAttribute(nameableEClass, NAMEABLE__DESCRIPTION);
singleTaskResourceEClass = createEClass(SINGLE_TASK_RESOURCE);
logicalGroupMemberLinkEClass = createEClass(LOGICAL_GROUP_MEMBER_LINK);
createEReference(logicalGroupMemberLinkEClass, LOGICAL_GROUP_MEMBER_LINK__FROM);
createEReference(logicalGroupMemberLinkEClass, LOGICAL_GROUP_MEMBER_LINK__TO);
businessProcessOnUnitLinkEClass = createEClass(BUSINESS_PROCESS_ON_UNIT_LINK);
createEReference(businessProcessOnUnitLinkEClass, BUSINESS_PROCESS_ON_UNIT_LINK__FROM);
createEReference(businessProcessOnUnitLinkEClass, BUSINESS_PROCESS_ON_UNIT_LINK__TO);
multiClusterEClass = createEClass(MULTI_CLUSTER);
createEAttribute(multiClusterEClass, MULTI_CLUSTER__MULTIPLICITY);
createEReference(multiClusterEClass, MULTI_CLUSTER__UNITS);
domainEClass = createEClass(DOMAIN);
createEReference(domainEClass, DOMAIN__ITEMS);
derivedMetricsSetableEClass = createEClass(DERIVED_METRICS_SETABLE);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__AVAILABILITY);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__RTO_QEC);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__RPO);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__RTO_NORMAL_PERIOD);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__MTO);
createEAttribute(derivedMetricsSetableEClass, DERIVED_METRICS_SETABLE__MTPD);
derivedMetricsEClass = createEClass(DERIVED_METRICS);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__COMPUTED_AVAILABILITY);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__RTO_DERIVED_QEC);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__RPO_DERIVED);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__RTO_DERIVED_NORMAL_PERIOD);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__WEIGHT);
createEAttribute(derivedMetricsEClass, DERIVED_METRICS__DEPS);
supportResourceEClass = createEClass(SUPPORT_RESOURCE);
createEReference(supportResourceEClass, SUPPORT_RESOURCE__SUPPORTS);
supportResourceToResourceLinkEClass = createEClass(SUPPORT_RESOURCE_TO_RESOURCE_LINK);
createEReference(supportResourceToResourceLinkEClass, SUPPORT_RESOURCE_TO_RESOURCE_LINK__FROM);
createEReference(supportResourceToResourceLinkEClass, SUPPORT_RESOURCE_TO_RESOURCE_LINK__TO);
uuidEClass = createEClass(UUID);
createEAttribute(uuidEClass, UUID__UUID);
slaEClass = createEClass(SLA);
createEAttribute(slaEClass, SLA__PROVIDER);
createEAttribute(slaEClass, SLA__PRICE_INCENTIVE);
createEAttribute(slaEClass, SLA__PRICE_PER_YEAR);
createEAttribute(slaEClass, SLA__PRICE_INCIDENT);
createEAttribute(slaEClass, SLA__TIME_MIN);
createEAttribute(slaEClass, SLA__TIME_MAX);
createEAttribute(slaEClass, SLA__RANK);
createEReference(slaEClass, SLA__RECOVERY);
createEAttribute(slaEClass, SLA__SELECTED);
businessImpactTableRowEClass = createEClass(BUSINESS_IMPACT_TABLE_ROW);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__TIME);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__FINANCIAL);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__LEGAL);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__EXTERNAL);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__SEVERITY);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__OWNER);
createEAttribute(businessImpactTableRowEClass, BUSINESS_IMPACT_TABLE_ROW__OVERALL_SEVERITY);
riskCategoryEClass = createEClass(RISK_CATEGORY);
createEReference(riskCategoryEClass, RISK_CATEGORY__SUB_CATEGORIES);
createEReference(riskCategoryEClass, RISK_CATEGORY__PARENT_CATEGORY);
createEReference(riskCategoryEClass, RISK_CATEGORY__HAS_RISKS);
resourceTypeEClass = createEClass(RESOURCE_TYPE);
createEReference(resourceTypeEClass, RESOURCE_TYPE__LINK_TO_RISK_CATETORIES);
threatLogCategoryEClass = createEClass(THREAT_LOG_CATEGORY);
createEReference(threatLogCategoryEClass, THREAT_LOG_CATEGORY__HAS_RISKS);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isInitialized = false;
/**
* Complete the initialization of the package and its meta-model. This
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents() {
if (isInitialized) return;
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
bcmModelEClass.getESuperTypes().add(this.getNameable());
unitEClass.getESuperTypes().add(this.getNameable());
unitEClass.getESuperTypes().add(this.getDerivedMetrics());
logicalGroupEClass.getESuperTypes().add(this.getUnit());
andEClass.getESuperTypes().add(this.getLogicalGroup());
orEClass.getESuperTypes().add(this.getLogicalGroup());
resourceEClass.getESuperTypes().add(this.getUnit());
resourceEClass.getESuperTypes().add(this.getDerivedMetricsSetable());
businessProcessEClass.getESuperTypes().add(this.getNameable());
businessProcessEClass.getESuperTypes().add(this.getDerivedMetricsSetable());
threatEClass.getESuperTypes().add(this.getNameable());
sporadicThreatEClass.getESuperTypes().add(this.getThreat());
periodicThreatEClass.getESuperTypes().add(this.getThreat());
dependencyEClass.getESuperTypes().add(this.getThreat());
causeEClass.getESuperTypes().add(this.getNameable());
recoveryEClass.getESuperTypes().add(this.getNameable());
recoveryEClass.getESuperTypes().add(this.getDerivedMetrics());
failureEffectEClass.getESuperTypes().add(this.getNameable());
nameableEClass.getESuperTypes().add(this.getUUID());
singleTaskResourceEClass.getESuperTypes().add(this.getResource());
logicalGroupMemberLinkEClass.getESuperTypes().add(this.getNameable());
businessProcessOnUnitLinkEClass.getESuperTypes().add(this.getNameable());
multiClusterEClass.getESuperTypes().add(this.getNameable());
domainEClass.getESuperTypes().add(this.getNameable());
derivedMetricsSetableEClass.getESuperTypes().add(this.getDerivedMetrics());
supportResourceEClass.getESuperTypes().add(this.getResource());
supportResourceToResourceLinkEClass.getESuperTypes().add(this.getNameable());
businessImpactTableRowEClass.getESuperTypes().add(this.getNameable());
riskCategoryEClass.getESuperTypes().add(this.getNameable());
resourceTypeEClass.getESuperTypes().add(this.getNameable());
threatLogCategoryEClass.getESuperTypes().add(this.getNameable());
// Initialize classes, features, and operations; add parameters
initEClass(bcmModelEClass, BCMModel.class, "BCMModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBCMModel_Units(), this.getUnit(), null, "units", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_Activities(), this.getBusinessProcess(), null, "activities", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_Multiclusters(), this.getMultiCluster(), null, "multiclusters", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_GlobalThreats(), this.getThreat(), null, "globalThreats", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_Domains(), this.getDomain(), null, "domains", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_Recoveries(), this.getRecovery(), null, "recoveries", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_RiskCategories(), this.getRiskCategory(), null, "riskCategories", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_ResourceTypes(), this.getResourceType(), null, "resourceTypes", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBCMModel_ThreatLogCategories(), this.getThreatLogCategory(), null, "ThreatLogCategories", null, 0, -1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBCMModel_AutoBC(), ecorePackage.getEBoolean(), "autoBC", "true", 0, 1, BCMModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(unitEClass, Unit.class, "Unit", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getUnit_Activities(), this.getBusinessProcessOnUnitLink(), this.getBusinessProcessOnUnitLink_To(), "activities", null, 0, -1, Unit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getUnit_MemberOfLogicalGroup(), this.getLogicalGroupMemberLink(), this.getLogicalGroupMemberLink_To(), "memberOfLogicalGroup", null, 0, -1, Unit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getUnit_IncommingDependencies(), this.getDependency(), this.getDependency_On(), "incommingDependencies", null, 0, -1, Unit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(logicalGroupEClass, LogicalGroup.class, "LogicalGroup", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLogicalGroup_Members(), this.getLogicalGroupMemberLink(), null, "members", null, 0, -1, LogicalGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(andEClass, genericbcm.AND.class, "AND", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(orEClass, genericbcm.OR.class, "OR", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getOR_SwitchOverTime(), ecorePackage.getEDouble(), "switchOverTime", null, 0, 1, genericbcm.OR.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getResource_Failures(), this.getFailureEffect(), null, "failures", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_Multiplicity(), ecorePackage.getEInt(), "multiplicity", "1", 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_Critically(), ecorePackage.getEInt(), "critically", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_NumberOfUsers(), ecorePackage.getEInt(), "numberOfUsers", "-1", 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getResource_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_EfficiencyImpact(), ecorePackage.getEFloat(), "efficiencyImpact", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_IsMarked(), ecorePackage.getEBoolean(), "isMarked", "false", 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_ReplacementTime(), ecorePackage.getEDouble(), "ReplacementTime", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getResource_BusinessImpactTable(), this.getBusinessImpactTableRow(), null, "businessImpactTable", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getResource_MergedImpactTable(), this.getBusinessImpactTableRow(), null, "mergedImpactTable", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_OverallSeverity(), ecorePackage.getEDouble(), "overallSeverity", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_Cost(), ecorePackage.getEDouble(), "cost", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_ContextModelURI(), ecorePackage.getEString(), "contextModelURI", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getResource_ResourceType(), this.getResourceType(), null, "resourceType", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(businessProcessEClass, BusinessProcess.class, "BusinessProcess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusinessProcess_Resources(), this.getBusinessProcessOnUnitLink(), this.getBusinessProcessOnUnitLink_From(), "resources", null, 0, -1, BusinessProcess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(threatEClass, Threat.class, "Threat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(sporadicThreatEClass, SporadicThreat.class, "SporadicThreat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getSporadicThreat_OccuranceLikelihood(), ecorePackage.getEDouble(), "occuranceLikelihood", null, 0, 1, SporadicThreat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(periodicThreatEClass, PeriodicThreat.class, "PeriodicThreat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPeriodicThreat_Period(), ecorePackage.getEDouble(), "period", null, 0, 1, PeriodicThreat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(dependencyEClass, Dependency.class, "Dependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDependency_On(), this.getUnit(), this.getUnit_IncommingDependencies(), "on", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDependency_From(), this.getResource(), null, "from", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(causeEClass, Cause.class, "Cause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCause_Threat(), this.getThreat(), null, "threat", null, 1, 1, Cause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCause_ImpactDelayDistribution(), ecorePackage.getEDouble(), "impactDelayDistribution", null, 0, -1, Cause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCause_ImpactLikelihood(), ecorePackage.getEDouble(), "impactLikelihood", "1.0", 0, 1, Cause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCause_ImpactDelay(), ecorePackage.getEDouble(), "impactDelay", null, 0, 1, Cause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(recoveryEClass, Recovery.class, "Recovery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRecovery_Requires(), this.getUnit(), null, "requires", null, 0, -1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRecovery_Cost(), ecorePackage.getEDouble(), "cost", null, 0, 1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRecovery_RecoveryTimeMin(), ecorePackage.getEDouble(), "recoveryTimeMin", null, 0, 1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRecovery_RecoveryTimeMax(), ecorePackage.getEDouble(), "recoveryTimeMax", null, 0, 1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRecovery_Documentation(), ecorePackage.getEResource(), "documentation", null, 0, -1, Recovery.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRecovery_SuccessLiklihood(), ecorePackage.getEDouble(), "successLiklihood", "-1", 0, 1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEReference(getRecovery_Slas(), this.getSLA(), this.getSLA_Recovery(), "slas", null, 0, -1, Recovery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(failureEffectEClass, FailureEffect.class, "FailureEffect", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getFailureEffect_MultiplicityDecrement(), ecorePackage.getEInt(), "multiplicityDecrement", "1", 0, 1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFailureEffect_CausedBy(), this.getCause(), null, "causedBy", null, 0, -1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFailureEffect_Recovery(), this.getRecovery(), null, "recovery", null, 0, 1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFailureEffect_ImpactLevel(), ecorePackage.getEString(), "impactLevel", null, 0, 1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFailureEffect_ObsolescenceFailure(), ecorePackage.getEBoolean(), "obsolescenceFailure", "false", 0, 1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFailureEffect_Category(), this.getRiskCategory(), null, "category", null, 0, 1, FailureEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nameableEClass, Nameable.class, "Nameable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNameable_Name(), ecorePackage.getEString(), "name", null, 0, 1, Nameable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getNameable_Description(), ecorePackage.getEString(), "description", null, 0, 1, Nameable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(singleTaskResourceEClass, SingleTaskResource.class, "SingleTaskResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(logicalGroupMemberLinkEClass, LogicalGroupMemberLink.class, "LogicalGroupMemberLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLogicalGroupMemberLink_From(), this.getLogicalGroup(), null, "from", null, 1, 1, LogicalGroupMemberLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getLogicalGroupMemberLink_To(), this.getUnit(), this.getUnit_MemberOfLogicalGroup(), "to", null, 1, 1, LogicalGroupMemberLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(businessProcessOnUnitLinkEClass, BusinessProcessOnUnitLink.class, "BusinessProcessOnUnitLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusinessProcessOnUnitLink_From(), this.getBusinessProcess(), this.getBusinessProcess_Resources(), "from", null, 1, 1, BusinessProcessOnUnitLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBusinessProcessOnUnitLink_To(), this.getUnit(), this.getUnit_Activities(), "to", null, 1, 1, BusinessProcessOnUnitLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(multiClusterEClass, MultiCluster.class, "MultiCluster", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMultiCluster_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 1, 1, MultiCluster.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMultiCluster_Units(), this.getUnit(), null, "units", null, 0, -1, MultiCluster.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(domainEClass, Domain.class, "Domain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDomain_Items(), this.getUnit(), null, "items", null, 0, -1, Domain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(derivedMetricsSetableEClass, DerivedMetricsSetable.class, "DerivedMetricsSetable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDerivedMetricsSetable_Availability(), ecorePackage.getEDouble(), "Availability", "1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetricsSetable_RTO_QEC(), ecorePackage.getEDouble(), "RTO_QEC", "-1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetricsSetable_RPO(), ecorePackage.getEDouble(), "RPO", "-1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetricsSetable_RTONormalPeriod(), ecorePackage.getEDouble(), "RTONormalPeriod", "-1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetricsSetable_MTO(), ecorePackage.getEDouble(), "MTO", "-1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetricsSetable_MTPD(), ecorePackage.getEDouble(), "MTPD", "-1", 0, 1, DerivedMetricsSetable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(derivedMetricsEClass, DerivedMetrics.class, "DerivedMetrics", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDerivedMetrics_ComputedAvailability(), ecorePackage.getEDouble(), "ComputedAvailability", "1", 0, 1, DerivedMetrics.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetrics_RTO_Derived_QEC(), ecorePackage.getEDouble(), "RTO_Derived_QEC", "-1", 0, 1, DerivedMetrics.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetrics_RPODerived(), ecorePackage.getEDouble(), "RPODerived", "-1", 0, 1, DerivedMetrics.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetrics_RTODerivedNormalPeriod(), ecorePackage.getEDouble(), "RTODerivedNormalPeriod", "-1", 0, 1, DerivedMetrics.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetrics_Weight(), ecorePackage.getEInt(), "Weight", null, 0, 1, DerivedMetrics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDerivedMetrics_Deps(), ecorePackage.getEInt(), "Deps", null, 0, 1, DerivedMetrics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(supportResourceEClass, SupportResource.class, "SupportResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSupportResource_Supports(), this.getSupportResourceToResourceLink(), null, "supports", null, 0, -1, SupportResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(supportResourceToResourceLinkEClass, SupportResourceToResourceLink.class, "SupportResourceToResourceLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSupportResourceToResourceLink_From(), this.getSupportResource(), null, "from", null, 1, 1, SupportResourceToResourceLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSupportResourceToResourceLink_To(), this.getResource(), null, "to", null, 1, 1, SupportResourceToResourceLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(uuidEClass, genericbcm.UUID.class, "UUID", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getUUID_Uuid(), ecorePackage.getEString(), "uuid", null, 0, 1, genericbcm.UUID.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(slaEClass, genericbcm.SLA.class, "SLA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getSLA_Provider(), ecorePackage.getEString(), "provider", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_PriceIncentive(), ecorePackage.getEDouble(), "priceIncentive", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_PricePerYear(), ecorePackage.getEDouble(), "pricePerYear", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_PriceIncident(), ecorePackage.getEDouble(), "priceIncident", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_TimeMin(), ecorePackage.getEDouble(), "timeMin", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_TimeMax(), ecorePackage.getEDouble(), "timeMax", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_Rank(), ecorePackage.getEDouble(), "rank", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSLA_Recovery(), this.getRecovery(), this.getRecovery_Slas(), "recovery", null, 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSLA_Selected(), ecorePackage.getEBoolean(), "selected", "false", 0, 1, genericbcm.SLA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(businessImpactTableRowEClass, BusinessImpactTableRow.class, "BusinessImpactTableRow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getBusinessImpactTableRow_Time(), ecorePackage.getEDouble(), "time", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_Financial(), ecorePackage.getEDouble(), "financial", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_Legal(), ecorePackage.getEDouble(), "legal", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_External(), ecorePackage.getEDouble(), "external", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_Severity(), ecorePackage.getEDouble(), "severity", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_Owner(), ecorePackage.getEString(), "owner", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBusinessImpactTableRow_OverallSeverity(), ecorePackage.getEDouble(), "overallSeverity", null, 0, 1, BusinessImpactTableRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(riskCategoryEClass, RiskCategory.class, "RiskCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRiskCategory_SubCategories(), this.getRiskCategory(), this.getRiskCategory_ParentCategory(), "subCategories", null, 0, -1, RiskCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRiskCategory_ParentCategory(), this.getRiskCategory(), this.getRiskCategory_SubCategories(), "parentCategory", null, 0, 1, RiskCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRiskCategory_HasRisks(), this.getFailureEffect(), null, "hasRisks", null, 0, -1, RiskCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(resourceTypeEClass, ResourceType.class, "ResourceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getResourceType_LinkToRiskCatetories(), this.getRiskCategory(), null, "linkToRiskCatetories", null, 0, -1, ResourceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(threatLogCategoryEClass, ThreatLogCategory.class, "ThreatLogCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreatLogCategory_HasRisks(), this.getFailureEffect(), null, "hasRisks", null, 0, -1, ThreatLogCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
}
} //GenericbcmPackageImpl