DomainObjectStatus.java
- package no.nav.data.team.shared.domain;
- import no.nav.data.common.exceptions.ValidationException;
- import java.util.Arrays;
- import java.util.List;
- public enum DomainObjectStatus {
- ACTIVE, PLANNED, INACTIVE;
- public static List<DomainObjectStatus> fromQueryParameter(String statusQueryParameter) {
- var strList = statusQueryParameter.split(",");
- if (strList.length > 3) {
- throw new ValidationException("Status list too long, max is 3");
- }
- var procesedStrList = Arrays.stream(strList).map(String::trim).map(String::toUpperCase).toList();
- procesedStrList.forEach(it -> {
- if (!List.of("ACTIVE", "PLANNED", "INACTIVE").contains(it)) {
- throw new ValidationException("Invalid status parameter: " + it);
- }
- });
- return procesedStrList.stream().map(DomainObjectStatus::valueOf).toList();
- }
- public boolean isActive() {
- return this == ACTIVE;
- }
- }