abstract class org.springframework.data.web.SpringDataAnnotationUtils
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.data.web.SpringDataAnnotationUtils
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/data/web/SpringDataAnnotationUtils;
public static void assertPageableUniqueness(org.springframework.core.MethodParameter);
descriptor: (Lorg/springframework/core/MethodParameter;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.core.MethodParameter.getMethod:()Ljava/lang/reflect/Method;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "Method parameter %s is not backed by a method."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 1
invokestatic org.springframework.data.web.SpringDataAnnotationUtils.containsMoreThanOnePageableParameter:(Ljava/lang/reflect/Method;)Z
ifeq 6
4: aload 1
invokevirtual java.lang.reflect.Method.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
astore 2
start local 2 5: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 2
invokestatic org.springframework.data.web.SpringDataAnnotationUtils.assertQualifiersFor:([Ljava/lang/Class;[[Ljava/lang/annotation/Annotation;)V
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parameter Lorg/springframework/core/MethodParameter;
1 7 1 method Ljava/lang/reflect/Method;
5 6 2 annotations [[Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
parameter
private static boolean containsMoreThanOnePageableParameter(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: java.lang.reflect.Method int top int int java.lang.Class[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: iload 1
ifeq 5
aload 2
ldc Lorg/springframework/data/domain/Pageable;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: java.lang.reflect.Method int java.lang.Class int int java.lang.Class[]
StackMap stack:
aload 2
ldc Lorg/springframework/data/domain/Pageable;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
istore 1
end local 2 7: StackMap locals: java.lang.reflect.Method int top int int java.lang.Class[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 2
9: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 method Ljava/lang/reflect/Method;
1 10 1 pageableFound Z
3 7 2 type Ljava/lang/Class<*>;
MethodParameters:
Name Flags
method
public static <T> T getSpecificPropertyOrDefaultFromValue(java.lang.annotation.Annotation, java.lang.String);
descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.core.annotation.AnnotationUtils.getDefaultValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
invokestatic org.springframework.core.annotation.AnnotationUtils.getValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 2: aload 2
aload 3
invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
3: aload 0
invokestatic org.springframework.core.annotation.AnnotationUtils.getValue:(Ljava/lang/annotation/Annotation;)Ljava/lang/Object;
goto 5
4: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 3
5: StackMap locals:
StackMap stack: java.lang.Object
astore 4
start local 4 6: aload 4
ifnonnull 8
7: new java.lang.IllegalStateException
dup
ldc "Exepected to be able to look up an annotation property value but failed!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.Object
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 9 0 annotation Ljava/lang/annotation/Annotation;
0 9 1 property Ljava/lang/String;
1 9 2 propertyDefaultValue Ljava/lang/Object;
2 9 3 propertyValue Ljava/lang/Object;
6 9 4 result Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/annotation/Annotation;Ljava/lang/String;)TT;
MethodParameters:
Name Flags
annotation
property
public static void assertQualifiersFor(java.lang.Class<?>[], java.lang.annotation.Annotation[][]);
descriptor: ([Ljava/lang/Class;[[Ljava/lang/annotation/Annotation;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 13
3: StackMap locals: java.util.Set int
StackMap stack:
ldc Lorg/springframework/data/domain/Pageable;
aload 0
iload 3
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
4: aload 1
iload 3
aaload
invokestatic org.springframework.data.web.SpringDataAnnotationUtils.findAnnotation:([Ljava/lang/annotation/Annotation;)Lorg/springframework/beans/factory/annotation/Qualifier;
astore 4
start local 4 5: aload 4
ifnonnull 9
6: new java.lang.IllegalStateException
dup
7: ldc "Ambiguous Pageable arguments in handler method. If you use multiple parameters of type Pageable you need to qualify them with @Qualifier"
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.springframework.beans.factory.annotation.Qualifier
StackMap stack:
aload 2
aload 4
invokeinterface org.springframework.beans.factory.annotation.Qualifier.value:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 11
10: new java.lang.IllegalStateException
dup
ldc "Values of the user Qualifiers must be unique!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface org.springframework.beans.factory.annotation.Qualifier.value:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 parameterTypes [Ljava/lang/Class;
0 15 1 annotations [[Ljava/lang/annotation/Annotation;
1 15 2 values Ljava/util/Set<Ljava/lang/String;>;
2 14 3 i I
5 12 4 qualifier Lorg/springframework/beans/factory/annotation/Qualifier;
Signature: ([Ljava/lang/Class<*>;[[Ljava/lang/annotation/Annotation;)V
MethodParameters:
Name Flags
parameterTypes
annotations
private static org.springframework.beans.factory.annotation.Qualifier findAnnotation(java.lang.annotation.Annotation[]);
descriptor: ([Ljava/lang/annotation/Annotation;)Lorg/springframework/beans/factory/annotation/Qualifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
instanceof org.springframework.beans.factory.annotation.Qualifier
ifeq 4
3: aload 1
checkcast org.springframework.beans.factory.annotation.Qualifier
areturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 annotations [Ljava/lang/annotation/Annotation;
2 4 1 annotation Ljava/lang/annotation/Annotation;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
annotations
}
SourceFile: "SpringDataAnnotationUtils.java"