/**
 *
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model. It contains accessors for the meta objects to represent
 *
 * <ul>
 *   <li>each class,
 *   <li>each feature of each class,
 *   <li>each enum,
 *   <li>and each data type
 * </ul>
 *
 * <!-- end-user-doc -->
 *
 * @see configuration.businessconfiguration.experimental.ExperimentalFactory
 * @model kind="package" annotation="http://www.eclipse.org/emf/2002/Ecore
 *     invocationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'
 *     validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'
 *     settingDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'"
 * @generated
 */
public interface ExperimentalPackage extends EPackage {
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  String eNAME = "experimental";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  String eNS_URI =
      "http://eclipse.org/ocl/examples/impactanalyzer/testmodel/ngpm/configuration/businessconfiguration/experimental.ecore";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  String eNS_PREFIX = "configuration.businessconfiguration.experimental";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  ExperimentalPackage eINSTANCE =
      configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl.init();

  /**
   * The meta object id for the '{@link
   * configuration.businessconfiguration.experimental.impl.PackageUseImpl <em>Package Use</em>}'
   * class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see configuration.businessconfiguration.experimental.impl.PackageUseImpl
   * @see
   *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getPackageUse()
   * @generated
   */
  int PACKAGE_USE = 0;

  /**
   * The feature id for the '<em><b>Package </b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PACKAGE_USE__PACKAGE_ = 0;

  /**
   * The feature id for the '<em><b>Setting</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PACKAGE_USE__SETTING = 1;

  /**
   * The number of structural features of the '<em>Package Use</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PACKAGE_USE_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link
   * configuration.businessconfiguration.experimental.impl.ConfigurationEntityImpl <em>Configuration
   * Entity</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see configuration.businessconfiguration.experimental.impl.ConfigurationEntityImpl
   * @see
   *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getConfigurationEntity()
   * @generated
   */
  int CONFIGURATION_ENTITY = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_ENTITY__NAME = ModelmanagementPackage.NAMED_ELEMENT__NAME;

  /**
   * The feature id for the '<em><b>Description</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_ENTITY__DESCRIPTION = ModelmanagementPackage.NAMED_ELEMENT__DESCRIPTION;

  /**
   * The feature id for the '<em><b>Pick List</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_ENTITY__PICK_LIST = ModelmanagementPackage.NAMED_ELEMENT_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Configurable Item</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_ENTITY__CONFIGURABLE_ITEM =
      ModelmanagementPackage.NAMED_ELEMENT_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Configuration Entity</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_ENTITY_FEATURE_COUNT = ModelmanagementPackage.NAMED_ELEMENT_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link
   * configuration.businessconfiguration.experimental.impl.ConfigurationSettingImpl
   * <em>Configuration Setting</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see configuration.businessconfiguration.experimental.impl.ConfigurationSettingImpl
   * @see
   *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getConfigurationSetting()
   * @generated
   */
  int CONFIGURATION_SETTING = 2;

  /**
   * The feature id for the '<em><b>Entity</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_SETTING__ENTITY = 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_SETTING__VALUE = 1;

  /**
   * The number of structural features of the '<em>Configuration Setting</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int CONFIGURATION_SETTING_FEATURE_COUNT = 2;

  /**
   * Returns the meta object for class '{@link
   * configuration.businessconfiguration.experimental.PackageUse <em>Package Use</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Package Use</em>'.
   * @see configuration.businessconfiguration.experimental.PackageUse
   * @generated
   */
  EClass getPackageUse();

  /**
   * Returns the meta object for the reference '{@link
   * configuration.businessconfiguration.experimental.PackageUse#getPackage_ <em>Package </em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Package </em>'.
   * @see configuration.businessconfiguration.experimental.PackageUse#getPackage_()
   * @see #getPackageUse()
   * @generated
   */
  EReference getPackageUse_Package_();

