We will demonstrate the recommended step-by-step instructions on how to customize an element, how to begin to create customization, how to create customization data, and how the customization data will be represented on the DSL element.
Profile named Stereotypesis to store all the stereotypes. Later we will share the package in order to use the stereotypes in the customization project.
Apply the Class metaclass to the Company StereotypeCreate a stereotype, apply the Class metaclass, and then name the stereotype Company.
Image Modified
Tip
You can see how customization rules will be passed to the DSL element by using the stereotype.
We selected the Class metaclass, because the «Company» stereotype will be applied to a class element. In other words, the type of the DSL element will be the class.
You can also assign an icon to the stereotype. The icon will be represented on the DSL element.
To assign a customization target quickly, select the Company stereotype in the Model Browser and drag it to the shape of the Company customization element on the diagram pane.
In the Customization Specification window, you can specify customization data that will be passed to the DSL element.
In the Company customization element Specification window, under the General category, set the Hide Metatype check box to true. If the value is true, the element acts like a new standard element type in the modeling tool.
In
the
the Company
customization
customization element Specification window, under
the
the Owned Elements
category
category, click
the
the Possible Owners
property
property and then select
the
the Package
metaclass
metaclass.
Image Modified
Tip
The DSL element will be added to the package shortcut menu, under the Create Element command.
After click on the Possible Owner property, the element Selection dialog appears. In this dialog, by default metaclasses are not displayed. To display the Package metaclass, click the Include meta classes into search results button.
Share the customizations
Share the Customizations package. The Organization_Customizations.mdzip project with the shared
customizations
Customizations package becomes a shared project.
Save
the
the Organization_Customizations.mdzip
project
project.
Create a project and name it
Organization
Organization.
Use
the
the Organization_Customizations.mdzip project in
the
the Organization
project
project.
Tip
The Organization_Stereotypes.mdzip project will be used in the Organization project automatically, because the Organization_Customizations.mdzip project uses the Organization_Stereotypes.mdzip project.
In the Organization project, create a Package and in that package, create a class element and name it NoMagic.
Apply
the
the Company
stereotype
stereotype to
the
the NoMagic
class
class element.
Save and reopen the project.
In the following figure, you can see the Containment tree of the project with the used Organization_Stereotypes.mdzip and Organization_Customizations.mdzip projects.
Image Modified
Structure of a project that use other projects
In this example, the «Company» stereotype is applied to the NoMagic class element. You can see that the Company element is added to the package shortcut menu.
Example of the “Possible Owner” property realization