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