Simple model management and generation in Java

In Java managing models and their generational usages can be a bit cumbersome when you are developing code or a system that has a lot of transitional states i.e. REST call to a API to retrieve some data to manipulate, polling from a topic to process a state change or something along the lines of a DAO (Data Access Object) abstracting the access to the actual data source for example a database (more on the DAO pattern can be found here –>

This is where for me, Lombok comes into play. This is a holy-grail when talking about boiler-plate code. Lombok ( through the use of annotations and plugins to your IDE generates pesky functions, methods and constructors all for you!

How about that ey, never having to write another getter/setter again!

Below is an example model to represent a collection of message properties, annotating with @Data generates all of the getters and setters for all attributes of the class and @AllArgsConstructor then generates all of the variations of the constructors for this class; note some of the caveats in the documentation!

import lombok.AllArgsConstructor;
import lombok.Data;

public class MessageProperties {
    private String chatID;
    private boolean receivedByAll;
    private String text;


How does Lombok sound to you, have I convinced you enough to give it a try?