[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmf] Re: Link ending in a compartment

Hi Alex,

Thanks, now I can see my properties (like in attached screenshot) and end link to them. Now I would like to hide rectangle and layout my properties normally like uml2tools do with ClassFigure. I have set a StackLayout on my Compartment.

Also where can I find semantic description of all GMF metamodels (gmfgraph, gmfmap, ...)? GMF Javadoc doesn't contains metamodels diagrams like in EMF Javadoc.

Thanks Alex.

Alex Shatalin a Ãcrit :
Hello Esteban,

If I set "List Layout" in my gmfgen to false, my compartment elements
disappears.
This is strange.

I would like to add link ending to property like in UMLClass with a
If you need to create links to child elements inside a compartment (this question is a bit different from the original one) then you have to create composite figure in .gmfgraph model for this child element. By composite figure I mean rectangle with labels in it, appropriate accessors to these labels, Diagram Node and Diagram labels referencing created FigureDescriptor + accessors (for labels) and finally use these elements in child node mapping - point to the corresponding DiagramNode/Labels in child NodeMapping/FeatureLabelMappings.


----------------- Alex Shatalin



GIF image

<?xml version="1.0" encoding="UTF-8"?>
<gmfgraph:Canvas xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:gmfgraph="http://www.eclipse.org/gmf/2006/GraphicalDefinition"; name="entity2valueObject">
  <figures
      name="Default">
    <figures
        xsi:type="gmfgraph:PolylineDecoration"
        name="Fleche"/>
    <descriptors
        name="DTOFigure">
      <actualFigure
          xsi:type="gmfgraph:Rectangle"
          name="DTOFigure">
        <layout
            xsi:type="gmfgraph:FlowLayout"
            vertical="true"
            matchMinorSize="true"
            forceSingleLine="true"
            minorAlignment="CENTER"
            majorSpacing="0"
            minorSpacing="0"/>
        <insets
            top="1"
            left="1"
            bottom="10"
            right="1"/>
        <children
            xsi:type="gmfgraph:CustomFigure"
            name="DTOFigure_nameAndStereotype"
            qualifiedClassName="com.miasoftware.miastudio.mapping.diagram.draw2d.NameAndStereotypeBlock">
          <insets
              top="8"
              left="5"
              bottom="6"
              right="5"/>
        </children>
        <children
            xsi:type="gmfgraph:Label"
            name="DTOStereotypeNameFigure"
            text="&lt;...>"/>
        <children
            xsi:type="gmfgraph:Label"
            name="DTONameFigure"
            text="&lt;...>"/>
        <children
            xsi:type="gmfgraph:Rectangle"
            name="DTOFigure_PropertiesCompartment"
            outline="false">
          <layout
              xsi:type="gmfgraph:CustomLayout"
              qualifiedClassName="org.eclipse.draw2d.StackLayout"/>
        </children>
      </actualFigure>
      <accessors
          accessor="getFigureDTOStereotypeName"
          figure="//@figures.0/@descriptors.0/@actualFigure/@children.1"/>
      <accessors
          figure="//@figures.0/@descriptors.0/@actualFigure/@children.2"/>
      <accessors
          accessor="getFigureDTOAttributes"
          figure="//@figures.0/@descriptors.0/@actualFigure/@children.3"/>
    </descriptors>
    <descriptors
        name="EntityProxyFigure">
      <actualFigure
          xsi:type="gmfgraph:Rectangle"
          name="EntityProxyFigure">
        <layout
            xsi:type="gmfgraph:FlowLayout"
            vertical="true"
            matchMinorSize="true"
            forceSingleLine="true"
            minorAlignment="CENTER"
            majorSpacing="0"
            minorSpacing="0"/>
        <insets
            top="1"
            left="1"
            bottom="10"
            right="1"/>
        <children
            xsi:type="gmfgraph:CustomFigure"
            name="EntityFigure_nameAndStereotype"
            qualifiedClassName="com.miasoftware.miastudio.mapping.diagram.draw2d.NameAndStereotypeBlock">
          <insets
              top="8"
              left="5"
              bottom="6"
              right="5"/>
          <customChildren
              accessor="getNameAndStereotypeBlock().getStereotypeLabel()">
            <typedFigure
                xsi:type="gmfgraph:CustomFigure"
                name="EntityFigure_stereo"
                qualifiedClassName="com.miasoftware.miastudio.mapping.diagram.draw2d.StereotypeLabel2">
              <font
                  xsi:type="gmfgraph:BasicFont"/>
            </typedFigure>
          </customChildren>
          <customChildren
              accessor="getNameAndStereotypeBlock().getNameLabel()">
            <typedFigure
                xsi:type="gmfgraph:CustomFigure"
                name="EntityFigure_name"
                qualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
              <font
                  xsi:type="gmfgraph:BasicFont"/>
            </typedFigure>
          </customChildren>
        </children>
        <children
            xsi:type="gmfgraph:Rectangle"
            name="EntityFigure_PropertiesCompartment"
            outline="false">
          <layout
              xsi:type="gmfgraph:StackLayout"/>
          <border
              xsi:type="gmfgraph:MarginBorder">
            <insets
                top="5"
                left="5"
                bottom="5"
                right="5"/>
          </border>
        </children>
      </actualFigure>
      <accessors
          accessor="getFigureEntityStereotypeLabel"
          figure="//@figures.0/@descriptors.1/@actualFigure/@children.0/@customChildren.0/@typedFigure"/>
      <accessors
          accessor="getFigureEntityNameLabel"
          figure="//@figures.0/@descriptors.1/@actualFigure/@children.0/@customChildren.1/@typedFigure"/>
      <accessors
          accessor="getFigureEntityAttributesFigure"
          figure="//@figures.0/@descriptors.1/@actualFigure/@children.1"/>
      <accessors
          accessor="getNameAndStereotypeBlock"
          figure="//@figures.0/@descriptors.1/@actualFigure/@children.0"/>
    </descriptors>
    <descriptors
        name="DTOMasterLinkFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          lineKind="LINE_DASHDOTDOT"
          targetDecoration="//@figures.0/@figures.0"/>
    </descriptors>
    <descriptors
        name="DTOSlaveLinkFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          lineKind="LINE_DASHDOTDOT"
          targetDecoration="//@figures.0/@figures.0"/>
    </descriptors>
    <descriptors
        name="dtoPropertyLink">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          lineKind="LINE_DASHDOT"
          targetDecoration="//@figures.0/@figures.0"/>
    </descriptors>
    <descriptors
        name="dtoMasterLinkDiagramLabelFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:Label"
          name="dtoMasterLink"
          text="dtoMasterLink"/>
    </descriptors>
    <descriptors
        name="dtoSlaveLinksDiagramLabelFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:Label"
          name="dtoSlaveLink"
          text="dtoSlaveLink"/>
    </descriptors>
    <descriptors
        name="dtoPropertyLinkDiagramLabelFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:Label"
          name="dtoPropertyLink"
          text="dtoPropertyLink"/>
    </descriptors>
    <descriptors
        name="PropertyFigureDescriptor">
      <actualFigure
          xsi:type="gmfgraph:Rectangle"
          lineWidth="0"
          lineKind="LINE_DOT">
        <minimumSize
            dx="20"
            dy="20"/>
        <children
            xsi:type="gmfgraph:Label"
            name="PropertyLabel">
          <layout
              xsi:type="gmfgraph:FlowLayout"
              vertical="true"
              matchMinorSize="true"
              forceSingleLine="true"
              majorSpacing="0"
              minorSpacing="0"/>
          <insets
              top="1"
              left="1"
              bottom="10"
              right="1"/>
        </children>
      </actualFigure>
      <accessors
          figure="//@figures.0/@descriptors.8/@actualFigure/@children.0"/>
    </descriptors>
  </figures>
  <nodes
      name="EntityProxy"
      figure="EntityProxyFigure">
    <facets
        xsi:type="gmfgraph:DefaultSizeFacet">
      <defaultSize
          dx="100"
          dy="60"/>
    </facets>
  </nodes>
  <nodes
      name="DTO"
      figure="DTOFigure">
    <facets
        xsi:type="gmfgraph:DefaultSizeFacet">
      <defaultSize
          dx="100"
          dy="60"/>
    </facets>
  </nodes>
  <nodes
      name="Property"
      figure="PropertyFigureDescriptor"/>
  <connections
      name="DTOMasterLinkConnection"
      figure="DTOMasterLinkFigureDescriptor"/>
  <connections
      name="DTOSlaveLinkConnection"
      figure="DTOSlaveLinkFigureDescriptor"/>
  <connections
      name="DTOPropertyLinkConnection"
      figure="dtoPropertyLink"/>
  <compartments
      name="EntityAttributes"
      figure="EntityProxyFigure"
      accessor="//@figures.0/@descriptors.1/@accessors.2"/>
  <compartments
      name="DTOAttributes"
      figure="DTOFigure"
      accessor="//@figures.0/@descriptors.0/@accessors.2"/>
  <labels
      name="dtoMasterLinkDiagramLabel"
      figure="dtoMasterLinkDiagramLabelFigureDescriptor"/>
  <labels
      name="dtoSlaveLinksDiagramLabel"
      figure="dtoSlaveLinksDiagramLabelFigureDescriptor"/>
  <labels
      name="dtoPropertyLinkDiagramLabel"
      figure="dtoPropertyLinkDiagramLabelFigureDescriptor"/>
  <labels
      name="DTOName"
      figure="DTOFigure"
      accessor="//@figures.0/@descriptors.0/@accessors.1"/>
  <labels
      name="DTOStereotypeName"
      figure="DTOFigure"
      accessor="//@figures.0/@descriptors.0/@accessors.0"/>
  <labels
      name="EntityName"
      figure="EntityProxyFigure"
      accessor="//@figures.0/@descriptors.1/@accessors.1"/>
  <labels
      name="EntityStereotypeName"
      figure="EntityProxyFigure"
      elementIcon="false"
      accessor="//@figures.0/@descriptors.1/@accessors.0"/>
  <labels
      name="PropertyName"
      figure="PropertyFigureDescriptor"
      affixedParentSide="WEST"
      elementIcon="false"
      accessor="//@figures.0/@descriptors.8/@accessors.0"/>
</gmfgraph:Canvas>
<?xml version="1.0" encoding="UTF-8"?>
<gmfmap:Mapping 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";
    xmlns:gmfmap="http://www.eclipse.org/gmf/2008/mappings";
    xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition";>
  <nodes>
    <containmentFeature
        href="Entity2ValueObject.ecore#//Mapping/entities"/>
    <ownedChild>
      <domainMetaElement
          href="Entity2ValueObject.ecore#//EntityProxy"/>
      <labelMappings
          xsi:type="gmfmap:FeatureLabelMapping">
        <diagramLabel
            href="Entity2ValueObject.gmfgraph#EntityStereotypeName"/>
        <features
            href="Entity2ValueObject.ecore#//EntityProxy/stereotypeName"/>
      </labelMappings>
      <labelMappings
          xsi:type="gmfmap:FeatureLabelMapping">
        <diagramLabel
            href="Entity2ValueObject.gmfgraph#EntityName"/>
        <features
            href="Entity2ValueObject.ecore#//EntityProxy/name"/>
      </labelMappings>
      <diagramNode
          href="Entity2ValueObject.gmfgraph#EntityProxy"/>
      <children
          compartment="//@nodes.0/@ownedChild/@compartments.0">
        <containmentFeature
            href="Entity2ValueObject.ecore#//EntityProxy/properties"/>
        <ownedChild>
          <domainMetaElement
              href="Entity2ValueObject.ecore#//PropertyProxy"/>
          <labelMappings
              xsi:type="gmfmap:FeatureLabelMapping"
              readOnly="true"
              viewPattern="{0} {1} : {2}">
            <diagramLabel
                href="Entity2ValueObject.gmfgraph#PropertyName"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/stereotypeName"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/name"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/type"/>
          </labelMappings>
          <diagramNode
              href="Entity2ValueObject.gmfgraph#Property"/>
        </ownedChild>
      </children>
      <compartments
          children="//@nodes.0/@ownedChild/@children.0">
        <compartment
            href="Entity2ValueObject.gmfgraph#EntityAttributes"/>
      </compartments>
    </ownedChild>
  </nodes>
  <nodes>
    <containmentFeature
        href="Entity2ValueObject.ecore#//Mapping/dtos"/>
    <ownedChild>
      <domainMetaElement
          href="Entity2ValueObject.ecore#//DTO"/>
      <labelMappings
          xsi:type="gmfmap:FeatureLabelMapping">
        <diagramLabel
            href="Entity2ValueObject.gmfgraph#DTOStereotypeName"/>
        <features
            href="Entity2ValueObject.ecore#//Target/stereotypeName"/>
      </labelMappings>
      <labelMappings
          xsi:type="gmfmap:FeatureLabelMapping">
        <diagramLabel
            href="Entity2ValueObject.gmfgraph#DTOName"/>
        <features
            href="Entity2ValueObject.ecore#//Target/name"/>
      </labelMappings>
      <tool
          xsi:type="gmftool:CreationTool"
          href="Entity2ValueObject.gmftool#//@palette/@tools.0/@tools.2"/>
      <diagramNode
          href="Entity2ValueObject.gmfgraph#DTO"/>
      <children
          compartment="//@nodes.1/@ownedChild/@compartments.0">
        <containmentFeature
            href="Entity2ValueObject.ecore#//Target/properties"/>
        <ownedChild>
          <domainMetaElement
              href="Entity2ValueObject.ecore#//PropertyProxy"/>
          <labelMappings
              xsi:type="gmfmap:FeatureLabelMapping"
              viewPattern="{0} {1} : {2}">
            <diagramLabel
                href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/stereotypeName"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/name"/>
            <features
                href="Entity2ValueObject.ecore#//PropertyProxy/type"/>
          </labelMappings>
          <diagramNode
              href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/>
        </ownedChild>
      </children>
      <compartments
          children="//@nodes.1/@ownedChild/@children.0">
        <compartment
            href="Entity2ValueObject.gmfgraph#DTOAttributes"/>
      </compartments>
    </ownedChild>
  </nodes>
  <links>
    <domainMetaElement
        href="Entity2ValueObject.ecore#//DTOMasterLink"/>
    <labelMappings
        xsi:type="gmfmap:DesignLabelMapping"
        readOnly="true">
      <diagramLabel
          href="Entity2ValueObject.gmfgraph#dtoMasterLinkDiagramLabel"/>
    </labelMappings>
    <containmentFeature
        href="Entity2ValueObject.ecore#//Mapping/links"/>
    <tool
        xsi:type="gmftool:CreationTool"
        href="Entity2ValueObject.gmftool#//@palette/@tools.0/@tools.0"/>
    <diagramLink
        href="Entity2ValueObject.gmfgraph#DTOMasterLinkConnection"/>
    <sourceMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//DTOMasterLink/owner"/>
    <linkMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//FromEntityLink/entity"/>
  </links>
  <links>
    <domainMetaElement
        href="Entity2ValueObject.ecore#//DTOSlaveLink"/>
    <labelMappings
        xsi:type="gmfmap:DesignLabelMapping"
        readOnly="true">
      <diagramLabel
          href="Entity2ValueObject.gmfgraph#dtoSlaveLinksDiagramLabel"/>
    </labelMappings>
    <containmentFeature
        href="Entity2ValueObject.ecore#//Mapping/links"/>
    <tool
        xsi:type="gmftool:CreationTool"
        href="Entity2ValueObject.gmftool#//@palette/@tools.0/@tools.1"/>
    <diagramLink
        href="Entity2ValueObject.gmfgraph#DTOSlaveLinkConnection"/>
    <sourceMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//DTOSlaveLink/owner"/>
    <linkMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//FromEntityLink/entity"/>
  </links>
  <links>
    <domainMetaElement
        href="Entity2ValueObject.ecore#//PropertyLink"/>
    <labelMappings
        xsi:type="gmfmap:DesignLabelMapping"
        readOnly="true">
      <diagramLabel
          href="Entity2ValueObject.gmfgraph#dtoPropertyLinkDiagramLabel"/>
    </labelMappings>
    <containmentFeature
        href="Entity2ValueObject.ecore#//Mapping/links"/>
    <tool
        xsi:type="gmftool:CreationTool"
        href="Entity2ValueObject.gmftool#//@palette/@tools.0/@tools.3"/>
    <diagramLink
        href="Entity2ValueObject.gmfgraph#DTOPropertyLinkConnection"/>
    <sourceMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//PropertyLink/owner"/>
    <linkMetaFeature
        xsi:type="ecore:EReference"
        href="Entity2ValueObject.ecore#//PropertyLink/propertyProxy"/>
  </links>
  <diagram>
    <diagramCanvas
        href="Entity2ValueObject.gmfgraph#entity2valueObject"/>
    <domainModel
        href="Entity2ValueObject.ecore#/"/>
    <domainMetaElement
        href="Entity2ValueObject.ecore#//Mapping"/>
    <palette
        href="Entity2ValueObject.gmftool#//@palette"/>
  </diagram>
