【发布时间】:2018-11-01 10:04:23
【问题描述】:
我有两个这样的课程:
@Builder
public class Parent {
final int a;
final int b;
public class static ParentBuilder {
public ParentBuilder setAllTo(final int value) {
return a(value).b(value);
}
}
}
public class Child extends Parent {
final in c;
@Builder(builderMethodName = "childBuilder")
public Child(final int a, final int b, final int c) {
super(a, b);
this.c = c;
}
}
我的班级越来越大,领域也越来越多。
这是使用@SuperBuilder 的原因。但是如何添加自定义的构建器方法呢?
dosent 的工作方式相同。我试过这样:
@SuperBuilder
public abstract class Parent { //yes, I want a abstract parent
final int a;
final int b;
public class static ParentBuilder {
public ParentBuilder setAllTo(final int value) {
return a(value).b(value);
}
}
}
@SuperBuilder
public class Child extends Parent {
final in c;
}
编辑
目前还不可能。当我尝试以相同的方式进行操作时,我遇到了一个异常:@SuperBuilder does not support customized builders. Use @Builder instead.
覆盖是这样的内部类:
public abstract static class ParentBuilder<C extends ParentBuilder, B extends Parent.ParentBuilder<C, B>> {
// custom imlementations here
}
【问题讨论】: