class org.jdbi.v3.sqlobject.SqlMethodAnnotatedHandlerDecorator implements org.jdbi.v3.sqlobject.HandlerDecorator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jdbi.v3.sqlobject.SqlMethodAnnotatedHandlerDecorator
super_class: java.lang.Object
{
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator;
public org.jdbi.v3.sqlobject.Handler decorateHandler(org.jdbi.v3.sqlobject.Handler, java.lang.Class<?>, java.lang.reflect.Method);
descriptor: (Lorg/jdbi/v3/sqlobject/Handler;Ljava/lang/Class;Ljava/lang/reflect/Method;)Lorg/jdbi/v3/sqlobject/Handler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
astore 4
start local 4 1: aload 3
invokevirtual java.lang.reflect.Method.getAnnotations:()[Ljava/lang/annotation/Annotation;
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
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;
java/lang/annotation/Annotation.annotationType()Ljava/lang/Class; (9 itf)
(Ljava/lang/annotation/Annotation;)Ljava/lang/Class;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokedynamic test()Ljava/util/function/Predicate;
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;)Z
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$1(Ljava/lang/Class;)Z (6)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
5: astore 5
start local 5 6: iconst_2
anewarray java.lang.reflect.GenericDeclaration
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
7: invokedynamic apply()Ljava/util/function/Function;
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;
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$2(Ljava/lang/reflect/GenericDeclaration;)Lorg/jdbi/v3/sqlobject/DecoratorOrder; (6)
(Ljava/lang/reflect/GenericDeclaration;)Lorg/jdbi/v3/sqlobject/DecoratorOrder;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
8: invokedynamic test()Ljava/util/function/Predicate;
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;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Lorg/jdbi/v3/sqlobject/DecoratorOrder;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
9: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
10: aload 0
aload 5
invokedynamic accept(Lorg/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator;Ljava/util/List;)Ljava/util/function/Consumer;
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;)V
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$4(Ljava/util/List;Lorg/jdbi/v3/sqlobject/DecoratorOrder;)V (7)
(Lorg/jdbi/v3/sqlobject/DecoratorOrder;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
11: aload 5
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
12: invokedynamic apply()Ljava/util/function/Function;
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;
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$5(Ljava/lang/Class;)Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation; (6)
(Ljava/lang/Class;)Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
13: invokedynamic apply()Ljava/util/function/Function;
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;
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$6(Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;)Lorg/jdbi/v3/sqlobject/HandlerDecorator; (6)
(Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;)Lorg/jdbi/v3/sqlobject/HandlerDecorator;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
14: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
15: astore 6
start local 6 16: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 19
StackMap locals: org.jdbi.v3.sqlobject.SqlMethodAnnotatedHandlerDecorator org.jdbi.v3.sqlobject.Handler java.lang.Class java.lang.reflect.Method org.jdbi.v3.sqlobject.Handler java.util.List java.util.List top java.util.Iterator
StackMap stack:
17: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jdbi.v3.sqlobject.HandlerDecorator
astore 7
start local 7 18: aload 7
aload 4
aload 2
aload 3
invokeinterface org.jdbi.v3.sqlobject.HandlerDecorator.decorateHandler:(Lorg/jdbi/v3/sqlobject/Handler;Ljava/lang/Class;Ljava/lang/reflect/Method;)Lorg/jdbi/v3/sqlobject/Handler;
astore 4
end local 7 19: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 4
areturn
end local 6 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 21 0 this Lorg/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator;
0 21 1 base Lorg/jdbi/v3/sqlobject/Handler;
0 21 2 sqlObjectType Ljava/lang/Class<*>;
0 21 3 method Ljava/lang/reflect/Method;
1 21 4 handler Lorg/jdbi/v3/sqlobject/Handler;
6 21 5 annotationTypes Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
16 21 6 decorators Ljava/util/List<Lorg/jdbi/v3/sqlobject/HandlerDecorator;>;
18 19 7 decorator Lorg/jdbi/v3/sqlobject/HandlerDecorator;
Signature: (Lorg/jdbi/v3/sqlobject/Handler;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;)Lorg/jdbi/v3/sqlobject/Handler;
MethodParameters:
Name Flags
base
sqlObjectType
method
private java.util.Comparator<java.lang.Class<? extends java.lang.annotation.Annotation>> createDecoratorComparator(org.jdbi.v3.sqlobject.DecoratorOrder);
descriptor: (Lorg/jdbi/v3/sqlobject/DecoratorOrder;)Ljava/util/Comparator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jdbi.v3.sqlobject.DecoratorOrder.value:()[Ljava/lang/Class;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokedynamic applyAsInt(Ljava/util/List;)Ljava/util/function/ToIntFunction;
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;)I
org/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator.lambda$7(Ljava/util/List;Ljava/lang/Class;)I (6)
(Ljava/lang/Class;)I
invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator;
0 2 1 order Lorg/jdbi/v3/sqlobject/DecoratorOrder;
1 2 2 ordering Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
Signature: (Lorg/jdbi/v3/sqlobject/DecoratorOrder;)Ljava/util/Comparator<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
MethodParameters:
Name Flags
order
private static org.jdbi.v3.sqlobject.HandlerDecorator buildDecorator(java.lang.Class<? extends org.jdbi.v3.sqlobject.HandlerDecorator>);
descriptor: (Ljava/lang/Class;)Lorg/jdbi/v3/sqlobject/HandlerDecorator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jdbi.v3.sqlobject.HandlerDecorator
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 1
start local 1 3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Decorator class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "cannot be instantiated"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 decoratorClass Ljava/lang/Class<+Lorg/jdbi/v3/sqlobject/HandlerDecorator;>;
3 4 1 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 1 2 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<+Lorg/jdbi/v3/sqlobject/HandlerDecorator;>;)Lorg/jdbi/v3/sqlobject/HandlerDecorator;
MethodParameters:
Name Flags
decoratorClass
private static boolean lambda$1(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<Ljava/lang/annotation/Annotation;>;
private static org.jdbi.v3.sqlobject.DecoratorOrder lambda$2(java.lang.reflect.GenericDeclaration);
descriptor: (Ljava/lang/reflect/GenericDeclaration;)Lorg/jdbi/v3/sqlobject/DecoratorOrder;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/jdbi/v3/sqlobject/DecoratorOrder;
invokeinterface java.lang.reflect.GenericDeclaration.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.jdbi.v3.sqlobject.DecoratorOrder
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/reflect/GenericDeclaration;
private void lambda$4(java.util.List, org.jdbi.v3.sqlobject.DecoratorOrder);
descriptor: (Ljava/util/List;Lorg/jdbi/v3/sqlobject/DecoratorOrder;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 1
aload 0
aload 2
invokevirtual org.jdbi.v3.sqlobject.SqlMethodAnnotatedHandlerDecorator.createDecoratorComparator:(Lorg/jdbi/v3/sqlobject/DecoratorOrder;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.reversed:()Ljava/util/Comparator;
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/sqlobject/SqlMethodAnnotatedHandlerDecorator;
0 1 2 order Lorg/jdbi/v3/sqlobject/DecoratorOrder;
private static org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation lambda$5(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
private static org.jdbi.v3.sqlobject.HandlerDecorator lambda$6(org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation);
descriptor: (Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;)Lorg/jdbi/v3/sqlobject/HandlerDecorator;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jdbi.v3.sqlobject.SqlMethodDecoratingAnnotation.value:()Ljava/lang/Class;
invokestatic org.jdbi.v3.sqlobject.SqlMethodAnnotatedHandlerDecorator.buildDecorator:(Ljava/lang/Class;)Lorg/jdbi/v3/sqlobject/HandlerDecorator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/jdbi/v3/sqlobject/SqlMethodDecoratingAnnotation;
private static int lambda$7(java.util.List, java.lang.Class);
descriptor: (Ljava/util/List;Ljava/lang/Class;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 2
aload 0
invokeinterface java.util.List.size:()I
goto 3
StackMap locals: int
StackMap stack:
2: iload 2
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 type Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 4 2 index I
}
SourceFile: "SqlMethodAnnotatedHandlerDecorator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles