A tutti coloro che, almeno una volta, hanno storto il naso di fronte a caterve di metodi get
/set
, toString
ed altri che rendevano prolisso e poco leggibile il proprio codice, Lombok potrebbe tornare assai utile.
Si tratta di una libreria (jar) ideata con l’obiettivo di minimizzare la scrittura di codice necessario ad operazioni utilizzate di frequente nella stesura di classi java (essenzialmente POJO) grazie all’utilizzo di annotazioni ad hoc:
- @Getter e @Setter per metodi
get
eset
; - @ToString per il metodo
toString
; - @EqualsAndHashCode per i metodi
equals
ehashcode
; - @Data per riassumere con una sola annotazione tutte le quattro precedenti;
- @Cleanup per il resource management;
- @Synchronized per una migliore gestione dei metodi
synchronized
- @SneakyThrows per blocchi
try
/catch
Le annotazioni sono anche parametrizzabili: ad esempio, se per un attributo si prevede unicamente un setter a livello di accesso protected sarà possibile indicarlo all’interno dell’annotazione, come osservabile dall’esempio relativo a getter e setter.
Scritte le annotazioni, sarà Lombok a farsi carico della conversione in nei relativi metodi a compile-time, sollevando lo sviluppatore dalla necessità di doverli scrivere a mano: in questo modo si riduce l’ammontare di codice necessario rispetto ad una soluzione “classicaâ€, ma si mantiene una perfetta equivalenza in termini di bytecode.
Ottima anche l’integrazione con Eclipse (e suoi derivati): una volta scritto il codice annotato, il compilatore Eclipse riconoscerà istantaneamente i metodi generati da Lombok, metodi che risulteranno subito invocabili all’interno dell’applicazione.
Per ulteriori informazioni ci sono il sito ufficiale di Lombok ed un articolo su IBM developerWorks.