Может ли lombok генерировать конструктор исключительно на основе типа? - PullRequest
0 голосов
/ 09 января 2020

У меня есть сценарий использования, где Я не хочу использовать @Builder для самого класса , поэтому я создал построитель на основе методов следующим образом:

  @Builder(builderMethodName = "carBuilder")
  public static Car build(int speed, String brand){
    Car car = new Car();
    car.setSpeed(speed);
    car.setBrand(brand);
    return car;
  }

Но как я могу справиться, когда у данного класса есть тонна полей (более ~ 20). Должен ли я действительно указывать их в качестве параметров и вызывать установщики вручную?
Не мог ли lombok генерировать их автоматически на основе типа?

1 Ответ

2 голосов
/ 09 января 2020

В настоящее время это невозможно, потому что Lombok при обработке файла избегает проверки типов из других источников на пути к классам.

Почему вы не добавили @Builder к самому классу? Если вы можете описать общий вариант использования для этого, вы или кто-то еще могли бы добавить эту способность в Lombok. Однако в настоящее время я не вижу веских причин для этого. Большинство библиотек уже должно быть относительно простым в использовании, и если это ваш собственный код, почему бы просто не добавить Lombok?

Также основная причина, по которой я добавляю @Builder, заключается в том, что я хочу, чтобы мои классы были неизменяемыми - учитывая, что фактический объект здесь все еще изменчив, зачем использовать строитель, а не сеттеры?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...