The exchanges between BOUML and each plug-out are supported by a TCP/IP socket, the used IP address is 127.0.0.1. When you ask BOUML to start a plug-out, it search for a free port number and give it in argument to the called plug-out. In case you have a firewall it may be necessary to configure it to allow BOUML and the plug-outs to use a socket.
To reduce the number of exchanges with BOUML and run faster, a plug-out does not ask for BOUML each time you want to get a value. The system classes read and memorize all the data of a given item the first time you access to one of them (with the restrictions allowed by WITHCPP, WITHJAVA, WITHPHP, WITHPYTHON, WITHMYSQL and WITHIDL). This is transparent for you until two plug-outs access to the same data, when one plug-out modify a value already read by the other, the second plug-out does not see the new value until it unload (an operation defined on UmlBaseItem) the object, then ask for the value.
The class doesn't have an associated artifact, or the class/artifact is not defined for the language. Note that a default definition (set through the generation settings) may be done at the creation for each language if you ask for it through the Languages menu
you do not have the write permission for the associated files or the item is a system item supporting the plug-out API. It is also not possible to edit/delete a class when an other item is already edited.
During the edition the characters encoded with a 16 bits unicode character set, but out of the editions the characters are saved on only 8 bits. When you use non ISO_8859-1 (latin1) characters you must specify how to do the conversion by setting a character set through the environment dialog.
Examples of character sets (the list depends on the release of Qt) :
ISO_8859-1 (latin1) for English, French, Italien, German ...
ISO_8859-7 for Greek
KOI8-R or KOI8-RU or CP_1251 to allow Cyrillic
JIS7 for Japan
GB2312, GBK or GB18030 for Chinese
The specified encoding is used for :
the description of every elements,
the user properties and associate values of every elements,
the stereotype of every elements,
the definition of the artifacts, classes, operations, attributes, relations and extra members,
the state action behavior
the state entry / exit / do behavior
the transition trigger / guard / do behavior
the attribute's value in an object diagram
the notes and text in the diagrams
It is not used else where, for instance you can't use non ISO_8859-1 characters to name the elements or in a message of a sequence or collaboration diagram.
The specified encoding is followed in the project's files and for the exchanges with the plug-out, this means for instance that Cyrillic characters may be used in the comments and are generated unchanged by the code generators.
Previous : Project files
Next : GNU public license