簡體   English   中英

龍目島中的@​​Delegate 和@Builder 組合

[英]@Delegate and @Builder combination in lombok

我有一個來自第三方 jar 的類 Acc.java 如下

@Data
public class Acc{

private String a;

private String b;

}

我在我的類中使用類 Acc,其中 Bcc.java 作為實例變量。 我想使用 lombok 在 Bcc.java 中為 Acc 實例變量創建構建器。

我嘗試了以下方式

@Data
@Builder
public class Bcc{

@Delegate
private Acc acc;
}

從上面的代碼中,我看到 Bcc.builder().acc() 這是具有構建 Acc 對象的方法的構建器。

但我需要 Bcc.builder.a("").b("").build()。 “a”和“b”是 Acc.java 類的一部分。

有人可以幫我嗎..?

我不認為 lombok 支持開箱即用。 但這里有一些代碼來支持這一點。

@Data
@Builder
public class Bcc {

    @Delegate
    private Acc acc;
    
    public static class BccBuilder {

        public Bcc.BccBuilder a(String a) {
            if (this.acc == null) this.acc = new Acc();
            this.acc.setA(a);
            return this;
        }

        public Bcc.BccBuilder b(String b) {
            if (this.acc == null) this.acc = new Acc();
            this.acc.setB(b);
            return this;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM