public class org.springframework.validation.beanvalidation.SpringValidatorAdapter implements org.springframework.validation.SmartValidator, javax.validation.Validator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.validation.beanvalidation.SpringValidatorAdapter
super_class: java.lang.Object
{
private static final java.util.Set<java.lang.String> internalAnnotationAttributes;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private javax.validation.Validator targetValidator;
descriptor: Ljavax/validation/Validator;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashSet
dup
iconst_4
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.validation.beanvalidation.SpringValidatorAdapter.internalAnnotationAttributes:Ljava/util/Set;
1: getstatic org.springframework.validation.beanvalidation.SpringValidatorAdapter.internalAnnotationAttributes:Ljava/util/Set;
ldc "message"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.springframework.validation.beanvalidation.SpringValidatorAdapter.internalAnnotationAttributes:Ljava/util/Set;
ldc "groups"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.springframework.validation.beanvalidation.SpringValidatorAdapter.internalAnnotationAttributes:Ljava/util/Set;
ldc "payload"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.validation.Validator);
descriptor: (Ljavax/validation/Validator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Target Validator must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 4 1 targetValidator Ljavax/validation/Validator;
MethodParameters:
Name Flags
targetValidator
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
void setTargetValidator(javax.validation.Validator);
descriptor: (Ljavax/validation/Validator;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 2 1 targetValidator Ljavax/validation/Validator;
MethodParameters:
Name Flags
targetValidator
public boolean supports(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 2 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public void validate(java.lang.Object, org.springframework.validation.Errors);
descriptor: (Ljava/lang/Object;Lorg/springframework/validation/Errors;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 2
1: aload 0
aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
iconst_0
anewarray java.lang.Class
invokeinterface javax.validation.Validator.validate:(Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
aload 2
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.processConstraintViolations:(Ljava/util/Set;Lorg/springframework/validation/Errors;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 3 1 target Ljava/lang/Object;
0 3 2 errors Lorg/springframework/validation/Errors;
MethodParameters:
Name Flags
target
errors
public void validate(java.lang.Object, org.springframework.validation.Errors, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Lorg/springframework/validation/Errors;[Ljava/lang/Object;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 4
1: aload 0
2: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
aload 0
aload 3
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.asValidationGroups:([Ljava/lang/Object;)[Ljava/lang/Class;
invokeinterface javax.validation.Validator.validate:(Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
aload 2
3: invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.processConstraintViolations:(Ljava/util/Set;Lorg/springframework/validation/Errors;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 5 1 target Ljava/lang/Object;
0 5 2 errors Lorg/springframework/validation/Errors;
0 5 3 validationHints [Ljava/lang/Object;
MethodParameters:
Name Flags
target
errors
validationHints
public void validateValue(java.lang.Class<?>, java.lang.String, , org.springframework.validation.Errors, []);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/validation/Errors;[Ljava/lang/Object;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 6
1: aload 0
aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
2: aload 1
aload 2
aload 3
aload 0
aload 5
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.asValidationGroups:([Ljava/lang/Object;)[Ljava/lang/Class;
3: invokeinterface javax.validation.Validator.validateValue:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
4: aload 4
5: invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.processConstraintViolations:(Ljava/util/Set;Lorg/springframework/validation/Errors;)V
6: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 7 1 targetType Ljava/lang/Class<*>;
0 7 2 fieldName Ljava/lang/String;
0 7 3 value Ljava/lang/Object;
0 7 4 errors Lorg/springframework/validation/Errors;
0 7 5 validationHints [Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/validation/Errors;[Ljava/lang/Object;)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
4:
MethodParameters:
Name Flags
targetType
fieldName
value
errors
validationHints
private java.lang.Class<?>[] asValidationGroups([]);
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Class;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashSet
dup
iconst_4
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.lang.Object[] java.util.Set top int int java.lang.Object[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
instanceof java.lang.Class
ifeq 5
4: aload 2
aload 3
checkcast java.lang.Class
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: aload 2
invokestatic org.springframework.util.ClassUtils.toClassArray:(Ljava/util/Collection;)[Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 8 1 validationHints [Ljava/lang/Object;
1 8 2 groups Ljava/util/Set<Ljava/lang/Class<*>;>;
3 5 3 hint Ljava/lang/Object;
Signature: ([Ljava/lang/Object;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
validationHints
protected void processConstraintViolations(java.util.Set<javax.validation.ConstraintViolation<java.lang.Object>>, org.springframework.validation.Errors);
descriptor: (Ljava/util/Set;Lorg/springframework/validation/Errors;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 34
StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.util.Set org.springframework.validation.Errors top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.validation.ConstraintViolation
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.determineField:(Ljavax/validation/ConstraintViolation;)Ljava/lang/String;
astore 5
start local 5 3: aload 2
aload 5
invokeinterface org.springframework.validation.Errors.getFieldError:(Ljava/lang/String;)Lorg/springframework/validation/FieldError;
astore 6
start local 6 4: aload 6
ifnull 5
aload 6
invokevirtual org.springframework.validation.FieldError.isBindingFailure:()Z
ifne 34
5: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.util.Set org.springframework.validation.Errors javax.validation.ConstraintViolation java.util.Iterator java.lang.String org.springframework.validation.FieldError
StackMap stack:
aload 3
invokeinterface javax.validation.ConstraintViolation.getConstraintDescriptor:()Ljavax/validation/metadata/ConstraintDescriptor;
astore 7
start local 7 6: aload 0
aload 7
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.determineErrorCode:(Ljavax/validation/metadata/ConstraintDescriptor;)Ljava/lang/String;
astore 8
start local 8 7: aload 0
aload 2
invokeinterface org.springframework.validation.Errors.getObjectName:()Ljava/lang/String;
aload 5
aload 7
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.getArgumentsForConstraint:(Ljava/lang/String;Ljava/lang/String;Ljavax/validation/metadata/ConstraintDescriptor;)[Ljava/lang/Object;
astore 9
start local 9 8: aload 2
instanceof org.springframework.validation.BindingResult
ifeq 27
9: aload 2
checkcast org.springframework.validation.BindingResult
astore 10
start local 10 10: new java.lang.StringBuilder
dup
aload 10
invokeinterface org.springframework.validation.BindingResult.getNestedPath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 11: aload 11
invokevirtual java.lang.String.isEmpty:()Z
ifeq 19
12: aload 10
aload 8
invokeinterface org.springframework.validation.BindingResult.resolveMessageCodes:(Ljava/lang/String;)[Ljava/lang/String;
astore 12
start local 12 13: new org.springframework.validation.ObjectError
dup
14: aload 2
invokeinterface org.springframework.validation.Errors.getObjectName:()Ljava/lang/String;
aload 12
aload 9
aload 3
invokeinterface javax.validation.ConstraintViolation.getMessage:()Ljava/lang/String;
15: invokespecial org.springframework.validation.ObjectError.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)V
astore 13
start local 13 16: aload 13
aload 3
invokevirtual org.springframework.validation.ObjectError.wrap:(Ljava/lang/Object;)V
17: aload 10
aload 13
invokeinterface org.springframework.validation.BindingResult.addError:(Lorg/springframework/validation/ObjectError;)V
end local 13 end local 12 18: goto 34
19: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.util.Set org.springframework.validation.Errors javax.validation.ConstraintViolation java.util.Iterator java.lang.String org.springframework.validation.FieldError javax.validation.metadata.ConstraintDescriptor java.lang.String java.lang.Object[] org.springframework.validation.BindingResult java.lang.String
StackMap stack:
aload 0
aload 5
aload 3
aload 10
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.getRejectedValue:(Ljava/lang/String;Ljavax/validation/ConstraintViolation;Lorg/springframework/validation/BindingResult;)Ljava/lang/Object;
astore 12
start local 12 20: aload 10
aload 8
aload 5
invokeinterface org.springframework.validation.BindingResult.resolveMessageCodes:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 13
start local 13 21: new org.springframework.validation.FieldError
dup
aload 2
invokeinterface org.springframework.validation.Errors.getObjectName:()Ljava/lang/String;
aload 11
22: aload 12
iconst_0
aload 13
aload 9
aload 3
invokeinterface javax.validation.ConstraintViolation.getMessage:()Ljava/lang/String;
23: invokespecial org.springframework.validation.FieldError.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Z[Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)V
astore 14
start local 14 24: aload 14
aload 3
invokevirtual org.springframework.validation.FieldError.wrap:(Ljava/lang/Object;)V
25: aload 10
aload 14
invokeinterface org.springframework.validation.BindingResult.addError:(Lorg/springframework/validation/ObjectError;)V
end local 14 end local 13 end local 12 end local 11 end local 10 26: goto 34
27: StackMap locals:
StackMap stack:
aload 2
aload 5
aload 8
aload 9
aload 3
invokeinterface javax.validation.ConstraintViolation.getMessage:()Ljava/lang/String;
invokeinterface org.springframework.validation.Errors.rejectValue:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)V
end local 9 end local 8 end local 7 28: goto 34
29: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.util.Set org.springframework.validation.Errors javax.validation.ConstraintViolation java.util.Iterator java.lang.String org.springframework.validation.FieldError
StackMap stack: org.springframework.beans.NotReadablePropertyException
astore 7
start local 7 30: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "JSR-303 validated property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "' does not have a corresponding accessor for Spring data binding - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc "check your DataBinder's configuration (bean property versus direct field access)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
33: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 5 end local 3 34: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter java.util.Set org.springframework.validation.Errors top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
35: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 36 1 violations Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;
0 36 2 errors Lorg/springframework/validation/Errors;
2 34 3 violation Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;
3 34 5 field Ljava/lang/String;
4 34 6 fieldError Lorg/springframework/validation/FieldError;
6 28 7 cd Ljavax/validation/metadata/ConstraintDescriptor<*>;
7 28 8 errorCode Ljava/lang/String;
8 28 9 errorArgs [Ljava/lang/Object;
10 26 10 bindingResult Lorg/springframework/validation/BindingResult;
11 26 11 nestedField Ljava/lang/String;
13 18 12 errorCodes [Ljava/lang/String;
16 18 13 error Lorg/springframework/validation/ObjectError;
20 26 12 rejectedValue Ljava/lang/Object;
21 26 13 errorCodes [Ljava/lang/String;
24 26 14 error Lorg/springframework/validation/FieldError;
30 34 7 ex Lorg/springframework/beans/NotReadablePropertyException;
Exception table:
from to target type
5 28 29 Class org.springframework.beans.NotReadablePropertyException
Signature: (Ljava/util/Set<Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;>;Lorg/springframework/validation/Errors;)V
MethodParameters:
Name Flags
violations
errors
protected java.lang.String determineField(javax.validation.ConstraintViolation<java.lang.Object>);
descriptor: (Ljavax/validation/ConstraintViolation;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.validation.ConstraintViolation.getPropertyPath:()Ljavax/validation/Path;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 2: iconst_1
istore 4
start local 4 3: aload 2
invokeinterface javax.validation.Path.iterator:()Ljava/util/Iterator;
astore 6
goto 19
StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter javax.validation.ConstraintViolation javax.validation.Path java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.validation.Path$Node
astore 5
start local 5 5: aload 5
invokeinterface javax.validation.Path$Node.isInIterable:()Z
ifeq 13
6: aload 3
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 5
invokeinterface javax.validation.Path$Node.getIndex:()Ljava/lang/Integer;
astore 7
start local 7 8: aload 7
ifnonnull 10
9: aload 5
invokeinterface javax.validation.Path$Node.getKey:()Ljava/lang/Object;
astore 7
10: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter javax.validation.ConstraintViolation javax.validation.Path java.lang.StringBuilder int javax.validation.Path$Node java.util.Iterator java.lang.Object
StackMap stack:
aload 7
ifnull 12
11: aload 3
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface javax.validation.Path$Node.getName:()Ljava/lang/String;
astore 7
start local 7 14: aload 7
ifnull 19
aload 5
invokeinterface javax.validation.Path$Node.getKind:()Ljavax/validation/ElementKind;
getstatic javax.validation.ElementKind.PROPERTY:Ljavax/validation/ElementKind;
if_acmpne 19
aload 7
ldc "<"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 19
15: iload 4
ifne 17
16: aload 3
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 4
18: aload 3
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 end local 5 19: StackMap locals: org.springframework.validation.beanvalidation.SpringValidatorAdapter javax.validation.ConstraintViolation javax.validation.Path java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
20: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 21 1 violation Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;
1 21 2 path Ljavax/validation/Path;
2 21 3 sb Ljava/lang/StringBuilder;
3 21 4 first Z
5 19 5 node Ljavax/validation/Path$Node;
8 13 7 index Ljava/lang/Object;
14 19 7 name Ljava/lang/String;
Signature: (Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;)Ljava/lang/String;
MethodParameters:
Name Flags
violation
protected java.lang.String determineErrorCode(javax.validation.metadata.ConstraintDescriptor<?>);
descriptor: (Ljavax/validation/metadata/ConstraintDescriptor;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.validation.metadata.ConstraintDescriptor.getAnnotation:()Ljava/lang/annotation/Annotation;
checkcast java.lang.annotation.Annotation
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 1 1 descriptor Ljavax/validation/metadata/ConstraintDescriptor<*>;
Signature: (Ljavax/validation/metadata/ConstraintDescriptor<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
descriptor
protected [] getArgumentsForConstraint(java.lang.String, java.lang.String, javax.validation.metadata.ConstraintDescriptor<?>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/validation/metadata/ConstraintDescriptor;)[Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 4
aload 0
aload 1
aload 2
invokevirtual org.springframework.validation.beanvalidation.SpringValidatorAdapter.getResolvableField:(Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/context/MessageSourceResolvable;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 5
start local 5 3: aload 3
invokeinterface javax.validation.metadata.ConstraintDescriptor.getAttributes:()Ljava/util/Map;
aload 5
invokedynamic accept(Ljava/util/Map;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/springframework/validation/beanvalidation/SpringValidatorAdapter.lambda$0(Ljava/util/Map;Ljava/lang/String;Ljava/lang/Object;)V (6)
(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
4: aload 4
aload 5
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
5: aload 4
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 6 1 objectName Ljava/lang/String;
0 6 2 field Ljava/lang/String;
0 6 3 descriptor Ljavax/validation/metadata/ConstraintDescriptor<*>;
1 6 4 arguments Ljava/util/List<Ljava/lang/Object;>;
3 6 5 attributesToExpose Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Ljavax/validation/metadata/ConstraintDescriptor<*>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
objectName
field
descriptor
protected org.springframework.context.MessageSourceResolvable getResolvableField(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/context/MessageSourceResolvable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
anewarray java.lang.String
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
astore 3
start local 3 1: new org.springframework.context.support.DefaultMessageSourceResolvable
dup
aload 3
aload 2
invokespecial org.springframework.context.support.DefaultMessageSourceResolvable.<init>:([Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 2 1 objectName Ljava/lang/String;
0 2 2 field Ljava/lang/String;
1 2 3 codes [Ljava/lang/String;
MethodParameters:
Name Flags
objectName
field
protected getRejectedValue(java.lang.String, javax.validation.ConstraintViolation<java.lang.Object>, org.springframework.validation.BindingResult);
descriptor: (Ljava/lang/String;Ljavax/validation/ConstraintViolation;Lorg/springframework/validation/BindingResult;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface javax.validation.ConstraintViolation.getInvalidValue:()Ljava/lang/Object;
astore 4
start local 4 1: ldc ""
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
aload 1
ldc "[]"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 4
2: aload 4
aload 2
invokeinterface javax.validation.ConstraintViolation.getLeafBean:()Ljava/lang/Object;
if_acmpeq 3
aload 1
ldc "["
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 3
aload 1
ldc "."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 4
3: StackMap locals: java.lang.Object
StackMap stack:
aload 3
aload 1
invokeinterface org.springframework.validation.BindingResult.getRawFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
astore 4
4: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 5 1 field Ljava/lang/String;
0 5 2 violation Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;
0 5 3 bindingResult Lorg/springframework/validation/BindingResult;
1 5 4 invalidValue Ljava/lang/Object;
Signature: (Ljava/lang/String;Ljavax/validation/ConstraintViolation<Ljava/lang/Object;>;Lorg/springframework/validation/BindingResult;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
field
violation
bindingResult
public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validate(T, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
aload 2
invokeinterface javax.validation.Validator.validate:(Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 4 1 object TT;
0 4 2 groups [Ljava/lang/Class;
Signature: <T:Ljava/lang/Object;>(TT;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
MethodParameters:
Name Flags
object
groups
public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateProperty(T, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/Set;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
aload 2
aload 3
invokeinterface javax.validation.Validator.validateProperty:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/Set;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 4 1 object TT;
0 4 2 propertyName Ljava/lang/String;
0 4 3 groups [Ljava/lang/Class;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
MethodParameters:
Name Flags
object
propertyName
groups
public <T> java.util.Set<javax.validation.ConstraintViolation<T>> validateValue(java.lang.Class<T>, java.lang.String, , java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
aload 2
aload 3
aload 4
invokeinterface javax.validation.Validator.validateValue:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class;)Ljava/util/Set;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 4 1 beanType Ljava/lang/Class<TT;>;
0 4 2 propertyName Ljava/lang/String;
0 4 3 value Ljava/lang/Object;
0 4 4 groups [Ljava/lang/Class;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class<*>;)Ljava/util/Set<Ljavax/validation/ConstraintViolation<TT;>;>;
MethodParameters:
Name Flags
beanType
propertyName
value
groups
public javax.validation.metadata.BeanDescriptor getConstraintsForClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljavax/validation/metadata/BeanDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
invokeinterface javax.validation.Validator.getConstraintsForClass:(Ljava/lang/Class;)Ljavax/validation/metadata/BeanDescriptor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 4 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljavax/validation/metadata/BeanDescriptor;
MethodParameters:
Name Flags
clazz
public <T> T unwrap(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 1
ifnull 4
aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
aload 1
invokeinterface javax.validation.Validator.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
goto 5
StackMap locals:
StackMap stack:
4: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
StackMap locals:
StackMap stack: java.lang.Object
5: areturn
6: StackMap locals:
StackMap stack: javax.validation.ValidationException
astore 2
start local 2 7: ldc Ljavax/validation/Validator;
aload 1
if_acmpne 9
8: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
areturn
9: StackMap locals: javax.validation.ValidationException
StackMap stack:
aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
0 10 1 type Ljava/lang/Class<TT;>;
7 10 2 ex Ljavax/validation/ValidationException;
Exception table:
from to target type
3 5 6 Class javax.validation.ValidationException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
public javax.validation.executable.ExecutableValidator forExecutables();
descriptor: ()Ljavax/validation/executable/ExecutableValidator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No target Validator set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.validation.beanvalidation.SpringValidatorAdapter.targetValidator:Ljavax/validation/Validator;
invokeinterface javax.validation.Validator.forExecutables:()Ljavax/validation/executable/ExecutableValidator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/validation/beanvalidation/SpringValidatorAdapter;
private static void lambda$0(java.util.Map, java.lang.String, java.lang.Object);
descriptor: (Ljava/util/Map;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: getstatic org.springframework.validation.beanvalidation.SpringValidatorAdapter.internalAnnotationAttributes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
1: aload 2
instanceof java.lang.String
ifeq 3
2: new org.springframework.validation.beanvalidation.SpringValidatorAdapter$ResolvableAttribute
dup
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial org.springframework.validation.beanvalidation.SpringValidatorAdapter$ResolvableAttribute.<init>:(Ljava/lang/String;)V
astore 2
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 attributeName Ljava/lang/String;
0 5 2 attributeValue Ljava/lang/Object;
}
SourceFile: "SpringValidatorAdapter.java"
NestMembers:
org.springframework.validation.beanvalidation.SpringValidatorAdapter$ResolvableAttribute
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Node = javax.validation.Path$Node of javax.validation.Path
private ResolvableAttribute = org.springframework.validation.beanvalidation.SpringValidatorAdapter$ResolvableAttribute of org.springframework.validation.beanvalidation.SpringValidatorAdapter