GMF MapModel is a model combining GMF GraphModel, GMF ToolModel and domain Ecore model all together and finally describing diagram editor. Composed instance of this model should be transformed into GMF GenModel prior to diagram code generation.
There are two types of link mappings:
- Type based links
- Reference based links
The first type is used when particular EClass is specified and creation of such link in runtime means creation of this EClass instance. When EClass is not specified then this is the second type of link mapping; creation of such link in runtime means setting the specified reference value.
Type Based Links
Mapping property 'domainMetaElement' specifies EClass (type) of the link. If 'sourceMetaFeature' property is not specified then 'containmentFeature' is used to denote link source (iow link container is it's source). If 'sourceMetaFeature' is specified then it should be a EReference defined within link EClass and it's value is the link source. Property 'linkMetaFeature' must always be specified and it references link target.
Reference Based Links
Properties 'domainMetaElement' and 'sourceMetaFeature' should not be specified. Property 'linkMetaFeature' is an EReference; EClass that contains it is a link source and EReference type is a link target.