46 lines
1.2 KiB
Java
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;
|
|
}
|
|
}
|