Project Lombok – no more boilerplate code

Jeśli nudzi Cię żmudne pisanie (lub generowanie przez IDE) getterów, setterów, konstruktorów, hashcode’ów, equalsów, toStringów itd, to Lombok jest właśnie dla Ciebie.

Oto kilka jego możliwości.

gettery i settery

Wystarczy udekorować żądane pola adnotacjami @Getter / @Setter.

Odpowiednie metody zostaną wygenerowane i będą widoczne w IDE.
lombok-example
Będą także w skompilowanej klasie.

Więcej informacji o @Getter / @Setter.

konstruktory i toString

Po uruchomieniu programu, obiekt User ładnie się przedstawia.

Więcej informacji o @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor oraz @ToString.

equals i hashcode

Jeśli obiekt będzie używany z kolekcjami, warto wygenerować equals i hashcode.
Więcej informacji o @EqualsAndHashCode.

Kompleksowo: gettery, settery, equals, hashcode, toString oraz konstruktor (wymagany)

Adnotacja @Data to skrót do poprzednich czterech + @RequiredArgsConstructor.
Więcej o @Data.

close (z interfejsu strumieni) w sekcji finally

Generuje odpowiednią sekcję try-finally i zamyka strumień.
Więcej o @Cleanup.

lepsza synchronizacja metod

Synchronizuje na osobnym locku; jeśli się go nie wskaże w atrybucie, zostanie utworzony (z Object[0]).
Więcej o @Synchronized.

logger

Zwraca jedną z czterech implementacji logowania.
Więcej o @Log, @CommonsLog, @Log4j i @Slf4j.

kilka eksperymentalnych feature’ów

Więcej o @Accessors, @ExtensionMethod, @FieldDefaults, @Wither i @Value.

Jeśli z jakichś powodów nie chcemy już więcej używać Lomboka lub potrzebujemy generowany kod w kodzie źródłowym, możemy użyć delomboka.

Leave a Reply

Szukaj
Facebook
Prenumerata

Podaj adres email aby otrzymywać info o nowych wpisach.

Kategorie