Never write in Java a getter or equals method again
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 :-).