13.07.2015 Views

Bouml reference manual - Fedora Project Packages GIT repositories

Bouml reference manual - Fedora Project Packages GIT repositories

Bouml reference manual - Fedora Project Packages GIT repositories

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

file:///C:/uml/BOUML/bouml_3.0/doc/TOUT.html318 of 378 07/10/2007 15:55${extend} is replaced by the class inheritance${implement} is replaced by the interface inheritance${members} is replaced by the code generated for all the class's members (relations, attributes, operations and extra members)following the browser order.${cases} only for the enums, is replaced by the enum's items definition@{xyz} is replaced by the user property value in case xyz is the key of this property. The property if searched first for the class, ifnot found for the container of the class (an other class of a class view) etc ...In the special case where the class is declared external, its Java type declaration must contains a line indicating how the name of the classis generated, by default ${name} meaning that the name is produced unchanged, the only allowed keywords are ${name}, ${Name} and${NAME}.OperationThe Java definition of an operation is set through the Uml and Java tabs of the operation dialog.The indentation of the first line of the declaration/definition give the indentation added to the class definition for all the operationdefinition.In BOUML the generated code is obtained by the substitution of macros in a text, the macros known by the Java code generator are :${comment} is replaced by the description of the operation adding /* */${description} is replaced by the operation description without adding /* */${visibility} produce the visibility (see the UML tab)${final} produce final when ye operation is specified final${static} produce static when the operation is a class operation (see the UML tab)${abstract} produce abstract when the operation is abstract (see the UML tab)${synchronized} produce synchronized when the operation is synchronized${type} is replaced by the value type (see the UML tab)${name} is replaced by the name of the operation.${(} and ${)} produce ( and ), but there are also a mark for BOUML to find the parameters list${t} and ${p}produce the type and the name of each parameter (count from 0), this allows you to remove a parameter, etc ...${throws} is replaced by the form throws ... when at least an exception is defined in the UML tab.${staticnl} produce a line break when the operation is static, else an empty string. In case you do not like this notation, change thegeneration settings to remove this macro.${body} is replaced by the body of the operation, this macro may also be replaced by the body itself (BOUML use this way for theget and set operations associated to a relation/attribute). The usage of ${body} has a great advantage : when you hit Defaultdefinitionthe body is not cleared ! At least BOUML share the definition forms of the operations (and other objects) to minimize the nememory size, ${body} help for this ! The indentation of the keyword ${body} is added at the beginning of each line.@{xyz} is replaced by the user property value in case xyz is the key of this property. The property if searched first for the operation,if not found for the class containing the operation etc ...If the toggle preserve operations's body is set through the Languages menu,the generators do not modify the body of the operations protected by dedicated delimiters. This means that for them the boddefinition set through BOUML is not used. The first time you generate the code with the toggle set, because the delimiters are notyet present in the generated code, the operation's body will be updated depending on their definition under BOUML. After, whilethe toggle is set and the delimiters present, the bodies will not change, allowing you to modify them out of BOUML.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!