Pernah coding Java? pasti sering ketemu sama method-method Setter, Getter, Equals dan Hashcode waktu kita buat Java class.
Contoh :
Dengan menggunakan Lombok, secara syntax bisa dirubah menjadi :
referensi :
1. http://jnb.ociweb.com/jnb/jnbJan2010.html
2. https://projectlombok.org/
Contoh :
private boolean employed = true;
private String name;
public boolean isEmployed() {
return employed;
}
public void setEmployed(final boolean employed) {
this.employed = employed;
}
protected void setName(final String name) {
this.name = name;
}
Dengan menggunakan Lombok, secara syntax bisa dirubah menjadi :
@Getter @Setter private boolean employed = true;
@Setter(AccessLevel.PROTECTED) private String name;
Boilerplate
Merupakan sebuah terminologi yang menjelaskan code yang berulang didalam sebuah aplikasi/project dengan sedikit perubahan. Getter, Setter termasuk didalamnya.
Dengan Lombok secara syntax kita bisa menyederhanakan hal tersebut, sehingga code menjadi lebih clean dan mudah dibaca.
Dan karena annotation Lombok bukan termasuk annotation yang umum, supaya code dapat dicompile kita perlu mengintegrasikan Lombok plugin kedalam IDE, Ant Task, atau Maven plugin.
Dengan Lombok secara syntax kita bisa menyederhanakan hal tersebut, sehingga code menjadi lebih clean dan mudah dibaca.
Dan karena annotation Lombok bukan termasuk annotation yang umum, supaya code dapat dicompile kita perlu mengintegrasikan Lombok plugin kedalam IDE, Ant Task, atau Maven plugin.
Integrasi Lombok & Maven
Tambahkan lombok library pada pom.xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.2</version>
</dependency>
Integrasi Lombok & IntelliJ IDEA
Saya bisa mengintegrasikan Lombok Plugin 0.9.6.13 dengan Intellij IDEA 13.
Berikut contohnya :
Sekian blog dari saya kali ini, happy coding :)
Intellij IDEA Lombok Plugin |
Contoh method Getter, Setter terdeteksi oleh IDE |
Sekian blog dari saya kali ini, happy coding :)
referensi :
1. http://jnb.ociweb.com/jnb/jnbJan2010.html
2. https://projectlombok.org/
No comments:
Post a Comment