Как запустить код после конструктора в сборщике LombokJAVA

Программисты JAVA общаются здесь
Anonymous
Как запустить код после конструктора в сборщике Lombok

Сообщение Anonymous »

У меня есть класс, который я хочу использовать Lombok.Builder, и мне нужна предварительная обработка некоторых параметров. Примерно так:

Код: Выделить всё

@Builder
public class Foo {
public String val1;
public int val2;
public List listValues;

public void init(){
// do some checks with the values.
}
}
обычно я бы просто вызвал init() для конструктора NoArg, но с сгенерированным построителем я не могу этого сделать. Есть ли способ вызвать этот init сгенерированным сборщиком? Например, build() сгенерирует такой код:

Код: Выделить всё

public Foo build() {
Foo foo = Foo(params....)
foo.init();
return foo;
}
Я знаю, что могу вручную закодировать конструктор всех аргументов, который будет вызываться через него Builder, и я могу вызвать init внутри там.

Но это неоптимальное решение, поскольку в мой класс, скорее всего, будут время от времени добавляться новые поля, что также будет означать изменение конструктора.>

Подробнее здесь: https://stackoverflow.com/questions/379 ... ok-builder

Вернуться в «JAVA»