Commit 01a4f639 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ meta-model implementation refinements

* conformsTo operation refinement (element conforms to self)
+ allConstraints generic implementation for DataType and specialised for simpleDataType and structuredDataType
+ resolveDataType for AnyValue
+ corresponding genmodel updates
parent b82264ee
Loading
Loading
Loading
Loading
+68 −33

File changed.

Preview size limit exceeded, changes collapsed.

+8 −1
Original line number Diff line number Diff line
@@ -176,8 +176,11 @@
      <genOperations ecoreOperation="tdl.ecore#//PackageableElement/conformsTo">
        <genParameters ecoreParameter="tdl.ecore#//PackageableElement/conformsTo/n"/>
      </genOperations>
      <genOperations ecoreOperation="tdl.ecore#//PackageableElement/getElementNamed">
        <genParameters ecoreParameter="tdl.ecore#//PackageableElement/getElementNamed/n"/>
      </genOperations>
      <genOperations ecoreOperation="tdl.ecore#//PackageableElement/conformsTo.1">
        <genParameters ecoreParameter="tdl.ecore#//PackageableElement/conformsTo.1/e"/>
        <genParameters ecoreParameter="tdl.ecore#//PackageableElement/conformsTo.1/element"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="tdl.ecore#//NamedElement">
@@ -202,6 +205,7 @@
    <genClasses image="false" ecoreClass="tdl.ecore#//MappableDataElement"/>
    <genClasses image="false" ecoreClass="tdl.ecore#//DataType">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//DataType/constraint"/>
      <genOperations ecoreOperation="tdl.ecore#//DataType/allConstraints"/>
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//DataResourceMapping">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//DataResourceMapping/resourceURI"/>
@@ -221,12 +225,14 @@
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//SimpleDataType">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//SimpleDataType/extension"/>
      <genOperations ecoreOperation="tdl.ecore#//SimpleDataType/allConstraints"/>
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//SimpleDataInstance"/>
    <genClasses ecoreClass="tdl.ecore#//StructuredDataType">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//StructuredDataType/extension"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//StructuredDataType/member"/>
      <genOperations ecoreOperation="tdl.ecore#//StructuredDataType/allMembers"/>
      <genOperations ecoreOperation="tdl.ecore#//StructuredDataType/allConstraints"/>
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//Member">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//Member/isOptional"/>
@@ -305,6 +311,7 @@
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//AnyValue">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//AnyValue/dataType"/>
      <genOperations ecoreOperation="tdl.ecore#//AnyValue/resolveDataType"/>
    </genClasses>
    <genClasses ecoreClass="tdl.ecore#//AnyValueOrOmit"/>
    <genClasses ecoreClass="tdl.ecore#//DataInstanceUse">