롬복 빌더 패키지 범위

k13i :

내가 생성하고자하는 package-scope사용 빌더 롬복을 하지만, 가능하다면 나는 (내가 어떤 단서를 찾을 수 없습니다 모르겠어요 문서 ).

기본 롬복 생성하여 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 (액세스 = AccessLevel.PACKAGE) 법적 (그리고 지정된 액세스 레벨 등 빌더 클래스 빌더 방법을 생성) 롬복 v1.18.8 시작하여

이 빌더의 소스 코드를 볼 경우 그리고 여기 , 당신은 기본적으로의 액세스 레벨이 것을 알 수 @Builder있을 것입니다 lombok.AccessLevel.PUBLIC만, 패키지 개인으로 할 수있다 @Builder(access = AccessLevel.PACKAGE).

또한 참고로, 다음과 같은 액세스 수준이 지원됩니다 @Builder: PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE. 이는 경유 AccessLevel열거의 소스 코드를 여기에 .

추천

출처http://43.154.161.224:23101/article/api/json?id=230845&siteId=1