在调用.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;
}
}
}