/**
   * 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 EMFProfilePackage#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 EMFProfilePackage init() {
    if (isInited)
      return (EMFProfilePackage) EPackage.Registry.INSTANCE.getEPackage(EMFProfilePackage.eNS_URI);

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

    isInited = true;

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

    // Create package meta-data objects
    theEMFProfilePackage.createPackageContents();

    // Initialize created meta-data
    theEMFProfilePackage.initializePackageContents();

    // Register package validator
    EValidator.Registry.INSTANCE.put(
        theEMFProfilePackage,
        new EValidator.Descriptor() {
          public EValidator getEValidator() {
            return EMFProfileValidator.INSTANCE;
          }
        });

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

    // Update the registry and return the package
    EPackage.Registry.INSTANCE.put(EMFProfilePackage.eNS_URI, theEMFProfilePackage);
    return theEMFProfilePackage;
  }
/**
 *
 * <!-- 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 org.modelversioning.emfprofile.EMFProfileFactory
 * @model kind="package" annotation="http://www.eclipse.org/emf/2002/Ecore
 *     validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL'"
 * @generated
 */
public interface EMFProfilePackage extends EPackage {
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  String eNAME = "emfprofile";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  String eNS_URI = "http://www.modelversioning.org/emfprofile/1.1";

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

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  EMFProfilePackage eINSTANCE = org.modelversioning.emfprofile.impl.EMFProfilePackageImpl.init();

  /**
   * The meta object id for the '{@link org.modelversioning.emfprofile.impl.ProfileImpl
   * <em>Profile</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see org.modelversioning.emfprofile.impl.ProfileImpl
   * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getProfile()
   * @generated
   */
  int PROFILE = 0;

  /**
   * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__EANNOTATIONS = EcorePackage.EPACKAGE__EANNOTATIONS;

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

  /**
   * The feature id for the '<em><b>Ns URI</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__NS_URI = EcorePackage.EPACKAGE__NS_URI;

  /**
   * The feature id for the '<em><b>Ns Prefix</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__NS_PREFIX = EcorePackage.EPACKAGE__NS_PREFIX;

  /**
   * The feature id for the '<em><b>EFactory Instance</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__EFACTORY_INSTANCE = EcorePackage.EPACKAGE__EFACTORY_INSTANCE;

  /**
   * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__ECLASSIFIERS = EcorePackage.EPACKAGE__ECLASSIFIERS;

  /**
   * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__ESUBPACKAGES = EcorePackage.EPACKAGE__ESUBPACKAGES;

  /**
   * The feature id for the '<em><b>ESuper Package</b></em>' container reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE__ESUPER_PACKAGE = EcorePackage.EPACKAGE__ESUPER_PACKAGE;

  /**
   * The number of structural features of the '<em>Profile</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int PROFILE_FEATURE_COUNT = EcorePackage.EPACKAGE_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.modelversioning.emfprofile.impl.StereotypeImpl
   * <em>Stereotype</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see org.modelversioning.emfprofile.impl.StereotypeImpl
   * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getStereotype()
   * @generated
   */
  int STEREOTYPE = 1;