  /**
   * Returns the meta object for the reference list '{@link
   * configuration.businessconfiguration.experimental.PackageUse#getSetting <em>Setting</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference list '<em>Setting</em>'.
   * @see configuration.businessconfiguration.experimental.PackageUse#getSetting()
   * @see #getPackageUse()
   * @generated
   */
  EReference getPackageUse_Setting();

  /**
   * Returns the meta object for class '{@link
   * configuration.businessconfiguration.experimental.ConfigurationEntity <em>Configuration
   * Entity</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Configuration Entity</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationEntity
   * @generated
   */
  EClass getConfigurationEntity();

  /**
   * Returns the meta object for the reference '{@link
   * configuration.businessconfiguration.experimental.ConfigurationEntity#getPickList <em>Pick
   * List</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Pick List</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationEntity#getPickList()
   * @see #getConfigurationEntity()
   * @generated
   */
  EReference getConfigurationEntity_PickList();

  /**
   * Returns the meta object for the reference '{@link
   * configuration.businessconfiguration.experimental.ConfigurationEntity#getConfigurableItem
   * <em>Configurable Item</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Configurable Item</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationEntity#getConfigurableItem()
   * @see #getConfigurationEntity()
   * @generated
   */
  EReference getConfigurationEntity_ConfigurableItem();

  /**
   * Returns the meta object for class '{@link
   * configuration.businessconfiguration.experimental.ConfigurationSetting <em>Configuration
   * Setting</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Configuration Setting</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationSetting
   * @generated
   */
  EClass getConfigurationSetting();

  /**
   * Returns the meta object for the reference '{@link
   * configuration.businessconfiguration.experimental.ConfigurationSetting#getEntity
   * <em>Entity</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Entity</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationSetting#getEntity()
   * @see #getConfigurationSetting()
   * @generated
   */
  EReference getConfigurationSetting_Entity();

  /**
   * Returns the meta object for the reference '{@link
   * configuration.businessconfiguration.experimental.ConfigurationSetting#getValue
   * <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Value</em>'.
   * @see configuration.businessconfiguration.experimental.ConfigurationSetting#getValue()
   * @see #getConfigurationSetting()
   * @generated
   */
  EReference getConfigurationSetting_Value();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the factory that creates the instances of the model.
   * @generated
   */
  ExperimentalFactory getExperimentalFactory();

  /**
   *
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   *
   * <ul>
   *   <li>each class,
   *   <li>each feature of each class,
   *   <li>each enum,
   *   <li>and each data type
   * </ul>
   *
   * <!-- end-user-doc -->
   *
   * @generated
   */
  interface Literals {
    /**
     * The meta object literal for the '{@link
     * configuration.businessconfiguration.experimental.impl.PackageUseImpl <em>Package Use</em>}'
     * class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see configuration.businessconfiguration.experimental.impl.PackageUseImpl
     * @see
     *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getPackageUse()
     * @generated
     */
    EClass PACKAGE_USE = eINSTANCE.getPackageUse();

    /**
     * The meta object literal for the '<em><b>Package </b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference PACKAGE_USE__PACKAGE_ = eINSTANCE.getPackageUse_Package_();

    /**
     * The meta object literal for the '<em><b>Setting</b></em>' reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference PACKAGE_USE__SETTING = eINSTANCE.getPackageUse_Setting();

    /**
     * The meta object literal for the '{@link
     * configuration.businessconfiguration.experimental.impl.ConfigurationEntityImpl
     * <em>Configuration Entity</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see configuration.businessconfiguration.experimental.impl.ConfigurationEntityImpl
     * @see
     *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getConfigurationEntity()
     * @generated
     */
    EClass CONFIGURATION_ENTITY = eINSTANCE.getConfigurationEntity();