</gmfmap:Mapping>
<?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="entity2valueObject"
    nsURI="http://www.miasoftware.com/projects/mda/agl/mapping/model"; nsPrefix="entity2valueObject">
  <eClassifiers xsi:type="ecore:EClass" name="Mapping">
    <eStructuralFeatures xsi:type="ecore:EReference" name="links" upperBound="-1"
        eType="#//Link" containment="true" eOpposite="#//Link/mapping"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entities" upperBound="-1"
        eType="#//EntityProxy" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dtos" upperBound="-1" eType="#//DTO"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Link" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="mapping" eType="#//Mapping"
        eOpposite="#//Mapping/links"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PropertyLink" eSuperTypes="#//Link">
    <eStructuralFeatures xsi:type="ecore:EReference" name="propertyProxy" lowerBound="1"
        eType="#//PropertyProxy"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//DTO"
        eOpposite="#//DTO/propertyLinks"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MatchLink" eSuperTypes="#//PropertyLink"/>
  <eClassifiers xsi:type="ecore:EClass" name="TransfoLink" eSuperTypes="#//PropertyLink"/>
  <eClassifiers xsi:type="ecore:EClass" name="DTOLink" eSuperTypes="#//FromEntityLink"/>
  <eClassifiers xsi:type="ecore:EClass" name="DAOLink" eSuperTypes="#//FromEntityLink">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//DAO"
        eOpposite="#//DAO/daoLinks"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ServiceLink" eSuperTypes="#//FromEntityLink">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Service"
        eOpposite="#//Service/serviceLinks"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FromEntityLink" eSuperTypes="#//Link">
    <eStructuralFeatures xsi:type="ecore:EReference" name="entity" lowerBound="1"
        eType="#//EntityProxy"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DTOMasterLink" eSuperTypes="#//DTOLink">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//DTO"
        eOpposite="#//DTO/dtoMasterLink"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DTOSlaveLink" eSuperTypes="#//DTOLink">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//DTO"
        eOpposite="#//DTO/dtoSlaveLinks"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DTO" eSuperTypes="#//Target">
    <eStructuralFeatures xsi:type="ecore:EReference" name="dtoSlaveLinks" upperBound="-1"
        eType="#//DTOSlaveLink" eOpposite="#//DTOSlaveLink/owner"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="propertyLinks" lowerBound="1"
        upperBound="-1" eType="#//PropertyLink" eOpposite="#//PropertyLink/owner"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dtoMasterLink" lowerBound="1"
        eType="#//DTOMasterLink" eOpposite="#//DTOMasterLink/owner"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DAO" eSuperTypes="#//Target">
    <eStructuralFeatures xsi:type="ecore:EReference" name="daoLinks" upperBound="-1"
        eType="#//DAOLink" eOpposite="#//DAOLink/owner"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Service" eSuperTypes="#//Target">
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceLinks" upperBound="-1"
        eType="#//ServiceLink" eOpposite="#//ServiceLink/owner"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Target" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString";
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
        eType="#//PropertyProxy" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EntityProxy">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" lowerBound="1"
        upperBound="-1" eType="#//PropertyProxy" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PropertyProxy">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotypeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
</ecore:EPackage>