blob: 9ddc7f344f48f5b5af7f66daffca1c9b3cf01780 [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="abapmapping"
nsURI="http://eclipse.org/ocl/examples/impactanalyzer/testmodel/ngpm/abapmapping.ecore"
nsPrefix="abapmapping">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="AbapClassImplementationAnnotation">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="AbapTypeMustBeUnstructured" value="self.kind = AbapClassKind::ABAP_TYPE implies&#xD;&#xA; self.abapType.oclIsKindOf(abapmapping::abapdictionary::UnstructuredAbapType)"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="AbapTypeMustBeUnstructured"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" unique="false"
lowerBound="1" eType="#//AbapClassKind"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abapType" lowerBound="1"
eType="#//abapdictionary/AbapType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbapAssociationImplementationAnnotation"/>
<eClassifiers xsi:type="ecore:EClass" name="AbapAssociationEndImplementationAnnotation"/>
<eClassifiers xsi:type="ecore:EClass" name="AbapSignatureImplementationAnnotation">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" unique="false"
lowerBound="1" eType="#//AbapSignatureKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="AbapClassKind">
<eLiterals name="BO_AND_ROOT_NODE"/>
<eLiterals name="BO_NODE" value="1"/>
<eLiterals name="DEPENDENT_OBJECT" value="2"/>
<eLiterals name="DATA_TYPE" value="3"/>
<eLiterals name="ABAP_TYPE" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="AbapSignatureKind">
<eLiterals name="QUERY"/>
<eLiterals name="ACTION" value="1"/>
</eClassifiers>
<eSubpackages name="abapdictionary" nsURI="http://eclipse.org/ocl/examples/impactanalyzer/testmodel/ngpm/abapmapping/abapdictionary.ecore"
nsPrefix="abapmapping.abapdictionary">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="XsdType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="xsdType" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pattern" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="totalDigits" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fractionDigits" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnstructuredAbapType" eSuperTypes="#//abapdictionary/AbapType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Like any AbapType, mapped to a Class with the corresponding annotations."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CodeValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="We deliberately reduced code values to unstructured, primitive values. Those examples that we are aware of where codes are of structured types only contain unmaintained attributes such as LIST_AGENCY_IDs and other supplementary components that can in our opinion safely be omitted for the time being."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="description" ordered="false"
unique="false" lowerBound="1" eType="ecore:EClass localization.ecore#//TranslatableText"
containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1"
eType="#//abapdictionary/AbapPrimtiveType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Code" eSuperTypes="#//abapdictionary/DataElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="TypeOfValuesEqualsAbapType" value="self.values->forAll(cv:CodeValue |&#xD;&#xA; cv.type = self.abapType)"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="TypeOfValuesEqualsAbapType"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="extensible" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
eType="#//abapdictionary/CodeValue" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataElement" eSuperTypes="#//abapdictionary/UnstructuredAbapType">
<eStructuralFeatures xsi:type="ecore:EReference" name="abapType" lowerBound="1"
eType="#//abapdictionary/AbapPrimtiveType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbapType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="xsdRepresentation" lowerBound="1"
eType="#//abapdictionary/XsdType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbapStructureType" eSuperTypes="#//abapdictionary/AbapType">
<eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1"
eType="#//abapdictionary/AbapStructureField"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbapStructureField">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1"
eType="#//abapdictionary/AbapType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbapPrimtiveType" eSuperTypes="#//abapdictionary/UnstructuredAbapType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
</eClassifiers>
</eSubpackages>
</ecore:EPackage>