@Target(value=TYPE) @Retention(value=SOURCE) public @interface SuperBuilder
@SuperBuilder, but which works well when extending.
It is similar to @Builder, except it is only legal on types, is less configurable, but allows you to extends other builder-able classes.
All classes in the hierarchy must be annotated with @SuperBuilder.
Lombok generates 2 inner 'builder' classes, which extend the parent class' builder class (unless your class doesn't have an extends clause).
Lombok also generates a static method named builder(), and a protected constructor that takes 1 argument of the builderclass type.
The TBuilder class contains 1 method for each parameter of the annotated
constructor / method (each field, when annotating a class), which returns the builder itself.
The builder also has a build() method which returns a completed instance of the original type.
Complete documentation is found at the project lombok features page for @SuperBuilder.
Singular| Modifier and Type | Optional Element and Description |
|---|---|
String |
builderMethodName |
String |
buildMethodName |
boolean |
toBuilder
If
true, generate an instance method to obtain a builder that is initialized with the values of this instance. |
public abstract String builderMethodName
builder. If the empty string, suppress generating the builder method.public abstract String buildMethodName
@Builder-annotated class.Copyright © 2020. All rights reserved.