javalombok

Omitting one Setter/Getter in Lombok


I want to use a data class in Lombok. Since it has about a dozen fields, I annotated it with @Data in order to generate all the setters and getters. However, there is one special field for which I don't want the accessors to be implemented.

How do I make Lombok omit this field?


Solution

  • You can pass an access level to the @Getter and @Setter annotations. This is useful to make getters or setters protected or private. It can also be used to override the default.

    With @Data, you have public access to the accessors by default. You can now use the special access level NONE to completely omit the accessor, like this:

    @Getter(AccessLevel.NONE)
    @Setter(AccessLevel.NONE)
    private int mySecret;