注解类型 SuperBuilder


@Target(TYPE) @Retention(SOURCE) public @interface SuperBuilder
SuperBuilder 注解为使用 @SuperBuilder 注解的类创建所谓的“构建器”方面,但在扩展时效果良好。它类似于 @Builder,但仅在类型上合法,配置性较低,但允许您 extends 其他可构建的类。

层次结构中的所有类都必须使用 @SuperBuilder 注解。

Lombok 生成 2 个内部“构建器”类,它们扩展父类的构建器类(除非您的类没有 extends 子句)。Lombok 还会生成一个名为 builder() 的静态方法和一个接受构建器类类型的一个参数的受保护构造函数。

TBuilder 类为带注解的构造函数/方法(在注解类时为每个字段)的每个参数包含 1 个方法,该方法返回构建器本身。构建器还有一个 build() 方法,该方法返回原始类型的已完成实例。

完整的文档请见 @SuperBuilder 的 project lombok 功能页面

另请参阅
  • 元素详情

    • builderMethodName

      String builderMethodName
      返回
      创建新的构建器实例的方法的名称。默认值:builder。如果为空字符串,则禁止生成 builder 方法。
      默认
      "builder"
    • buildMethodName

      String buildMethodName
      返回
      构建器类中创建 @Builder 注解类的实例的方法的名称。
      默认
      "build"
    • 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 字段,生成的方法名为 withNamewithNamesclearNames,而不是默认的 namenamesclearNames。此前缀仅适用于带注解的类的字段的“set”方法。出于一致性原因,您应该在所有使用 @SuperBuilder 的超类和子类上使用相同的前缀。
      返回
      要添加到生成的方法名称的前缀。
      默认
      ""