Generate Java source from UML class diagram Eclipse
You can perform round-trip engineering in Eclipse, to keep Java source code and class model in sync. In this tutorial, we will see how to create a class model and eventually generating source code from model.
- Create a Java project Phone Book in Eclipse.
- Right click on the project node in Package Explorer and select Open Visual Paradigm from the popup menu.
- In Diagram Navigator, right click on Class Diagram and select New Class Diagram from the popup menu.
- A new diagram is created. You are asked to enter a package header on top of the diagram. Enter myapp and press Enter.
- You are asked to provide the diagram name. Enter Domain Model and press Enter.
- Select Class from the diagram toolbar. Click on the diagram to create a class and name it as PhoneBook.
- We need to create a new class Category with association to PhoneBook. Move the mouse cursor of the class PhoneBook. Press on the resource icon Aggregation->Class.
- Drag to the right of the class PhoneBook and release the mouse button. Name the new class Category.
- Follow the previous steps to create class Contact, associated by class Category.
There are two kinds of contact: friend and relative. Create two subclasses from class Contact through the resource icon Generalization->Class, and name them as Friend and Relative.
The diagram should look like this:
- It is time to add attributes to classes. Right click on class PhoneBook and select Add > Attribute from the popup menu.
- Enter owner : String to name the attribute as owner, and set the type as String.
Press Enter to proceed to the next attribute. Enter createDate : java.util.Date as attribute name and type. Click on diagram to confirm editing.
Note that the package of type Date, which is java.util, will not be shown by default. If you want to show fully qualified name you can right click on diagram background and select Presentation Options > Type > Fully Qualified from the popup menu.
- Let's continue with creating operation. Right click on the class PhoneBook and select Add > Operation from the popup menu.
- Enter createPhoneBook(owner : String) : PhoneBook to create a public operation createPhoneBook with parameter owner, and return an object in type PhoneBook.
Follow the previous steps create attribute and operations in the remaining classes as listed below:
title : String
desc : String
|createCategory(title : String, desc : String) : Category
name : String
address : String
age : int
gender : char
createContact(name : String) : Contact
createContact(name : String, age : int) : Contact
||firstMet : String
||relationship : String
The diagram should look like this:
- We almost complete modeling. Let's set the role names. Double click on the Category end of the connector between class PhoneBook and Category. Name the role cats. Set multiplicity as 0..*. These changes will affect the attribute of category that will be generated in the class PhoneBook.
- Similarly edit the connector between Category and Contact by setting the role names of the two ends to cat and contacts, and multiplicities to 1 and 0..* respectively. This is the completed diagram.
- Press Ctrl-S to save.
- Now comes the code generation. Click on the Update Code button on toolbar.
- Check the Package Explorer. You should see a list of generated file. You can open them to fill in the code body.
- This is the end of the tutorial. Instead of closing Eclipse now, you may try something more by editing the code like to add, rename or delete class, attributes and operations, and click the Update UML Model button, which is the one next to the Update Code button, and observe the changes that will make in the class model. Enjoy!
Rate this Article
Click on one of the stars below to rate this article from 1 (lowest) to 5 (highest).
One Moment Please
Thanks for rating this article.