The exchanges between BOUML and each plug-out are supported by a TCP/IP socket. When you ask BOUML to start a plug-out, it search for a free port number starting at 1024 on localhost (127.0.0.1), this port is given 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 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 Miscellaneous menu
You edit something
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.
Previous : Project files
Next : GNU public license