  /**
   * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;

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

  /**
   * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;

  /**
   * The feature id for the '<em><b>Instance Class</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;

  /**
   * The feature id for the '<em><b>Default Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;

  /**
   * The feature id for the '<em><b>Instance Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__INSTANCE_TYPE_NAME = EcorePackage.ECLASS__INSTANCE_TYPE_NAME;

  /**
   * The feature id for the '<em><b>EPackage</b></em>' container reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;

  /**
   * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__ETYPE_PARAMETERS = EcorePackage.ECLASS__ETYPE_PARAMETERS;

  /**
   * The feature id for the '<em><b>Abstract</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;

  /**
   * The feature id for the '<em><b>Interface</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__INTERFACE = EcorePackage.ECLASS__INTERFACE;

  /**
   * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;

  /**
   * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;

  /**
   * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;

  /**
   * The feature id for the '<em><b>EAll References</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;

  /**
   * The feature id for the '<em><b>EReferences</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;

  /**
   * The feature id for the '<em><b>EAttributes</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;

  /**
   * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;

  /**
   * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;

  /**
   * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;

  /**
   * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;

  /**
   * The feature id for the '<em><b>EID Attribute</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;

  /**
   * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;

  /**
   * The feature id for the '<em><b>EGeneric Super Types</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EGENERIC_SUPER_TYPES = EcorePackage.ECLASS__EGENERIC_SUPER_TYPES;

  /**
   * The feature id for the '<em><b>EAll Generic Super Types</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EALL_GENERIC_SUPER_TYPES = EcorePackage.ECLASS__EALL_GENERIC_SUPER_TYPES;

  /**
   * The feature id for the '<em><b>Icon Path</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__ICON_PATH = EcorePackage.ECLASS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Meta Base</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__META_BASE = EcorePackage.ECLASS_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Extensions</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE__EXTENSIONS = EcorePackage.ECLASS_FEATURE_COUNT + 2;

  /**
   * The number of structural features of the '<em>Stereotype</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int STEREOTYPE_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 3;

  /**
   * The meta object id for the '{@link org.modelversioning.emfprofile.impl.ExtensionImpl
   * <em>Extension</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @see org.modelversioning.emfprofile.impl.ExtensionImpl
   * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getExtension()
   * @generated
   */
  int EXTENSION = 2;

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

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

  /**
   * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int EXTENSION__LOWER_BOUND = 2;

  /**
   * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int EXTENSION__UPPER_BOUND = 3;

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

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

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

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

  /**
   * The number of structural features of the '<em>Extension</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   * @ordered
   */
  int EXTENSION_FEATURE_COUNT = 8;

  /**
   * Returns the meta object for class '{@link org.modelversioning.emfprofile.Profile
   * <em>Profile</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Profile</em>'.
   * @see org.modelversioning.emfprofile.Profile
   * @generated
   */
  EClass getProfile();

  /**
   * Returns the meta object for class '{@link org.modelversioning.emfprofile.Stereotype
   * <em>Stereotype</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Stereotype</em>'.
   * @see org.modelversioning.emfprofile.Stereotype
   * @generated
   */
  EClass getStereotype();

  /**
   * Returns the meta object for the attribute '{@link
   * org.modelversioning.emfprofile.Stereotype#getIconPath <em>Icon Path</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the attribute '<em>Icon Path</em>'.
   * @see org.modelversioning.emfprofile.Stereotype#getIconPath()
   * @see #getStereotype()
   * @generated
   */
  EAttribute getStereotype_IconPath();

  /**
   * Returns the meta object for the attribute '{@link
   * org.modelversioning.emfprofile.Stereotype#isMetaBase <em>Meta Base</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the attribute '<em>Meta Base</em>'.
   * @see org.modelversioning.emfprofile.Stereotype#isMetaBase()
   * @see #getStereotype()
   * @generated
   */
  EAttribute getStereotype_MetaBase();

  /**
   * Returns the meta object for the containment reference list '{@link
   * org.modelversioning.emfprofile.Stereotype#getExtensions <em>Extensions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the containment reference list '<em>Extensions</em>'.
   * @see org.modelversioning.emfprofile.Stereotype#getExtensions()
   * @see #getStereotype()
   * @generated
   */
  EReference getStereotype_Extensions();

  /**
   * Returns the meta object for class '{@link org.modelversioning.emfprofile.Extension
   * <em>Extension</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for class '<em>Extension</em>'.
   * @see org.modelversioning.emfprofile.Extension
   * @generated
   */
  EClass getExtension();

