Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Java reverse engineering
Through Eclipse Mars, the Java Reverse Engineering was available in the Papyrus extra plugins. Since Eclipse Neon, they are now in a separate Papyrus component, called Papyrus software designer. The Java reverse tools allow 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. The current Papyrus update site can be found at the following page :
Use the update site corresponding to your Eclipse version.
Example :
- For the latest Mars version, use:
- For the Neon version, use:
Please note that the JavaReverse feature is currently not available for Neon, it can only be found in the designer git source (https://git.eclipse.org/r/papyrus/org.eclipse.papyrus-designer)
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 option menu allows one 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 in the Papyrus diagram. To enable display, just click 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 selected, 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.