private List processAnnotations()

in core/src/main/java/org/apache/struts2/validator/AnnotationValidationConfigurationBuilder.java [71:230]


    private List<ValidatorConfig> processAnnotations(Object o) {

        List<ValidatorConfig> result = new ArrayList<>();

        String fieldName = null;
        String methodName = null;

        Annotation[] annotations = null;

        if (o instanceof Class clazz) {
            annotations = clazz.getAnnotations();
        }

        if (o instanceof Method method) {
            fieldName = AnnotationUtils.resolvePropertyName(method);
            methodName = method.getName();

            annotations = method.getAnnotations();
        }

        if (annotations != null) {
            for (Annotation a : annotations) {

                // Process collection of custom validations
                if (a instanceof Validations) {
                    processValidationAnnotation(a, fieldName, methodName, result);
                }
                // Process single custom validator
                else if (a instanceof ExpressionValidator v) {
                    ValidatorConfig temp = processExpressionValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process single custom validator
                else if (a instanceof CustomValidator v) {
                    ValidatorConfig temp = processCustomValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process ConversionErrorFieldValidator
                else if (a instanceof ConversionErrorFieldValidator v) {
                    ValidatorConfig temp = processConversionErrorFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }

                }
                // Process DateRangeFieldValidator
                else if (a instanceof DateRangeFieldValidator v) {
                    ValidatorConfig temp = processDateRangeFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }

                }
                // Process EmailValidator
                else if (a instanceof EmailValidator v) {
                    ValidatorConfig temp = processEmailValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process CrediCardValidator
                else if (a instanceof CreditCardValidator v) {
                    ValidatorConfig temp = processCreditCardValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process FieldExpressionValidator
                else if (a instanceof FieldExpressionValidator v) {
                    ValidatorConfig temp = processFieldExpressionValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process IntRangeFieldValidator
                else if (a instanceof IntRangeFieldValidator v) {
                    ValidatorConfig temp = processIntRangeFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process LongRangeFieldValidator
                else if (a instanceof LongRangeFieldValidator v) {
                    ValidatorConfig temp = processLongRangeFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process ShortRangeFieldValidator
                else if (a instanceof ShortRangeFieldValidator v) {
                    ValidatorConfig temp = processShortRangeFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process DoubleRangeFieldValidator
                else if (a instanceof DoubleRangeFieldValidator v) {
                    ValidatorConfig temp = processDoubleRangeFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process RequiredFieldValidator
                else if (a instanceof RequiredFieldValidator v) {
                    ValidatorConfig temp = processRequiredFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process RequiredStringValidator
                else if (a instanceof RequiredStringValidator v) {
                    ValidatorConfig temp = processRequiredStringValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process StringLengthFieldValidator
                else if (a instanceof StringLengthFieldValidator v) {
                    ValidatorConfig temp = processStringLengthFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process UrlValidator
                else if (a instanceof UrlValidator v) {
                    ValidatorConfig temp = processUrlValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }

                }
                // Process ConditionalVisitorFieldValidator
                else if (a instanceof ConditionalVisitorFieldValidator v) {
                    ValidatorConfig temp = processConditionalVisitorFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process VisitorFieldValidator
                else if (a instanceof VisitorFieldValidator v) {
                    ValidatorConfig temp = processVisitorFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
                // Process RegexFieldValidator
                else if (a instanceof RegexFieldValidator v) {
                    ValidatorConfig temp = processRegexFieldValidatorAnnotation(v, fieldName, methodName);
                    if (temp != null) {
                        result.add(temp);
                    }
                }
            }
        }
        return result;
    }