Lombok features
@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
- 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-null field, 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
!
@Cleanup
- Automatic resource management: Call your
close()
methods safely with no hassle.
@Synchronized
synchronized
done right: Don't expose your locks.
@SneakyThrows
- To boldly throw checked exceptions where no one has thrown them before!
@Log
- Captain's Log, stardate 24435.7: "What was that line again?"
val
- Finally! Hassle-free final local variables.
@Delegate
- Don't lose your composition.
onMethod=,onParam=,onConstructor=
- Annotate this! Add you favorite annotation to methods generated by lombok.
The documentation above is a lot easier to follow, but if you want to build your own transformations,
or you want to add javadoc to
lombok.jar
in your IDE, you can also check out
the javadoc.
Running Lombok
On eclipse
Execute lombok.jar (doubleclick it, or run java -jar lombok.jar). Follow instructions.
On javac (and maven, ant, and other build tools)
Include lombok.jar on the classpath as you compile. That's all there is to it!
Lombok hosts its own maven repository, so adding lombok to maven is very simple.
full instructions are here.
On GWT (Google Widget Toolkit), javadoc, and other source-based tools
Use
delombok first, then run javadoc or GWT on the delombok-ed code.
Running delombok
Delombok copies your source files to another directory, replacing all lombok annotations with their desugared form. So, it'll turn
@Getter
back into the actual getter. It then removes the annotation. This is useful for all sorts of reasons; you can check out what's happening under the hood,
if the unthinkable happens and you want to stop using lombok, you can easily remove all traces of it in your source, and you can use delombok to preprocess
your source files for source-level tools such as javadoc and GWT. More information about how to run delombok, including instructions for build tools
can be found at the
delombok page.