[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

<?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="<...>"/>
<children
xsi:type="gmfgraph:Label"
name="DTONameFigure"
text="<...>"/>
<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>