为所需的超级字段生成构造函数

Generate constructor for required super fields

我有以下 class:

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public abstract class EmailData {

    private final Iterable<String> recipients;
}

和以下子class:

import lombok.Getter;

@Getter
public class PasswordRecoveryEmail extends EmailData {

    private final String token;
}

是否有可能以这样的方式注释 PasswordRecoveryEmail,以便为必需的 class 和 superclass 字段生成构造函数?

@…Constructor 注解不会显式调用构造函数,因此它们都依赖于默认构造函数来完成适当的工作。所以,不,你不能说服 Lombok 为你创建这些构造函数。

最接近的是:

  1. EmailData 中提供默认构造函数(无参数),即 protected 并为 recipients.
  2. 分配一些合理的值
  3. 自己编写 PasswordRecoveryEmail 所需的参数构造函数。

根据我的经验,Lombok 常常没有完全涵盖继承。