Javazzar (formerly Rebel for StarUML) is a powerful and time-saving code generator for modern Java, delivered as an extension for StarUML.
It can do different things:
- transform your domain model into JPA entities,
- output model documentation into Swagger annotations,
- create Spring Controllers, Services and Repositories for your domain classes
- or let you customize the mapping of your classes into different data formats using Jackson annotations.
Also, it preserves your changes to the generated source code.
Javazzar is distributed through the official StarUML extension registry. To install it, follow these steps:
- Download and install StarUML
- Start the StarUML
- Open StarUML's Extension Manager by selecting Tools -> Extension Manager
- Type 'Javazzar' in the Search field
- Press install button of the extension
To generate code, you need to have a StarUML project with a domain model. You can create a new project or open an existing one.
- Using StarUML Property editor, set the stereotype of the project main package to
root. In this way we define a starting point for the code generation process. - Define the base package for your project. Javazzar allows you to set a custom base package for your project, using the Javazzar Property Editor.
- Define a destination folder for the generated sources. A destination folder for the generated Java code is set from StarUML main menu
Javazzar -> Configure -> Project Codebase. If not set, the Javazzar will prompt you to choose destination folder by opening file select dialog. - Select
Javazzar -> Generatefrom the menu to generate code, or use the shortcut keyF5instead.
When modeling your domain, it's enough to mark a class persistent and Javazzar will turn it into a JPA entity. You don't need to think about all the different annotations and details you need to apply, you keep your thoughts at higher level of abstractions while already making a step closer to production!
If you focus on design - and not on low-level details, there are great chances you will have a clear picture and define a good distribution of responsibilities between your components.
As soon as your design is complete, your domain concepts are already transformed into Java source code. They are persistent. And marshaled into JSON. No coding needed.
You change the model and let Javazzar propagate changes to your application.
A visual model - dictionary in front of your team members, will make their mutual reference point and will serve as an enabler of clear and focused discussions.
If people perform their everyday work more smoothly, there are great chances they will enjoy it more and will be more productive.
Java code generated by Javazzar often contains some best practices that have been gathered through years of experience.