    /**
     * The meta object literal for the '<em><b>Pick List</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference CONFIGURATION_ENTITY__PICK_LIST = eINSTANCE.getConfigurationEntity_PickList();

    /**
     * The meta object literal for the '<em><b>Configurable Item</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference CONFIGURATION_ENTITY__CONFIGURABLE_ITEM =
        eINSTANCE.getConfigurationEntity_ConfigurableItem();

    /**
     * The meta object literal for the '{@link
     * configuration.businessconfiguration.experimental.impl.ConfigurationSettingImpl
     * <em>Configuration Setting</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see configuration.businessconfiguration.experimental.impl.ConfigurationSettingImpl
     * @see
     *     configuration.businessconfiguration.experimental.impl.ExperimentalPackageImpl#getConfigurationSetting()
     * @generated
     */
    EClass CONFIGURATION_SETTING = eINSTANCE.getConfigurationSetting();

    /**
     * The meta object literal for the '<em><b>Entity</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference CONFIGURATION_SETTING__ENTITY = eINSTANCE.getConfigurationSetting_Entity();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference CONFIGURATION_SETTING__VALUE = eINSTANCE.getConfigurationSetting_Value();
  }
} // ExperimentalPackage
  /**
   * 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 Ap_runtime_constraintsPackage#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 Ap_runtime_constraintsPackage init() {
    if (isInited)
      return (Ap_runtime_constraintsPackage)
          EPackage.Registry.INSTANCE.getEPackage(Ap_runtime_constraintsPackage.eNS_URI);

    // Obtain or create and register package
    Ap_runtime_constraintsPackageImpl theAp_runtime_constraintsPackage =
        (Ap_runtime_constraintsPackageImpl)
            (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Ap_runtime_constraintsPackageImpl
                ? EPackage.Registry.INSTANCE.get(eNS_URI)
                : new Ap_runtime_constraintsPackageImpl());

    isInited = true;

    // Initialize simple dependencies
    EcorePackage.eINSTANCE.eClass();

    // Obtain or create and register interdependencies
    AbapmappingPackageImpl theAbapmappingPackage =
        (AbapmappingPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(AbapmappingPackage.eNS_URI)
                    instanceof AbapmappingPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(AbapmappingPackage.eNS_URI)
                : AbapmappingPackage.eINSTANCE);
    AbapdictionaryPackageImpl theAbapdictionaryPackage =
        (AbapdictionaryPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(AbapdictionaryPackage.eNS_URI)
                    instanceof AbapdictionaryPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(AbapdictionaryPackage.eNS_URI)
                : AbapdictionaryPackage.eINSTANCE);
    BpdmPackageImpl theBpdmPackage =
        (BpdmPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(BpdmPackage.eNS_URI) instanceof BpdmPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(BpdmPackage.eNS_URI)
                : BpdmPackage.eINSTANCE);
    BusinesstasksPackageImpl theBusinesstasksPackage =
        (BusinesstasksPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(BusinesstasksPackage.eNS_URI)
                    instanceof BusinesstasksPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(BusinesstasksPackage.eNS_URI)
                : BusinesstasksPackage.eINSTANCE);
    ActionsPackageImpl theActionsPackage =
        (ActionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ActionsPackage.eNS_URI)
                    instanceof ActionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ActionsPackage.eNS_URI)
                : ActionsPackage.eINSTANCE);
    RulesPackageImpl theRulesPackage =
        (RulesPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(RulesPackage.eNS_URI)
                    instanceof RulesPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(RulesPackage.eNS_URI)
                : RulesPackage.eINSTANCE);
    EventsPackageImpl theEventsPackage =
        (EventsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI)
                    instanceof EventsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI)
                : EventsPackage.eINSTANCE);
    TransactionsPackageImpl theTransactionsPackage =
        (TransactionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(TransactionsPackage.eNS_URI)
                    instanceof TransactionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(TransactionsPackage.eNS_URI)
                : TransactionsPackage.eINSTANCE);
    Status_and_action_oldPackageImpl theStatus_and_action_oldPackage =
        (Status_and_action_oldPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(Status_and_action_oldPackage.eNS_URI)
                    instanceof Status_and_action_oldPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(Status_and_action_oldPackage.eNS_URI)
                : Status_and_action_oldPackage.eINSTANCE);
    DesignPackageImpl theDesignPackage =
        (DesignPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(DesignPackage.eNS_URI)
                    instanceof DesignPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(DesignPackage.eNS_URI)
                : DesignPackage.eINSTANCE);
    AssemblyPackageImpl theAssemblyPackage =
        (AssemblyPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(AssemblyPackage.eNS_URI)
                    instanceof AssemblyPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(AssemblyPackage.eNS_URI)
                : AssemblyPackage.eINSTANCE);
    BusinessconfigurationPackageImpl theBusinessconfigurationPackage =
        (BusinessconfigurationPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(BusinessconfigurationPackage.eNS_URI)
                    instanceof BusinessconfigurationPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(BusinessconfigurationPackage.eNS_URI)
                : BusinessconfigurationPackage.eINSTANCE);
    ExperimentalPackageImpl theExperimentalPackage =
        (ExperimentalPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ExperimentalPackage.eNS_URI)
                    instanceof ExperimentalPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ExperimentalPackage.eNS_URI)
                : ExperimentalPackage.eINSTANCE);
    Context_driversPackageImpl theContext_driversPackage =
        (Context_driversPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(Context_driversPackage.eNS_URI)
                    instanceof Context_driversPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(Context_driversPackage.eNS_URI)
                : Context_driversPackage.eINSTANCE);
    ClassesPackageImpl theClassesPackage =
        (ClassesPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ClassesPackage.eNS_URI)
                    instanceof ClassesPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ClassesPackage.eNS_URI)
                : ClassesPackage.eINSTANCE);
    ConstraintsPackageImpl theConstraintsPackage =
        (ConstraintsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
                    instanceof ConstraintsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
                : ConstraintsPackage.eINSTANCE);
    QuantitystructurePackageImpl theQuantitystructurePackage =
        (QuantitystructurePackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(QuantitystructurePackage.eNS_URI)
                    instanceof QuantitystructurePackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(QuantitystructurePackage.eNS_URI)
                : QuantitystructurePackage.eINSTANCE);
    TimedependencyPackageImpl theTimedependencyPackage =
        (TimedependencyPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(TimedependencyPackage.eNS_URI)
                    instanceof TimedependencyPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(TimedependencyPackage.eNS_URI)
                : TimedependencyPackage.eINSTANCE);
    DocumentsPackageImpl theDocumentsPackage =
        (DocumentsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(DocumentsPackage.eNS_URI)
                    instanceof DocumentsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(DocumentsPackage.eNS_URI)
                : DocumentsPackage.eINSTANCE);
    GenericsPackageImpl theGenericsPackage =
        (GenericsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(GenericsPackage.eNS_URI)
                    instanceof GenericsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(GenericsPackage.eNS_URI)
                : GenericsPackage.eINSTANCE);
    TuplesPackageImpl theTuplesPackage =
        (TuplesPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(TuplesPackage.eNS_URI)
                    instanceof TuplesPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(TuplesPackage.eNS_URI)
                : TuplesPackage.eINSTANCE);
    ExpressionsPackageImpl theExpressionsPackage =
        (ExpressionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI)
                    instanceof ExpressionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI)
                : ExpressionsPackage.eINSTANCE);
    LiteralsPackageImpl theLiteralsPackage =
        (LiteralsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(LiteralsPackage.eNS_URI)
                    instanceof LiteralsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(LiteralsPackage.eNS_URI)
                : LiteralsPackage.eINSTANCE);
    CollectionexpressionsPackageImpl theCollectionexpressionsPackage =
        (CollectionexpressionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(CollectionexpressionsPackage.eNS_URI)
                    instanceof CollectionexpressionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(CollectionexpressionsPackage.eNS_URI)
                : CollectionexpressionsPackage.eINSTANCE);
    FpPackageImpl theFpPackage =
        (FpPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(FpPackage.eNS_URI) instanceof FpPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(FpPackage.eNS_URI)
                : FpPackage.eINSTANCE);
    QueryPackageImpl theQueryPackage =
        (QueryPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI)
                    instanceof QueryPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI)
                : QueryPackage.eINSTANCE);
    AnalyticsPackageImpl theAnalyticsPackage =
        (AnalyticsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(AnalyticsPackage.eNS_URI)
                    instanceof AnalyticsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(AnalyticsPackage.eNS_URI)
                : AnalyticsPackage.eINSTANCE);
    ProcessintegrationPackageImpl theProcessintegrationPackage =
        (ProcessintegrationPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ProcessintegrationPackage.eNS_URI)
                    instanceof ProcessintegrationPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ProcessintegrationPackage.eNS_URI)
                : ProcessintegrationPackage.eINSTANCE);
    XsdPackageImpl theXsdPackage =
        (XsdPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(XsdPackage.eNS_URI) instanceof XsdPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(XsdPackage.eNS_URI)
                : XsdPackage.eINSTANCE);
    BindingPackageImpl theBindingPackage =
        (BindingPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(BindingPackage.eNS_URI)
                    instanceof BindingPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(BindingPackage.eNS_URI)
                : BindingPackage.eINSTANCE);
    LocalizationPackageImpl theLocalizationPackage =
        (LocalizationPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(LocalizationPackage.eNS_URI)
                    instanceof LocalizationPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(LocalizationPackage.eNS_URI)
                : LocalizationPackage.eINSTANCE);
    ModelmanagementPackageImpl theModelmanagementPackage =
        (ModelmanagementPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ModelmanagementPackage.eNS_URI)
                    instanceof ModelmanagementPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ModelmanagementPackage.eNS_URI)
                : ModelmanagementPackage.eINSTANCE);
    ProcesscomponentsPackageImpl theProcesscomponentsPackage =
        (ProcesscomponentsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(ProcesscomponentsPackage.eNS_URI)
                    instanceof ProcesscomponentsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(ProcesscomponentsPackage.eNS_URI)
                : ProcesscomponentsPackage.eINSTANCE);
    DeploymentunitsPackageImpl theDeploymentunitsPackage =
        (DeploymentunitsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(DeploymentunitsPackage.eNS_URI)
                    instanceof DeploymentunitsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(DeploymentunitsPackage.eNS_URI)
                : DeploymentunitsPackage.eINSTANCE);
    persistence.actions.impl.ActionsPackageImpl theActionsPackage_1 =
        (persistence.actions.impl.ActionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(persistence.actions.ActionsPackage.eNS_URI)
                    instanceof persistence.actions.impl.ActionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(persistence.actions.ActionsPackage.eNS_URI)
                : persistence.actions.ActionsPackage.eINSTANCE);
    persistence.expressions.impl.ExpressionsPackageImpl theExpressionsPackage_1 =
        (persistence.expressions.impl.ExpressionsPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(
                        persistence.expressions.ExpressionsPackage.eNS_URI)
                    instanceof persistence.expressions.impl.ExpressionsPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(
                    persistence.expressions.ExpressionsPackage.eNS_URI)
                : persistence.expressions.ExpressionsPackage.eINSTANCE);
    Data_bindingPackageImpl theData_bindingPackage =
        (Data_bindingPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(Data_bindingPackage.eNS_URI)
                    instanceof Data_bindingPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(Data_bindingPackage.eNS_URI)
                : Data_bindingPackage.eINSTANCE);
    TemplatesPackageImpl theTemplatesPackage =
        (TemplatesPackageImpl)
            (EPackage.Registry.INSTANCE.getEPackage(TemplatesPackage.eNS_URI)
                    instanceof TemplatesPackageImpl
                ? EPackage.Registry.INSTANCE.getEPackage(TemplatesPackage.eNS_URI)
                : TemplatesPackage.eINSTANCE);

    // Create package meta-data objects
    theAp_runtime_constraintsPackage.createPackageContents();
    theAbapmappingPackage.createPackageContents();
    theAbapdictionaryPackage.createPackageContents();
    theBpdmPackage.createPackageContents();
    theBusinesstasksPackage.createPackageContents();
    theActionsPackage.createPackageContents();
    theRulesPackage.createPackageContents();
    theEventsPackage.createPackageContents();
    theTransactionsPackage.createPackageContents();
    theStatus_and_action_oldPackage.createPackageContents();
    theDesignPackage.createPackageContents();
    theAssemblyPackage.createPackageContents();
    theBusinessconfigurationPackage.createPackageContents();
    theExperimentalPackage.createPackageContents();
    theContext_driversPackage.createPackageContents();
    theClassesPackage.createPackageContents();
    theConstraintsPackage.createPackageContents();
    theQuantitystructurePackage.createPackageContents();
    theTimedependencyPackage.createPackageContents();
    theDocumentsPackage.createPackageContents();
    theGenericsPackage.createPackageContents();
    theTuplesPackage.createPackageContents();
    theExpressionsPackage.createPackageContents();
    theLiteralsPackage.createPackageContents();
    theCollectionexpressionsPackage.createPackageContents();
    theFpPackage.createPackageContents();
    theQueryPackage.createPackageContents();
    theAnalyticsPackage.createPackageContents();
    theProcessintegrationPackage.createPackageContents();
    theXsdPackage.createPackageContents();
    theBindingPackage.createPackageContents();
    theLocalizationPackage.createPackageContents();
    theModelmanagementPackage.createPackageContents();
    theProcesscomponentsPackage.createPackageContents();
    theDeploymentunitsPackage.createPackageContents();
    theActionsPackage_1.createPackageContents();
    theExpressionsPackage_1.createPackageContents();
    theData_bindingPackage.createPackageContents();
    theTemplatesPackage.createPackageContents();

    // Initialize created meta-data
    theAp_runtime_constraintsPackage.initializePackageContents();
    theAbapmappingPackage.initializePackageContents();
    theAbapdictionaryPackage.initializePackageContents();
    theBpdmPackage.initializePackageContents();
    theBusinesstasksPackage.initializePackageContents();
    theActionsPackage.initializePackageContents();
    theRulesPackage.initializePackageContents();
    theEventsPackage.initializePackageContents();
    theTransactionsPackage.initializePackageContents();
    theStatus_and_action_oldPackage.initializePackageContents();
    theDesignPackage.initializePackageContents();
    theAssemblyPackage.initializePackageContents();
    theBusinessconfigurationPackage.initializePackageContents();
    theExperimentalPackage.initializePackageContents();
    theContext_driversPackage.initializePackageContents();
    theClassesPackage.initializePackageContents();
    theConstraintsPackage.initializePackageContents();
    theQuantitystructurePackage.initializePackageContents();
    theTimedependencyPackage.initializePackageContents();
    theDocumentsPackage.initializePackageContents();
    theGenericsPackage.initializePackageContents();
    theTuplesPackage.initializePackageContents();
    theExpressionsPackage.initializePackageContents();
    theLiteralsPackage.initializePackageContents();
    theCollectionexpressionsPackage.initializePackageContents();
    theFpPackage.initializePackageContents();
    theQueryPackage.initializePackageContents();
    theAnalyticsPackage.initializePackageContents();
    theProcessintegrationPackage.initializePackageContents();
    theXsdPackage.initializePackageContents();
    theBindingPackage.initializePackageContents();
    theLocalizationPackage.initializePackageContents();
    theModelmanagementPackage.initializePackageContents();
    theProcesscomponentsPackage.initializePackageContents();
    theDeploymentunitsPackage.initializePackageContents();
    theActionsPackage_1.initializePackageContents();
    theExpressionsPackage_1.initializePackageContents();
    theData_bindingPackage.initializePackageContents();
    theTemplatesPackage.initializePackageContents();

    // Mark meta-data to indicate it can't be changed
    theAp_runtime_constraintsPackage.freeze();

    // Update the registry and return the package
    EPackage.Registry.INSTANCE.put(
        Ap_runtime_constraintsPackage.eNS_URI, theAp_runtime_constraintsPackage);
    return theAp_runtime_constraintsPackage;
  }