# Project files

A project is saved in an own directory through several files, all of them are text files, this may help you to do some searches or changes directly in the files (after a backup !), or of course to use a software configuration management. The files are :

- <project name>.prj : contains the top level package and project level data, for instance the generation directories.

- <number> : contains the data of a package (an uml package, not a java package !) and its sub-elements, the package's name is the second saved data, after a format indication. The number is the package's identifier (see Multi users considerations).

- <number>.diagram : contains a diagram definition. For time and memory save reason, BOUML does not load a diagram until it is edited. The number is the diagram's identifier (see Multi users considerations).

- <number>.bodies : contains the C++ and Java bodies of all the operations of a class. For time and memory save reason, BOUML does not load a body until it is edited. The number is the class's identifier (see Multi users considerations).

- generation_settings : contains the generation settings, this allows you to quickly set them after creating a new project copying the generation_settings file of an old project.

- tools : contains the plugs-outs declaration, this allows you to quickly set the tools list after creating a new project copying the tools file of an old project.

- cpp_includes : contains the C++ include & using specifications for the non defined types, used by the C++ generator and set through the C++ generation settings.

- java_imports : contains the Java imports associated to the non defined types, not already used by the Java generator and set through the Java generation settings.

- idl_includes : contains the Idl imports includes to the non defined types, not already used by the Idl generator and set through the Idl generation settings.

- <user id>.session : contains the session state (opened diagrams, browser view ...), set when the project is closed

- <number>_<user id>.d : contains the new definition of a diagram until a save.

- <number>_<user id>.b : contains the new definitions of a class's operations until a save.

- <user_id>.lock : a directory created when you load the project, and deleted when you close the project (see Multi users considerations).

Note : in a plug-out the supportFile operation defined on UmlBaseItem then applicable on all the browser items returns the absolute pathname of the file memorizing the item. In general an item is saved in a file associated to its package, the exceptions are :

- the body of the operations of a class which definition contains the keyword '{$body}'. This path name is returned when you apply supportFile on any operation of the class.

- the drawing of the diagrams, this path name is returned when you apply supportFile on the diagram.

- the configuration of the tools edited throw the entry 'Tools Settings' of the menu Tools is saved in the file 'tools'

- the configuration of the #include and using forms associated to the external type and edited through the last C++ tab of the 'Generation Settings' dialog is saved in the file 'cpp_includes'

- the configuration of the imports forms associated to the external types and edited through the last Java tab of the 'Generation Settings' dialog is saved in the file 'java_imports'

- the configuration of the #include forms associated to the external type and edited through the last Idl tab of the 'Generation Settings' dialog is saved in the file 'idl_includes'

Previous : Multi users considerations

Next : Troubleshots