blob: 60cee06df1dad078fc3323dd98906d3ab70f6eaa [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="QVTTemplate"
nsURI="http://www.eclipse.org/qvt/1.0/QVTTemplate" nsPrefix="eqvtt">
<eClassifiers xsi:type="ecore:EClass" name="TemplateExp" abstract="true" eSuperTypes="../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/LiteralExp">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="DomainExists&#xD;&#xA;PatternExists&#xD;&#xA;VariableIsBoundByPattern&#xD;&#xA;VariableTypeIsDeclaredByDomain&#xD;&#xA;WhereIsBoolean&#xD;&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindsTo" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="where" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="owner"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectTemplateExp" eSuperTypes="#//TemplateExp">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="ReferredClassIsDeclaredByDomain&#xD;&#xA;PartsAreUnique&#xD;&#xA;EveryEnforceablePartIsEnforced"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
eType="#//PropertyTemplateItem" containment="true" eOpposite="#//PropertyTemplateItem/objContainer"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredClass" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionTemplateExp" eSuperTypes="#//TemplateExp">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="ReferredCollectionElementTypeIsDeclaredByDomain&#xD;&#xA;EveryMemberTypeMatchesElementType&#xD;&#xA;EveryMemberExpressionVariableIsBoundByPattern&#xD;&#xA;RestTypeMatchesCollectionType&#xD;&#xA;RestVariableIsBoundByPattern&#xD;&#xA;MemberCountSatifiesLowerBound&#xD;&#xA;EveryEnforceableItemIsEnforced&#xD;&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="listContainer"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredCollectionType"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/CollectionType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rest" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="matchingExp"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyTemplateItem" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="ReferredPropertyIsDefinedByReferredClass&#xD;&#xA;ValueElementTypeMatchesReferredPropertyElementType&#xD;&#xA;EveryExpressionVariableIsBoundByPattern&#xD;&#xA;ObjectTypeMatchesPropertyType&#xD;&#xA;CollectionElementTypeMatchesPropertyType&#xD;&#xA;SetMatchesSet&#xD;&#xA;NonBagMatchesNonBag"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="objContainer" lowerBound="1"
eType="#//ObjectTemplateExp" transient="true" eOpposite="#//ObjectTemplateExp/part"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="propertyItem"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="propertyItem"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isOpposite" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
</ecore:EPackage>