註解類型 SuperBuilder
SuperBuilder 註解為標註
@SuperBuilder
的類別建立所謂的 'builder' 方面,但在擴充時效果良好。它與 @Builder
相似,只是它僅在類型上合法,可配置性較低,但允許您 extends
其他可 builder 的類別。層次結構中的所有類別都必須使用 @SuperBuilder
註解。
Lombok 會產生 2 個內部 'builder' 類別,它們擴充父類別的 builder 類別(除非您的類別沒有 extends 子句)。Lombok 也會產生一個名為 builder()
的靜態方法,以及一個接受 builder 類別類型的一個引數的受保護建構子。
TBuilder
類別包含一個方法,對應於註解建構子 / 方法的每個參數(註解類別時為每個欄位),該方法會回傳 builder 本身。builder 也具有一個 build()
方法,該方法會回傳原始類型的已完成實例。
- 另請參閱
-
可選元素摘要
可選元素修飾詞與類型可選元素描述要添加到生成器類別中 'set' 方法前面的前綴。布林值
如果為true
,則產生一個實例方法,以取得使用此實例值初始化的 builder。
-
元素詳細資訊
-
builderMethodName
-
buildMethodName
-
toBuilder
boolean toBuilder如果為true
,則產生一個實例方法,以取得使用此實例值初始化的 builder。在這種情況下,所有父類別也必須具有toBuilder=true
。- 回傳
- 是否產生
toBuilder()
方法。
- 預設
false
-
setterPrefix
String setterPrefix要添加到生成器類別中 'set' 方法前面的前綴。預設情況下,產生的方法不包含前綴。例如,如果使用@SuperBuilder(setterPrefix = "with")
,則通常產生為someField(String someField)
的方法將改為產生為withSomeField(String someField)
。請注意,強烈建議不要使用 "with" 作為 builder setter 方法的前綴,因為 "with" 通常表示不可變的資料結構,而 builder 定義上是可變物件。對於@Singular
欄位,產生的方法稱為withName
、withNames
和clearNames
,而不是預設的name
、names
和clearNames
。此前綴僅適用於註解類別欄位的 'set' 方法。為了保持一致性,您應該在所有使用@SuperBuilder
的父類別和子類別上使用相同的前綴。- 回傳
- 要添加到產生方法名稱前面的前綴。
- 預設
""
-