blob: 52eac3a53b3af4b5a861ac11bd2a03701929f11a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="migration"
nsURI="http://www.eclipse.org/emf/edapt/migration/0.3" nsPrefix="migration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Metamodel to represent models during migration"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="Repository">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The repository to migrate the model conforming to a metamodel"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//Model"
containment="true" eOpposite="#//Model/repository">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the model of this repository"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" lowerBound="1"
eType="#//Metamodel" containment="true" eOpposite="#//Metamodel/repository">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The metamodel of this repository"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The model in the repository consisting of several resources"/>
</eAnnotations>
<eOperations name="getAllInstances" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all instances of a class, including all sub classes"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="getAllInstances" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all instances of a class, including all sub classes"/>
</eAnnotations>
<eParameters name="className" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getInstances" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all instances of a class, excluding sub classes"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="getInstances" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all instances of a class, excluding sub classes"/>
</eAnnotations>
<eParameters name="className" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getType" eType="#//Type">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the container for instances that conform to a certain class"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="createExtentMap" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Create a map to access instances by their class"/>
</eAnnotations>
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
<eTypeArguments eClassifier="#//Set">
<eTypeArguments eClassifier="#//Instance"/>
</eTypeArguments>
</eGenericType>
</eOperations>
<eOperations name="newInstance" lowerBound="1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Create a new instance of a certain class"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="newInstance" lowerBound="1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Create a new instance of a certain class"/>
</eAnnotations>
<eParameters name="className" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="delete">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Delete an instance from the model, including all the contained instances"/>
</eAnnotations>
<eParameters name="instance" lowerBound="1" eType="#//Instance"/>
</eOperations>
<eOperations name="validate" eExceptions="#//MigrationException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Validate the model"/>
</eAnnotations>
</eOperations>
<eOperations name="checkConformance" eExceptions="#//MigrationException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Check whether the model conforms to the metamodel"/>
</eAnnotations>
</eOperations>
<eOperations name="commit" eExceptions="#//MigrationException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Commit the changes to the repository, i.e. check conformance and consistency"/>
</eAnnotations>
</eOperations>
<eOperations name="newResource" lowerBound="1" eType="#//ModelResource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Create a new model resource"/>
</eAnnotations>
<eParameters name="uri" lowerBound="1" eType="#//URI"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" eType="#//Metamodel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the metamodel to which this model conforms"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
eType="#//Type" containment="true" eOpposite="#//Type/model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Containers for the classes from which instances exist"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="reflection" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Whether the reflection interface allows to access the real model structure"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="resources" upperBound="-1"
eType="#//ModelResource" containment="true" eOpposite="#//ModelResource/model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resources of which this model consists"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="repository" eType="#//Repository"
eOpposite="#//Repository/model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Repository to which this model belongs"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelResource" eSuperTypes="#//AbstractResource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resource for model parts"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootInstances" upperBound="-1"
eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The instances which are the root elements of the resource"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//Model"
eOpposite="#//Model/resources"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Type">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A container for instances of a certain class"/>
</eAnnotations>
<eOperations name="newInstance" lowerBound="1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Create an instance of the type"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="eClass" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the class to which the instances of this type conform"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
eType="#//Instance" containment="true" eOpposite="#//Instance/type">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the instances that conform to the class"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//Model"
eOpposite="#//Model/types">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the model by which these instances are contained"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="validContainment validType"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="An instance of a class"/>
</eAnnotations>
<eOperations name="getSlot" eType="#//Slot">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the slot that conforms to the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
</eOperations>
<eOperations name="get">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the value of the feature"/>
</eAnnotations>
<eGenericType eTypeParameter="#//Instance/get/V"/>
<eTypeParameters name="V"/>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
</eParameters>
</eOperations>
<eOperations name="get">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the value of the feature which is given by its name"/>
</eAnnotations>
<eGenericType eTypeParameter="#//Instance/get.1/V"/>
<eTypeParameters name="V"/>
<eParameters name="featureName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getInverse" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the instances that refer to this instance through a reference"/>
</eAnnotations>
<eParameters name="reference" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eOperations>
<eOperations name="getInverse" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the instances which refer to this instance through a reference (given by its name)"/>
</eAnnotations>
<eParameters name="referenceName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the class to which the instance conforms"/>
</eAnnotations>
</eOperations>
<eOperations name="isSet" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Check whether the value of a feature is set"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
</eOperations>
<eOperations name="set">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Set the value of the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="set">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Set the value of a feature which is given by its name"/>
</eAnnotations>
<eParameters name="featureName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="unset">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Unset the value of the feature"/>
</eAnnotations>
<eGenericType eTypeParameter="#//Instance/unset/V"/>
<eTypeParameters name="V"/>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
</eOperations>
<eOperations name="add">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Add an element at a certain position to the value of the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
<eParameters name="index" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="add">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Add an element to the value of the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="add">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Add an element to the value of a feature which is given by its name"/>
</eAnnotations>
<eParameters name="featureName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="add">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Add an element at a certain position to the value of a feature which is given by its name"/>
</eAnnotations>
<eParameters name="featureName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="index" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="remove">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Remove an element from the value of the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="remove">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Remove an element at a certain position from the value of the feature"/>
</eAnnotations>
<eParameters name="feature" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/>
<eParameters name="index" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eOperations>
<eOperations name="remove">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Remove an element from the value of a feature which is given by its name"/>
</eAnnotations>
<eParameters name="featureName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eOperations>
<eOperations name="migrate">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Change the type of instance to a different class"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="migrate">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Change the type of instance to a different class which is given by its name"/>
</eAnnotations>
<eParameters name="className" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="instanceOf" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Check whether the instance is of a certain type (or its sub types)"/>
</eAnnotations>
<eParameters name="eClass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="instanceOf" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Check whether the instance is of a certain type (or its sub types)"/>
</eAnnotations>
<eParameters name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getContainer" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the element by which the instance is contained"/>
</eAnnotations>
</eOperations>
<eOperations name="getContents" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the elements which are contained by the instance"/>
</eAnnotations>
</eOperations>
<eOperations name="getContainerReference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the reference by which the instance is contained"/>
</eAnnotations>
</eOperations>
<eOperations name="getResource" eType="#//ModelResource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the resource in which this instance is contained"/>
</eAnnotations>
</eOperations>
<eOperations name="isProxy" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Find out whether the instance is a proxy, i.e. has its URI set"/>
</eAnnotations>
</eOperations>
<eOperations name="copy" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Copy this instance, including its contents"/>
</eAnnotations>
</eOperations>
<eOperations name="getLink" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the value of a single-valued reference which is given by its name"/>
</eAnnotations>
<eParameters name="referenceName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getLinks" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the value of a multi-valued reference which is given by its name"/>
</eAnnotations>
<eParameters name="referenceName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getLink" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the value of a single-valued reference"/>
</eAnnotations>
<eParameters name="reference" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eOperations>
<eOperations name="getLinks" upperBound="-1" eType="#//Instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the values of a multi-valued reference"/>
</eAnnotations>
<eParameters name="reference" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eOperations>
<eOperations name="validate" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Validate the elements rooted at the instance"/>
</eAnnotations>
</eOperations>
<eOperations name="validate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Validate the elements rooted at the instance and add all the violations to a diagnostic"/>
</eAnnotations>
<eParameters name="chain" eType="#//DiagnosticChain"/>
</eOperations>
<eOperations name="evaluate" eExceptions="#//MigrationException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Evaluate an OCL constraint with the instance as context"/>
</eAnnotations>
<eGenericType eTypeParameter="#//Instance/evaluate/V"/>
<eTypeParameters name="V"/>
<eParameters name="expression" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="slots" upperBound="-1"
eType="#//Slot" containment="true" eOpposite="#//Slot/instance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The slots defined by the instance"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Type"
eOpposite="#//Type/instances">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The type container to which the instance belongs"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1"
eType="#//ReferenceSlot" eOpposite="#//ReferenceSlot/values">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The slots from which the instance is referenced"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="#//URI">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The Uniform Resource Identifier (URI) of the instance in case the instance is a proxy"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uuid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The unique and unchangeable identifier of the instance"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Slot" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="validFeature validMultiplicity"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A slot holds the values of a feature"/>
</eAnnotations>
<eOperations name="getEFeature" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the feature to which the slot conforms"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="instance" lowerBound="1"
eType="#//Instance" eOpposite="#//Instance/slots">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The instance to which this slot belongs"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeSlot" eSuperTypes="#//Slot">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A slot for the values of an attribute"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="eAttribute" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EAttribute">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The attribute to which the slot conforms"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="values" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The values of an attribute slot"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceSlot" eSuperTypes="#//Slot">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="validType noDanglingReference validOpposite"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A slot for the values of a reference"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="eReference" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The reference to which the slot conforms"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
eType="#//Instance" eOpposite="#//Instance/references">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The values of the reference slot"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Metamodel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The metamodel in the repository consisting of several resources"/>
</eAnnotations>
<eOperations name="getEPackage" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a package of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEClassifier" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClassifier">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a classifier of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEFeature" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a feature of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEClass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a class of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEReference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a reference of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEAttribute" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EAttribute">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve an attribute of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEDataType" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EDataType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a data type of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EModelElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve a metamodel element by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="validate" eExceptions="#//MigrationException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Validate the metamodel"/>
</eAnnotations>
</eOperations>
<eOperations name="getEPackages" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The root packages of all resources of which the metamodel consists"/>
</eAnnotations>
</eOperations>
<eOperations name="setDefaultPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Set the package used as default to resolve metamodel elements"/>
</eAnnotations>
<eParameters name="packageName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEEnum" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EEnum">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve an enumeration of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getEEnumLiteral" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EEnumLiteral">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resolve an enumeration literal of the metamodel by its fully qualified name"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="delete">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Delete an element from the metamodel"/>
</eAnnotations>
<eParameters name="metamodelElement" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EModelElement"/>
</eOperations>
<eOperations name="getInverse" upperBound="-1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get the metamodel elements that refer to a certain metamodel elements through a reference"/>
</eAnnotations>
<eGenericType eTypeParameter="#//Metamodel/getInverse/V"/>
<eTypeParameters name="V"/>
<eParameters name="metamodelElement" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EModelElement"/>
<eParameters name="reference" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eOperations>
<eOperations name="getESubTypes" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all direct sub types of a class"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="getEAllSubTypes" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Get all direct and indirect sub types of a class"/>
</eAnnotations>
<eParameters name="eClass" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
</eOperations>
<eOperations name="setEOpposite">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Set the opposite of a reference, adapting opposite values in the model"/>
</eAnnotations>
<eParameters name="reference" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
<eParameters name="opposite" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="resources" upperBound="-1"
eType="#//MetamodelResource" containment="true" eOpposite="#//MetamodelResource/metamodel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The resources of which this metamodel consists"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="repository" eType="#//Repository"
eOpposite="#//Repository/metamodel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The repository to which the metamodel belongs"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="defaultPackage" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Packages that constitute the root of a metamodel resource"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MetamodelResource" eSuperTypes="#//AbstractResource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Resource for metamodel parts"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootPackages" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Packages that constitute the root of a metamodel resource"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" eType="#//Metamodel"
eOpposite="#//Metamodel/resources"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractResource" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Base class for model and metamodel resources"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" lowerBound="1" eType="#//URI">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Uniform Resource Identifier (URI) of this resource"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="encoding" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Set" instanceClassName="java.util.Set"
serializable="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Set of elements"/>
</eAnnotations>
<eTypeParameters name="E"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="DiagnosticChain" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="An accumulator of diagnostics"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="URI" instanceClassName="org.eclipse.emf.common.util.URI">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Representation of a Uniform Resource Identifier (URI) for resources"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="DiagnosticException" instanceClassName="org.eclipse.emf.edapt.migration.DiagnosticException">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Exception that encapsulates constraint violations"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="MigrationException" instanceClassName="org.eclipse.emf.edapt.migration.MigrationException"
serializable="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Exception indicating a failure to parse or validate OCL constraints"/>
</eAnnotations>
</eClassifiers>
</ecore:EPackage>