Compare bean generation tools
Repository used to compare various bean generation tools. Relates to talk CON8257 at JavaOne 2016, however it is generally useful for comparing generation tool.
A bean is intended to be a data object with getters,
toString generated, see the original JavaBean specification.
A mutable bean has setters to allow the data to be mutated.
However, most of the projects here generate immutable beans, which have builders and/or withers instead of setters.
In Java 8, I personally recommend develpopers to start moving to immutable data objects throughout their system.
This project compares the following projects:
- One-off IDE generation by Eclipse and IntelliJ
There are other "Bean" APT code generators (not currently used in this project):
Many other code generation tools exist for Java. This list is not exhaustive:
- Derive4J - algebraic data types
To install this project in Eclipse and get it to compile, you need:
- The M2E Maven plugin
- The M2E APT plugin (update site)
- Go to preferences and change "Maven/Annotation Processing" to "Automatically configure"
- Refresh the project using right-click "Maven/Update project"
Feel free to raise a Pull Request if there is another bean-generation project that I have missed.