The lombok project helps you to be more productive
Lombok is a great tool. Your code often gets verbose for common tasks. So what does lombok? The framework is plugged into the build process. It autogenerates bytecode into your class fields through a couple of annotations.
Here comes the build.gradle:
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.2'
}
So let’s have a look at the lombok annotations
package de.claudioaltamura.java.lombok; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; @NoArgsConstructor @AllArgsConstructor @Getter @Setter @EqualsAndHashCode @ToString public class SuperHero { private String name; private String city; }
I put all annotations on class level. I added to constructor annotations here: first @NoArgsConstructor. This annotation adds a constructor with no arguments. And the second annotation is @AllArgsConstructor, which generates a constructor with every field.
With @Gettter and @Setter lombok generates default getter and setter for your class. And of course @EqualsAndHashCode and @ToString annotations are very nice too.
These are only a few examples which features lombok provides. Have a look a the project for more informations.
The example project is on github :-).