El Noguer

Joaquim Perez i Noguer

projectlombok.org

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 4:46 pm on Dilluns, Agost 5, 2019

El llenguatge Java no té Properties com el .Net, ni té paràmetres opcionals. En Java ofereix alternatives menys netes. Quantes vegades cal escriure el codi del getter, setter de la propietat, definir el Logger a partir del nom de la classe, picar el codi de l’equals o el hashCode(). Tot això es pot simplificar si es fa servir https://projectlombok.org/features/all

val

Finally! Hassle-free final local variables.

var

Mutably! Hassle-free local variables.

@NonNull

or: How I learned to stop worrying and love the NullPointerException.

@Cleanup

Automatic resource management: Call your close() methods safely with no hassle.

@Getter/@Setter

Never write public int getFoo() {return foo;} again.

@ToString

No need to start a debugger to see your fields: Just let lombok generate a toString for you!

@EqualsAndHashCode

Equality made easy: Generates hashCode and equals implementations from the fields of your object..

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field.

@Data

All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!

@Value

Immutable classes made very easy.

@Builder

… and Bob’s your uncle: No-hassle fancy-pants APIs for object creation!

@SneakyThrows

To boldly throw checked exceptions where no one has thrown them before!

@Synchronized

synchronized done right: Don’t expose your locks.

@Getter(lazy=true)

Laziness is a virtue!

@Log

Captain’s Log, stardate 24435.7: “What was that line again?”



No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>