Stereotypes

authors : Tony CHEMIT
contact : chemit@codelutin.com

Abstract

You can add some stereotypes on each element of an model.

This can be done in two ways:

  • inside the zargo model
  • in the optinal model properties file related to your model

Scope

There is two main scopes for a stereotype:

  • on the the model, the tag value can be used for any element of your model (if the tag value accept it)
  • on a specific element of the model (classifier, class, interface, enumeration, attribute, paramter, operation, ...) to restrict the usage of the tag value.

Note that a tag value can be override (for example put in on the global model, and for a specific class override it, and so even on a attribute, ...).

Format

We describe here the format of a tag value when written in the model properties file.

  • On a model
model.stereotype=myStereotype,myStereotype2
  • On a specific element of the model
org.nuiton.eugene.model.Myclass.class.stereotype=myStereotype,myStereotype2
org.nuiton.eugene.model.Myclass.attribute.myAttribute.stereotype=myStereotype,myStereotype2

As seen in the previous example, you can add multiple stereotypes on a same modle or model element (comma separated).

Validation

Stereotypes availables from modules can be validated to make their experience safer and nearly compile safe.

Each module which offers some stereotypes can describe them in a maven report.

Have a look for example to the report for the eugene core api or java templates.

How to write stereotypes

Stereotypes are now parts of the EUGene tag value API.

Stereotype is a boolean tag value, so you can also write it like a tag value with false or true values.

One advantage of this is to be able to set a stereotype at high level and then skip his usage for a specific child which you could not do using a standalone stereotype mecanism.

See JavaDocs API or API Sources for more details.