Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Java reverse engineering
Java Reverse Engineering is available in the extra plugins of Papyrus. It allows Java files or packages to be reverse-engineered into a Papyrus class diagram.
Contents
Installation Instructions
Java Reverse Engineering is available as a Papyrus extra plugin.
You can install it by using the Papyrus update site corresponding to your Papyrus version. Current Papyrus update site can be found in the following page :
Take the update site corresponding to your Eclipse version.
Example :
- For latest mars version, use :
- For neon nightly build, use :
Then :
- Unselect 'Group item by category'
- Select ' Papyrus Java Reverse (Incubation)'
- Finish
How to use Reverse
Using Command
Reverse-engineer a Java class
A Java class can be reverse-engineered into a Papyrus class diagram:
A UML class is created in Model Explorer. You can now add it into your diagram. Note that all associated classes have also been added to the model.
Reverse-engineer a package
A Java package (and all classes included) can be reverse-engineered into a Papyrus class diagram:
Packages and classes have been created in Model Explorer. Your can now add them to your diagram. Note that all associated classes have also been added to the model.
Reverse-engineering settings
By default, a package named "generated" is created for reverse-engineering. You can choose another package name on the options menu.
This options menu allows to:
- change the default package of the reverse-engineering,
- add or remove search path. The reverse generator search existing UML classes and regenerate them.
- add or remove creation path. The reverse generator search on existing Java classes to generate a UML class. Useful for creating Java imports (e.g.: String, Integer).
Using Drag & Drop
You can reverse-engineer a class or a package by just dragging & dropping it on a Papyrus diagram:
- Drag one or more classes and/or packages,
- Drop the selection into an open diagram.
A settings dialog is opened. You can modify settings (please see Reverse settings). When you're reverse-engineering via the drag & drop method, you can also choose to display model, packages, and classes / interfaces / enumerations into the Papyrus diagram. To enable display, just click into the check-boxes:
When you click on the OK button, your components are displayed in the Papyrus diagram. Note: while all selected components are reversed-engineered, only components which are in selection, but not in the Papyrus diagram are displayed.
Change default reverse-engineering settings
The Java code reverse-engineering plugin allows you to change default settings on eclipse preferences:
- Open Eclipse Preferences,
- Search for the Papyrus section,
- Choose Java Code Reverse sub-section
In this preferences page, you can change:
- default search path values,
- default creation path values.
Note that there are default values; if you have changed these values for a project, your changes are saved, and default values are not used.