如何在调用cls.builder.param().build()时使用伪值初始化生成器类成员



在调用.praram((时,我需要用一些Dummy值初始化构建器类成员

@Builder
public class MyQuery {
       private String param1;
       private String param1;
       private String param1;
       private String param1;
       ...
       private String param100;
}

当我像下面这样调用构建器类时,我希望用一些伪值(或空字符串(初始化它们,其余的应该为null。如果我使用LOMBOK生成器,它必须用一些值初始化为.param1("一些字符串"(。这里有图书馆可以帮我吗。

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

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

在浏览了lombok构建器文档后,我意识到我可以做以下事情。如果已经存在具有相同名称的资源,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;
            }
        }
    }

相关内容

  • 没有找到相关文章

最新更新