我通过如下定义 ENUM 来验证从数据库检索的记录的状态
public enum RecordStatusEnum {
CREATED("CREATED"),
INSERTED("INSERTED"),
FAILED("FAILED");
private String recordStatusValue;
RecordStatusEnum (String status) {
recordStatusValue= status;
}
public boolean isSuccess() {
return (this.equals(CREATED) || this.equals(INSERTED));
}
}
isSuccess() 方法用于检查检索到的记录的状态(来自员工的列状态)
if (!(employee.getStatus().isSuccess())) {
// return error
}
根据新要求,引入了一系列条件,如 A、B 和 C;对于他们来说,员工表中有一列“条件”。
因此,我需要检索状态和条件,并查看它是否属于具有两者组合的集合。
例如: isSuccess() 应检查是否符合以下条件:
CREATED and A
CREATED and B
INSERTED and C
必须实现这一点,以便我可以轻松地将新组合“INSERTED and B”添加到列表中。
解决上述问题的最佳方法是什么?
Note:在实际的业务场景中,有更多的状态和检查(例如 isFailed() canBeModified() 等)以及许多不同的组合
即使不使用 ENUMS,也可以建议任何方法。我提到了 ENUMS,因为我不想与现有的实现有太大偏差