如果在构建器中未指定名称或内容的情况下尝试构建,我希望引发异常。如果我没有设置" name"会发生这种情况,但如果我没有设置" stuff"则会发生这种情况。
@Value.Immutable
public abstract class Data {
public abstract String name();
public abstract List<String> stuff();
}
有人可以指出我如何强制要求使用Immutables库指定列表或将对象添加到列表中吗?
答案 0 :(得分:1)
您应该将前提条件检查实施为described in the documentation。
对于您的课程,它可能如下所示:
@Value.Check
protected void check() {
Preconditions.checkState(!stuff().isEmpty(), "At least one stuff must be specified.");
}