[英]Lombok builder package scope
我想使用Lombok生成package-scope
構建器,但我不確定它是否可行(我沒有在文檔中找到任何線索)。
默認情況下,Lombok生成public
構建器,即此代碼:
@Builder
class User {
private final String name;
}
翻譯成這個:
class User {
private final String name;
User(final String name) {
this.name = name;
}
public static User.UserBuilder builder() { // <-- how to make it package-private?
return new User.UserBuilder();
}
public static class UserBuilder { // <-- how to make it package-private?
private String name;
UserBuilder() {
}
public User.UserBuilder name(final String name) {
this.name = name;
return this;
}
public User build() {
return new User(this.name);
}
public String toString() {
return "User.UserBuilder(name=" + this.name + ")";
}
}
}
有沒有辦法生成沒有這個領先的public
關鍵字的構建器類?
請查看@Builder文檔中的以下內容 :
@Builder(access = AccessLevel.PACKAGE)是合法的(並將生成具有指示的訪問級別的構建器類,構建器方法等)從lombok v1.18.8開始
如果你看到生成器的源代碼, 在這里 ,你會看到,默認情況下,訪問級別@Builder
將lombok.AccessLevel.PUBLIC
,但可以制成包裝和私營部門與@Builder(access = AccessLevel.PACKAGE)
。
另外,僅供參考, @Builder
支持以下訪問級別: PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE
。 這是通過AccessLevel
枚舉的源代碼在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.