如何在调用 cls.builder.param().build() 时使用虚拟值初始化构建器 class 成员

How to initialize builder class members with dummy values while calling cls.builder.param().build()

我需要在调用 .param()

时使用一些虚拟值初始化我的构建器 class 成员
@Builder
public class MyQuery {
       private String param1;
       private String param1;
       private String param1;
       private String param1;
       ...
       private String param100;
}

当我像下面这样调用构建器 class 时,我希望它们用一些虚拟值(或空字符串)初始化,其余的应该为空。如果我使用 LOMBOK 生成器,则必须使用一些值将其初始化为 .param1("some string")。有没有图书馆可以帮到我。

    MyQuery query = MyQuery.builder()
            .param1()
            .param2()
            .param3()
            .build();

无论我调用哪个参数,都应该有一些虚拟值(非空,也可以为空)。

在浏览了 lombok builder 文档之后,我意识到我可以做如下事情。如果同名资源已经存在,Lombok 将不会生成资源。这种方法仍然会减少一些样板代码。

import lombok.Builder;

    @Builder
    public class MyQuery {

        private static final String SOME_STRING = "This is needed"; 
        private String paramWithNoSpecialCase // This is any other parameter, lombok will generate the builder for this.
        private String param1;
        private String param2;
        private String param3;


        public static class MyQueryBuilder {

            public MyQuery.MyQueryBuilder param1() {
                this.param1 = SOME_STRING;
                return this;
            }
            public MyQuery.MyQueryBuilder param2() {
                this.param1 = SOME_STRING;
                return this;
            }
            public MyQuery.MyQueryBuilder param3() {
                this.param1 = SOME_STRING;
                return this;
            }
        }
    }