001package cn.sticki.validator.spel.result;
002
003import java.util.ArrayList;
004import java.util.Collections;
005import java.util.List;
006
007/**
008 * 对象校验结果
009 *
010 * @author 阿杆
011 * @version 1.0
012 * @since 2024/4/29
013 */
014public class ObjectValidResult {
015
016        private final ArrayList<FieldError> errors = new ArrayList<>();
017
018        public boolean hasError() {
019                return !errors.isEmpty();
020        }
021
022        public boolean noneError() {
023                return errors.isEmpty();
024        }
025
026        public List<FieldError> getErrors() {
027                return Collections.unmodifiableList(errors);
028        }
029
030        public int getErrorSize() {
031                return errors.size();
032        }
033
034        /**
035         * 添加校验结果
036         * <p>
037         * 当校验结果为false时,会将错误信息添加到结果中
038         */
039        public void addFieldResults(List<FieldValidResult> results) {
040                List<FieldError> errors = new ArrayList<>();
041                for (FieldValidResult result : results) {
042                        if (!result.isSuccess()) {
043                                errors.add(new FieldError(result.getFieldName(), result.getMessage()));
044                        }
045                }
046                this.errors.addAll(errors);
047        }
048
049}