Исключить поля из конструктора lombok

Как исключить поля из конструктора lombok? Или как создать конструктор не для всех полей в классе? В моём классе используется аннотация Builder, поэтому решение с аннотацией NonNull или ключевым словом final не подходят. Помню, что когда-то использовал какую-то аннотацию с параметром exclude, но сейчас не могу её найти.


Ответы (1 шт):

Автор решения: Engenii

Видимо автор вопроса желает получить Builder из Lombok с нужными ему полями класса (не включая все поля класса). Ответ был дан Roel Spilker здесь

Использование @Builder над собственным конструктором, с необходимыми полями.

public class Cat {
    private Long id;
    private String name;
    private String color;

    @Builder
    public Cat(String name, String color) {
        this.name = name;
        this.color = color;
  }
}

Или использование @Builder над статическим методом

public class Cat {
    private Long id;
    private String name;
    private String color;

    public Cat(Long id, String name, String color) {
        this.id = id;
        this.name = name;
        this.color = color;
    }

    @Builder
    public static Cat buildCat(String name, String color) {
        return new Cat(SomeGenerator.get(), name, color);
    }
}
→ Ссылка