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 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; } }