An extra artifact definition is an alien allowing you to specify directly the generated code for each language. This allows an artifact to generate non class/interface forms between classes/interfaces.
An extra artifact definition is created through the artifact menu called from the browser :
The extra artifact definition menu appearing with a right mouse click on its representation in the browser is something like these, supposing it is not read-only nor deleted :
edit allows to show/modify the extra artifact definition properties. In case the extra definition is read-only, the fields of the dialog are also read-only.
The tab Uml is a global tab, independent of the language :
The name and the stereotype do not have meaning for BOUML.
The description is not used by the code generators.
The editor button visible above and associated here to the description, allows to edit the description in an other window, or to call an external editor (for instance Xcoral) specified through the environment dialog. Note that this external editor have to create an own window, its parameter is the pathname of the file containing the description, its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed (I do not like very much this polling but this works even QT isn't compiled with the thread support).
The tab C++ allows to specify the code generated in the header and/or the source file(s), it is visible only if C++ is set through the menu Languages
The declaration part is generated in the header file.
The definition part is produced in the source file.
The tab Java allows to specify the code generated in Java, it is visible only if Java is set through the menu Languages
The tab Php allows to specify the code generated in Php, it is visible only if Php is set through the menu Languages
The tab Python allows to specify the code generated in Python, it is visible only if Python is set through the menu Languages :
The tab Idl allows to specify the code generated in Idl, it is visible only if Idl is set through the menu Languages :
The tab MySQL allows to specify the code generated in MySQL, it is visible only if MySQL is set through the menu Languages :
The menu entry duplicate clone the extra definition.
The menu entry delete is only present when the extra definition is not read-only.
Delete the extra definition. After that it is possible to undelete it (from the browser) until you close the project : obviously the deleted items are not saved !
See mark
Previous : deployment node
Next : use case diagram