注解类型 SuperBuilder
SuperBuilder
注解为使用 @SuperBuilder
注解的类创建所谓的“构建器”方面,但在扩展时效果良好。它类似于 @Builder
,但仅在类型上合法,配置性较低,但允许您 extends
其他可构建的类。层次结构中的所有类都必须使用 @SuperBuilder
注解。
Lombok 生成 2 个内部“构建器”类,它们扩展父类的构建器类(除非您的类没有 extends 子句)。Lombok 还会生成一个名为 builder()
的静态方法和一个接受构建器类类型的一个参数的受保护构造函数。
TBuilder
类为带注解的构造函数/方法(在注解类时为每个字段)的每个参数包含 1 个方法,该方法返回构建器本身。构建器还有一个 build()
方法,该方法返回原始类型的已完成实例。
完整的文档请见 @SuperBuilder 的 project lombok 功能页面。
- 另请参阅
-
可选元素概要
可选元素修饰符和类型可选元素描述要添加到生成的构建器类中“set”方法的前缀。boolean
如果为true
,则生成一个实例方法以获取使用此实例的值初始化的构建器。
-
元素详情
-
builderMethodName
-
buildMethodName
-
toBuilder
boolean toBuilder如果为true
,则生成一个实例方法以获取使用此实例的值初始化的构建器。在这种情况下,所有超类也必须具有toBuilder=true
。- 返回
- 是否生成
toBuilder()
方法。
- 默认
false
-
setterPrefix
String setterPrefix要添加到生成的构建器类中“set”方法的前缀。默认情况下,生成的方法不包含前缀。例如,通常生成为someField(String someField)
的方法,如果使用@SuperBuilder(setterPrefix = "with")
,则会生成为withSomeField(String someField)
。请注意,强烈建议不要使用“with”作为构建器 setter 方法的前缀,因为“with”通常表示不可变数据结构,而构建器按定义是可变对象。对于@Singular
字段,生成的方法名为withName
、withNames
和clearNames
,而不是默认的name
、names
和clearNames
。此前缀仅适用于带注解的类的字段的“set”方法。出于一致性原因,您应该在所有使用@SuperBuilder
的超类和子类上使用相同的前缀。- 返回
- 要添加到生成的方法名称的前缀。
- 默认
""
-