| | |
| | | package com.iailab.framework.common.validation; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.iailab.framework.common.core.IntArrayValuable; |
| | | import com.iailab.framework.common.core.ArrayValuable; |
| | | |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | public class InEnumCollectionValidator implements ConstraintValidator<InEnum, Collection<Integer>> { |
| | | public class InEnumCollectionValidator implements ConstraintValidator<InEnum, Collection<?>> { |
| | | |
| | | private List<Integer> values; |
| | | private List<?> values; |
| | | |
| | | @Override |
| | | public void initialize(InEnum annotation) { |
| | | IntArrayValuable[] values = annotation.value().getEnumConstants(); |
| | | ArrayValuable<?>[] values = annotation.value().getEnumConstants(); |
| | | if (values.length == 0) { |
| | | this.values = Collections.emptyList(); |
| | | } else { |
| | | this.values = Arrays.stream(values[0].array()).boxed().collect(Collectors.toList()); |
| | | this.values = Arrays.asList(values[0].array()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean isValid(Collection<Integer> list, ConstraintValidatorContext context) { |
| | | public boolean isValid(Collection<?> list, ConstraintValidatorContext context) { |
| | | // 校验通过 |
| | | if (CollUtil.containsAll(values, list)) { |
| | | return true; |