Translate

середу, 9 січня 2013 р.

Lombok project


If you tired of writing get/set or equals/hashcode methods you can try Lombok. It's a cute project which provides several useful annotations  like

@Getter / @Setter
Never write public int getFoo() {return foo;} again.
@Getter(lazy=true)
Laziness is a virtue!
@ToString
No need to start a debugger to see your fields: Just let lombok generate a toString for you!
@EqualsAndHashCode
Generates hashCode and equals implementations from the fields of your object.

and many others.

With Lombok your class will look like
01 import lombok.ToString;
02 
03 @ToString(exclude="id")
04 public class ToStringExample {
05   private static final int STATIC_VAR = 10;
06   @Getter @Setter(AccessLevel.PROTECTED) private String name;
07   @Getter @Setter  private int id;
08   
09 }


2 коментарі:

  1. Not so obvious.
    In new version it is impossible to set @Getter or @Setter on fields which also needs other annotations on field's getter or setter methods. So, you'll get perfect spagetti where some fields would have annotated getters and other strictly defined...

    Have a nice coding!

    ВідповістиВидалити
  2. It's good choice for some routine classes like dto but obviously it can provoke issue on jpa entity. So sometime it is useful sometime not.

    ВідповістиВидалити