-
- Imagine you have a very simple class:
-
public class Mountain {
- private final String name;
- private final double latitude, longitude;
- private String country;
-}
-
- While that is fairly clear, that class is not complete. In fact, it won't compile like that.
- You'll need to add a constructor to initialize those final fields, you probably want getters, a setter for country,
- and to be complete, a nice toString as well as an implementation for equals and hashCode.
- Eclipse can generate all these methods for you, but then you end up with over 70 lines of boilerplate. It's going to be hard
- to see any surprises buried amongst all those lines of code! Lombok has the answer to this problem.
-
- So instead of this mess:
-
- lombok simply offers you an annotation that tells eclipse to generate all this stuff for us silently, without
- cluttering up your source file, like so:
-
-
- Note how we haven't even saved the file yet, but in the outline view you can already see all the various methods generated
- by the @Data annotation. That's because lombok is completely integrated into eclipse. The moment you type
- the last character of your annotation, all the methods exist, just as if you write the last character on a method declaration.
- In other words, lombok is not just an annotation processor!
-
- But what about your build process? Lombok works just as well in javac. All you need to do is add
- lombok.jar to the class path as you compile. Like so:
-
-
- @Data is nice, but its certainly not the only boilerplate buster that lombok has to offer. If you need
- more fine grained control, there's @Getter and @Setter, and to help you in correctly
- cleaning up your resources, @Cleanup can automatically and without cluttering your source files generate
- try/finally blocks to safely call close() on your resource objects. That's not all, but for the complete
- list you'll need to head over to the feature overview.
-
- Ready to install lombok? Start by clicking the download button at the top of this page. Going from clicking that button
- to having your eclipse ready to go takes less than 12 seconds - it's that simple.
-
- Thanks for checking out Project Lombok, and let us know what you think!
-
- If you'd like to read more, check out
- Reducing boilerplate code with Project Lombok
- written by Michael Kimberlin.
-
-