Каков наилучший подход для проверки комбинации значений с использованием ENUMS в Java?
Я проверяю статус записи, полученной из БД, определяя 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
Это должно быть достигнуто так, чтобы мне было легко добавить новую комбинацию, скажем:ВСТАВЛЕНО и B ' в список легко.
Каков наилучший подход к вышеуказанной проблеме?
Заметка : в реальном бизнес-сценарии гораздо больше статусов и проверок (например, isFailed () canBeModified () и т. д.) с множеством различных комбинаций
И любой метод может быть предложен, даже если он нет использовать ENUMS. Я упомянул ENUMS, потому что я не хочу сильно отклоняться от существующей реализации