/**
 */
package myDsl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each operation of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see myDsl.MyDslFactory
 * @model kind="package"
 * @generated
 */
public interface MyDslPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "myDsl";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://www.xtext.org/example/mydsl/MyDsl";

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

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	MyDslPackage eINSTANCE = myDsl.impl.MyDslPackageImpl.init();

	/**
	 * The meta object id for the '{@link myDsl.impl.ModelImpl <em>Model</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see myDsl.impl.ModelImpl
	 * @see myDsl.impl.MyDslPackageImpl#getModel()
	 * @generated
	 */
	int MODEL = 0;

	/**
	 * The feature id for the '<em><b>Class As</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL__CLASS_AS = 0;

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

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

	/**
	 * The number of operations of the '<em>Model</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL_OPERATION_COUNT = 0;

	/**
	 * The meta object id for the '{@link myDsl.impl.ClassBImpl <em>Class B</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see myDsl.impl.ClassBImpl
	 * @see myDsl.impl.MyDslPackageImpl#getClassB()
	 * @generated
	 */
	int CLASS_B = 1;

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

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

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

	/**
	 * The number of structural features of the '<em>Class B</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLASS_B_FEATURE_COUNT = 3;

	/**
	 * The number of operations of the '<em>Class B</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLASS_B_OPERATION_COUNT = 0;

	/**
	 * The meta object id for the '{@link myDsl.impl.ClassAImpl <em>Class A</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see myDsl.impl.ClassAImpl
	 * @see myDsl.impl.MyDslPackageImpl#getClassA()
	 * @generated
	 */
	int CLASS_A = 2;

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

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

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

	/**
	 * The number of structural features of the '<em>Class A</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLASS_A_FEATURE_COUNT = 3;

	/**
	 * The number of operations of the '<em>Class A</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLASS_A_OPERATION_COUNT = 0;

	/**
	 * Returns the meta object for class '{@link myDsl.Model <em>Model</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Model</em>'.
	 * @see myDsl.Model
	 * @generated
	 */
	EClass getModel();

	/**
	 * Returns the meta object for the containment reference list '{@link myDsl.Model#getClassAs <em>Class As</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Class As</em>'.
	 * @see myDsl.Model#getClassAs()
	 * @see #getModel()
	 * @generated
	 */
	EReference getModel_ClassAs();

	/**
	 * Returns the meta object for the attribute '{@link myDsl.Model#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see myDsl.Model#getName()
	 * @see #getModel()
	 * @generated
	 */
	EAttribute getModel_Name();

	/**
	 * Returns the meta object for class '{@link myDsl.ClassB <em>Class B</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Class B</em>'.
	 * @see myDsl.ClassB
	 * @generated
	 */
	EClass getClassB();

	/**
	 * Returns the meta object for the attribute '{@link myDsl.ClassB#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see myDsl.ClassB#getName()
	 * @see #getClassB()
	 * @generated
	 */
	EAttribute getClassB_Name();

	/**
	 * Returns the meta object for the container reference '{@link myDsl.ClassB#getSource <em>Source</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the container reference '<em>Source</em>'.
	 * @see myDsl.ClassB#getSource()
	 * @see #getClassB()
	 * @generated
	 */
	EReference getClassB_Source();

	/**
	 * Returns the meta object for the reference '{@link myDsl.ClassB#getTarget <em>Target</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Target</em>'.
	 * @see myDsl.ClassB#getTarget()
	 * @see #getClassB()
	 * @generated
	 */
	EReference getClassB_Target();

	/**
	 * Returns the meta object for class '{@link myDsl.ClassA <em>Class A</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Class A</em>'.
	 * @see myDsl.ClassA
	 * @generated
	 */
	EClass getClassA();

	/**
	 * Returns the meta object for the attribute '{@link myDsl.ClassA#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see myDsl.ClassA#getName()
	 * @see #getClassA()
	 * @generated
	 */
	EAttribute getClassA_Name();

	/**
	 * Returns the meta object for the containment reference list '{@link myDsl.ClassA#getClassb <em>Classb</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Classb</em>'.
	 * @see myDsl.ClassA#getClassb()
	 * @see #getClassA()
	 * @generated
	 */
	EReference getClassA_Classb();

	/**
	 * Returns the meta object for the reference list '{@link myDsl.ClassA#getReferingbs <em>Referingbs</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Referingbs</em>'.
	 * @see myDsl.ClassA#getReferingbs()
	 * @see #getClassA()
	 * @generated
	 */
	EReference getClassA_Referingbs();

	/**
	 * 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
	 */
	MyDslFactory getMyDslFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each operation of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link myDsl.impl.ModelImpl <em>Model</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see myDsl.impl.ModelImpl
		 * @see myDsl.impl.MyDslPackageImpl#getModel()
		 * @generated
		 */
		EClass MODEL = eINSTANCE.getModel();

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

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

		/**
		 * The meta object literal for the '{@link myDsl.impl.ClassBImpl <em>Class B</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see myDsl.impl.ClassBImpl
		 * @see myDsl.impl.MyDslPackageImpl#getClassB()
		 * @generated
		 */
		EClass CLASS_B = eINSTANCE.getClassB();

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

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

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

		/**
		 * The meta object literal for the '{@link myDsl.impl.ClassAImpl <em>Class A</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see myDsl.impl.ClassAImpl
		 * @see myDsl.impl.MyDslPackageImpl#getClassA()
		 * @generated
		 */
		EClass CLASS_A = eINSTANCE.getClassA();

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

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

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

	}

} //MyDslPackage