  /**
   * Returns the meta object for the container reference '{@link
   * org.modelversioning.emfprofile.Extension#getSource <em>Source</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the container reference '<em>Source</em>'.
   * @see org.modelversioning.emfprofile.Extension#getSource()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Source();

  /**
   * Returns the meta object for the reference '{@link
   * org.modelversioning.emfprofile.Extension#getTarget <em>Target</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference '<em>Target</em>'.
   * @see org.modelversioning.emfprofile.Extension#getTarget()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Target();

  /**
   * Returns the meta object for the attribute '{@link
   * org.modelversioning.emfprofile.Extension#getLowerBound <em>Lower Bound</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the attribute '<em>Lower Bound</em>'.
   * @see org.modelversioning.emfprofile.Extension#getLowerBound()
   * @see #getExtension()
   * @generated
   */
  EAttribute getExtension_LowerBound();

  /**
   * Returns the meta object for the attribute '{@link
   * org.modelversioning.emfprofile.Extension#getUpperBound <em>Upper Bound</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the attribute '<em>Upper Bound</em>'.
   * @see org.modelversioning.emfprofile.Extension#getUpperBound()
   * @see #getExtension()
   * @generated
   */
  EAttribute getExtension_UpperBound();

  /**
   * Returns the meta object for the reference list '{@link
   * org.modelversioning.emfprofile.Extension#getRedefined <em>Redefined</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference list '<em>Redefined</em>'.
   * @see org.modelversioning.emfprofile.Extension#getRedefined()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Redefined();

  /**
   * Returns the meta object for the reference list '{@link
   * org.modelversioning.emfprofile.Extension#getSubsetted <em>Subsetted</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference list '<em>Subsetted</em>'.
   * @see org.modelversioning.emfprofile.Extension#getSubsetted()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Subsetted();

  /**
   * Returns the meta object for the reference list '{@link
   * org.modelversioning.emfprofile.Extension#getRedefining <em>Redefining</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference list '<em>Redefining</em>'.
   * @see org.modelversioning.emfprofile.Extension#getRedefining()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Redefining();

  /**
   * Returns the meta object for the reference list '{@link
   * org.modelversioning.emfprofile.Extension#getSubsetting <em>Subsetting</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return the meta object for the reference list '<em>Subsetting</em>'.
   * @see org.modelversioning.emfprofile.Extension#getSubsetting()
   * @see #getExtension()
   * @generated
   */
  EReference getExtension_Subsetting();

  /**
   * 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
   */
  EMFProfileFactory getEMFProfileFactory();

  /**
   *
   * <!-- 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 org.modelversioning.emfprofile.impl.ProfileImpl
     * <em>Profile</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see org.modelversioning.emfprofile.impl.ProfileImpl
     * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getProfile()
     * @generated
     */
    EClass PROFILE = eINSTANCE.getProfile();

    /**
     * The meta object literal for the '{@link org.modelversioning.emfprofile.impl.StereotypeImpl
     * <em>Stereotype</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see org.modelversioning.emfprofile.impl.StereotypeImpl
     * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getStereotype()
     * @generated
     */
    EClass STEREOTYPE = eINSTANCE.getStereotype();

    /**
     * The meta object literal for the '<em><b>Icon Path</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EAttribute STEREOTYPE__ICON_PATH = eINSTANCE.getStereotype_IconPath();

    /**
     * The meta object literal for the '<em><b>Meta Base</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EAttribute STEREOTYPE__META_BASE = eINSTANCE.getStereotype_MetaBase();

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

    /**
     * The meta object literal for the '{@link org.modelversioning.emfprofile.impl.ExtensionImpl
     * <em>Extension</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @see org.modelversioning.emfprofile.impl.ExtensionImpl
     * @see org.modelversioning.emfprofile.impl.EMFProfilePackageImpl#getExtension()
     * @generated
     */
    EClass EXTENSION = eINSTANCE.getExtension();

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

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

    /**
     * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EAttribute EXTENSION__LOWER_BOUND = eINSTANCE.getExtension_LowerBound();

    /**
     * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EAttribute EXTENSION__UPPER_BOUND = eINSTANCE.getExtension_UpperBound();

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

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

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

    /**
     * The meta object literal for the '<em><b>Subsetting</b></em>' reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     *
     * @generated
     */
    EReference EXTENSION__SUBSETTING = eINSTANCE.getExtension_Subsetting();
  }
} // EMFProfilePackage