Как запустить код после конструктора в сборщике Lombok
У меня есть класс, который я хочу использовать Lombok.Builder, и мне нужна предварительная обработка некоторых параметров. Что-то вроде этого:
@Builder
public class Foo {
public String val1;
public int val2;
public List<String> 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;
}
Я знаю, что могу вручную кодироватьall args
конструктор, что строитель будет звонить через него, и я могу позвонитьinit
внутри
Но это неоптимальное решение, так как мой класс, вероятно, будет время от времени добавлять новые поля, что также означало бы изменение конструктора.