| <?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
PatternExists
VariableIsBoundByPattern
VariableTypeIsDeclaredByDomain
WhereIsBoolean
"/> | |
| </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
PartsAreUnique
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
EveryMemberTypeMatchesElementType
EveryMemberExpressionVariableIsBoundByPattern
RestTypeMatchesCollectionType
RestVariableIsBoundByPattern
MemberCountSatifiesLowerBound
EveryEnforceableItemIsEnforced
"/> | |
| </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
ValueElementTypeMatchesReferredPropertyElementType
EveryExpressionVariableIsBoundByPattern
ObjectTypeMatchesPropertyType
CollectionElementTypeMatchesPropertyType
SetMatchesSet
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> |