/**
 */
package com.irtsaintexupery.pseim.mapping;

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 com.irtsaintexupery.pseim.mapping.MappingFactory
 * @model kind="package"
 *        annotation="http://www.eclipse.org/OCL/Import ecore='http://www.eclipse.org/emf/2002/Ecore' pseim='pseim.ecore#/' seim='seim.ecore#/'"
 *        annotation="http://www.eclipse.org/emf/2002/Ecore invocationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' settingDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot'"
 * @generated
 */
public interface MappingPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "mapping";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://www.irit.fr/patterns/mapping/0.1";

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

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	MappingPackage eINSTANCE = com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl.init();

	/**
	 * The meta object id for the '{@link com.irtsaintexupery.pseim.mapping.impl.PatternApplicationImpl <em>Pattern Application</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see com.irtsaintexupery.pseim.mapping.impl.PatternApplicationImpl
	 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getPatternApplication()
	 * @generated
	 */
	int PATTERN_APPLICATION = 0;

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

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

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

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

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

	/**
	 * The number of structural features of the '<em>Pattern Application</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERN_APPLICATION_FEATURE_COUNT = 5;

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

	/**
	 * The meta object id for the '{@link com.irtsaintexupery.pseim.mapping.impl.CardinalityValueImpl <em>Cardinality Value</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see com.irtsaintexupery.pseim.mapping.impl.CardinalityValueImpl
	 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getCardinalityValue()
	 * @generated
	 */
	int CARDINALITY_VALUE = 1;

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

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

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

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

	/**
	 * The meta object id for the '{@link com.irtsaintexupery.pseim.mapping.impl.PortMappingImpl <em>Port Mapping</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see com.irtsaintexupery.pseim.mapping.impl.PortMappingImpl
	 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getPortMapping()
	 * @generated
	 */
	int PORT_MAPPING = 2;

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

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

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

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

	/**
	 * The meta object id for the '{@link com.irtsaintexupery.pseim.mapping.impl.GraphElementMappingImpl <em>Graph Element Mapping</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see com.irtsaintexupery.pseim.mapping.impl.GraphElementMappingImpl
	 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getGraphElementMapping()
	 * @generated
	 */
	int GRAPH_ELEMENT_MAPPING = 3;

	/**
	 * The feature id for the '<em><b>Model Graph Element</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int GRAPH_ELEMENT_MAPPING__MODEL_GRAPH_ELEMENT = 0;

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

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

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


	/**
	 * Returns the meta object for class '{@link com.irtsaintexupery.pseim.mapping.PatternApplication <em>Pattern Application</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Pattern Application</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication
	 * @generated
	 */
	EClass getPatternApplication();

	/**
	 * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.pseim.mapping.PatternApplication#getCardinalityValues <em>Cardinality Values</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Cardinality Values</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication#getCardinalityValues()
	 * @see #getPatternApplication()
	 * @generated
	 */
	EReference getPatternApplication_CardinalityValues();

	/**
	 * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.pseim.mapping.PatternApplication#getPortMapping <em>Port Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Port Mapping</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication#getPortMapping()
	 * @see #getPatternApplication()
	 * @generated
	 */
	EReference getPatternApplication_PortMapping();

	/**
	 * Returns the meta object for the reference '{@link com.irtsaintexupery.pseim.mapping.PatternApplication#getPattern <em>Pattern</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Pattern</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication#getPattern()
	 * @see #getPatternApplication()
	 * @generated
	 */
	EReference getPatternApplication_Pattern();

	/**
	 * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.pseim.mapping.PatternApplication#getModelElement <em>Model Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Model Element</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication#getModelElement()
	 * @see #getPatternApplication()
	 * @generated
	 */
	EReference getPatternApplication_ModelElement();

	/**
	 * Returns the meta object for the reference '{@link com.irtsaintexupery.pseim.mapping.PatternApplication#getModel <em>Model</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Model</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PatternApplication#getModel()
	 * @see #getPatternApplication()
	 * @generated
	 */
	EReference getPatternApplication_Model();

	/**
	 * Returns the meta object for class '{@link com.irtsaintexupery.pseim.mapping.CardinalityValue <em>Cardinality Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Cardinality Value</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.CardinalityValue
	 * @generated
	 */
	EClass getCardinalityValue();

	/**
	 * Returns the meta object for the reference '{@link com.irtsaintexupery.pseim.mapping.CardinalityValue#getCardinalityElement <em>Cardinality Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Cardinality Element</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.CardinalityValue#getCardinalityElement()
	 * @see #getCardinalityValue()
	 * @generated
	 */
	EReference getCardinalityValue_CardinalityElement();

	/**
	 * Returns the meta object for the attribute '{@link com.irtsaintexupery.pseim.mapping.CardinalityValue#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.CardinalityValue#getValue()
	 * @see #getCardinalityValue()
	 * @generated
	 */
	EAttribute getCardinalityValue_Value();

	/**
	 * Returns the meta object for class '{@link com.irtsaintexupery.pseim.mapping.PortMapping <em>Port Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Port Mapping</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PortMapping
	 * @generated
	 */
	EClass getPortMapping();

	/**
	 * Returns the meta object for the reference list '{@link com.irtsaintexupery.pseim.mapping.PortMapping#getModelPort <em>Model Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Model Port</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PortMapping#getModelPort()
	 * @see #getPortMapping()
	 * @generated
	 */
	EReference getPortMapping_ModelPort();

	/**
	 * Returns the meta object for the reference '{@link com.irtsaintexupery.pseim.mapping.PortMapping#getPatternPort <em>Pattern Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Pattern Port</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.PortMapping#getPatternPort()
	 * @see #getPortMapping()
	 * @generated
	 */
	EReference getPortMapping_PatternPort();

	/**
	 * Returns the meta object for class '{@link com.irtsaintexupery.pseim.mapping.GraphElementMapping <em>Graph Element Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Graph Element Mapping</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.GraphElementMapping
	 * @generated
	 */
	EClass getGraphElementMapping();

	/**
	 * Returns the meta object for the reference list '{@link com.irtsaintexupery.pseim.mapping.GraphElementMapping#getModelGraphElement <em>Model Graph Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Model Graph Element</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.GraphElementMapping#getModelGraphElement()
	 * @see #getGraphElementMapping()
	 * @generated
	 */
	EReference getGraphElementMapping_ModelGraphElement();

	/**
	 * Returns the meta object for the reference '{@link com.irtsaintexupery.pseim.mapping.GraphElementMapping#getPatternGraphElement <em>Pattern Graph Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Pattern Graph Element</em>'.
	 * @see com.irtsaintexupery.pseim.mapping.GraphElementMapping#getPatternGraphElement()
	 * @see #getGraphElementMapping()
	 * @generated
	 */
	EReference getGraphElementMapping_PatternGraphElement();

	/**
	 * 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
	 */
	MappingFactory getMappingFactory();

	/**
	 * <!-- 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 com.irtsaintexupery.pseim.mapping.impl.PatternApplicationImpl <em>Pattern Application</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see com.irtsaintexupery.pseim.mapping.impl.PatternApplicationImpl
		 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getPatternApplication()
		 * @generated
		 */
		EClass PATTERN_APPLICATION = eINSTANCE.getPatternApplication();

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

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

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

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

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

		/**
		 * The meta object literal for the '{@link com.irtsaintexupery.pseim.mapping.impl.CardinalityValueImpl <em>Cardinality Value</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see com.irtsaintexupery.pseim.mapping.impl.CardinalityValueImpl
		 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getCardinalityValue()
		 * @generated
		 */
		EClass CARDINALITY_VALUE = eINSTANCE.getCardinalityValue();

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

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

		/**
		 * The meta object literal for the '{@link com.irtsaintexupery.pseim.mapping.impl.PortMappingImpl <em>Port Mapping</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see com.irtsaintexupery.pseim.mapping.impl.PortMappingImpl
		 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getPortMapping()
		 * @generated
		 */
		EClass PORT_MAPPING = eINSTANCE.getPortMapping();

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

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

		/**
		 * The meta object literal for the '{@link com.irtsaintexupery.pseim.mapping.impl.GraphElementMappingImpl <em>Graph Element Mapping</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see com.irtsaintexupery.pseim.mapping.impl.GraphElementMappingImpl
		 * @see com.irtsaintexupery.pseim.mapping.impl.MappingPackageImpl#getGraphElementMapping()
		 * @generated
		 */
		EClass GRAPH_ELEMENT_MAPPING = eINSTANCE.getGraphElementMapping();

		/**
		 * The meta object literal for the '<em><b>Model Graph Element</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference GRAPH_ELEMENT_MAPPING__MODEL_GRAPH_ELEMENT = eINSTANCE.getGraphElementMapping_ModelGraphElement();

		/**
		 * The meta object literal for the '<em><b>Pattern Graph Element</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference GRAPH_ELEMENT_MAPPING__PATTERN_GRAPH_ELEMENT = eINSTANCE.getGraphElementMapping_PatternGraphElement();

	}

} //MappingPackage
