这是我的卖家课程
public class Seller {
private boolean isActive;
private String name;
//if isActive = true
@NotNull
@Enumerated
private ActiveReason reason;
//if isActive = false
@NotNull
@Enumerated
private InActiveReason reason2;
}
这是我的主要实体
public class Book {
private Seller seller;
private SavingUnit savingUnit;
}
他们将从服务(UI)中选择枚举。
如果isactive
= true,将选择不同的原因。如果为假,则原因不同。
我可以在Seller.class
中仅使用一个枚举类和一个变量吗?像
@DependsOnIsActive
private Reason reason
我可以使用验证器,在验证器中,我可以使用类似这样的东西:
public class SellerDesctiptionValidator implements ConstraintValidator<SellerDesctiptionValidator, Book> {
@Override
public boolean isValid(Book book, Boolean isActive ConstraintValidatorContext context) {
return Reason.enum (isActive );
}
}
或者您有什么建议?我不必只使用一个枚举和一个变量。两个枚举和两个变量会很容易,但是我想改善自己和代码。
这两个原因activereason
和inactivereason
没有任何共同之处。它们是完全不同的。