Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java
2024-09-13 15:22:43 +05:30

46 lines
1.2 KiB
Java

package net.gepafin.tendermanagement.util;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import net.gepafin.tendermanagement.web.rest.api.errors.ValidationException;
public class FieldValidator {
private final List<String> errors = new ArrayList<>();
public static FieldValidator create() {
return new FieldValidator();
}
public FieldValidator notNull(Object object, String fieldName) {
if (Objects.isNull(object)) {
errors.add(MessageFormat.format(Translator.toLocale(GepafinConstant.FIELD_NOT_NULL), fieldName));
}
return this;
}
public FieldValidator notEmpty(List<?> list, String fieldName) {
if (list == null || list.isEmpty()) {
errors.add(MessageFormat.format(Translator.toLocale(GepafinConstant.FIELD_NOT_EMPTY), fieldName));
}
return this;
}
public void validate() {
if (!errors.isEmpty()) {
throw new ValidationException(Status.VALIDATION_ERROR, errors);
}
}
public FieldValidator addError( String errorMessage) {
errors.add(errorMessage);
return this;
}
}