public class io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory
super_class: java.lang.Object
{
private final com.google.common.collect.ImmutableMap<java.lang.String, org.hibernate.SessionFactory> sessionFactories;
descriptor: Lcom/google/common/collect/ImmutableMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Lorg/hibernate/SessionFactory;>;
public void <init>(java.lang.String, org.hibernate.SessionFactory);
descriptor: (Ljava/lang/String;Lorg/hibernate/SessionFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
aload 2
invokestatic com.google.common.collect.ImmutableMap.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap;
putfield io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.sessionFactories:Lcom/google/common/collect/ImmutableMap;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 3 1 name Ljava/lang/String;
0 3 2 sessionFactory Lorg/hibernate/SessionFactory;
MethodParameters:
Name Flags
name
sessionFactory
public void <init>(io.dropwizard.hibernate.HibernateBundle<?>[]);
descriptor: ([Lio/dropwizard/hibernate/HibernateBundle;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
astore 2
start local 2 2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory io.dropwizard.hibernate.HibernateBundle[] com.google.common.collect.ImmutableMap$Builder top int int io.dropwizard.hibernate.HibernateBundle[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 2
aload 3
invokevirtual io.dropwizard.hibernate.HibernateBundle.name:()Ljava/lang/String;
aload 3
invokevirtual io.dropwizard.hibernate.HibernateBundle.getSessionFactory:()Lorg/hibernate/SessionFactory;
invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
pop
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: aload 0
aload 2
invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
putfield io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.sessionFactories:Lcom/google/common/collect/ImmutableMap;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 9 1 bundles [Lio/dropwizard/hibernate/HibernateBundle;
2 9 2 sessionFactoriesBuilder Lcom/google/common/collect/ImmutableMap$Builder<Ljava/lang/String;Lorg/hibernate/SessionFactory;>;
4 5 3 bundle Lio/dropwizard/hibernate/HibernateBundle<*>;
Signature: ([Lio/dropwizard/hibernate/HibernateBundle<*>;)V
MethodParameters:
Name Flags
bundles
public <T> T create(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
anewarray java.lang.Class
iconst_0
anewarray java.lang.Object
invokevirtual io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.create:(Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 1 1 clazz Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
clazz
public <T> T create(java.lang.Class<T>, java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
aastore
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.create:(Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 1 1 clazz Ljava/lang/Class<TT;>;
0 1 2 constructorParamType Ljava/lang/Class<*>;
0 1 3 constructorArguments Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Class<*>;Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
clazz
constructorParamType
constructorArguments
public <T> T create(java.lang.Class<T>, java.lang.Class<?>[], []);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javassist.util.proxy.ProxyFactory
dup
invokespecial javassist.util.proxy.ProxyFactory.<init>:()V
astore 4
start local 4 1: aload 4
aload 1
invokevirtual javassist.util.proxy.ProxyFactory.setSuperclass:(Ljava/lang/Class;)V
2: aload 2
arraylength
ifne 4
3: aload 4
invokevirtual javassist.util.proxy.ProxyFactory.createClass:()Ljava/lang/Class;
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;
goto 5
4: StackMap locals: javassist.util.proxy.ProxyFactory
StackMap stack:
aload 4
aload 2
aload 3
invokevirtual javassist.util.proxy.ProxyFactory.create:([Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
5: StackMap locals:
StackMap stack: java.lang.Object
checkcast javassist.util.proxy.Proxy
astore 5
start local 5 6: aload 5
aload 0
invokedynamic invoke(Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;)Ljavassist/util/proxy/MethodHandler;
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/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
io/dropwizard/hibernate/UnitOfWorkAwareProxyFactory.lambda$0(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (7)
(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface javassist.util.proxy.Proxy.setHandler:(Ljavassist/util/proxy/MethodHandler;)V
7: aload 5
8: areturn
end local 5 9: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 5
start local 5 10: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unable to create a proxy for the class '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 11 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 11 1 clazz Ljava/lang/Class<TT;>;
0 11 2 constructorParamTypes [Ljava/lang/Class;
0 11 3 constructorArguments [Ljava/lang/Object;
1 11 4 factory Ljavassist/util/proxy/ProxyFactory;
6 9 5 proxy Ljavassist/util/proxy/Proxy;
10 11 5 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
2 8 9 Class java.lang.NoSuchMethodException
2 8 9 Class java.lang.InstantiationException
2 8 9 Class java.lang.IllegalAccessException
2 8 9 Class java.lang.reflect.InvocationTargetException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;[Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
clazz
constructorParamTypes
constructorArguments
public io.dropwizard.hibernate.UnitOfWorkAspect newAspect();
descriptor: ()Lio/dropwizard/hibernate/UnitOfWorkAspect;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.dropwizard.hibernate.UnitOfWorkAspect
dup
aload 0
getfield io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.sessionFactories:Lcom/google/common/collect/ImmutableMap;
invokespecial io.dropwizard.hibernate.UnitOfWorkAspect.<init>:(Ljava/util/Map;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
public io.dropwizard.hibernate.UnitOfWorkAspect newAspect(com.google.common.collect.ImmutableMap<java.lang.String, org.hibernate.SessionFactory>);
descriptor: (Lcom/google/common/collect/ImmutableMap;)Lio/dropwizard/hibernate/UnitOfWorkAspect;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new io.dropwizard.hibernate.UnitOfWorkAspect
dup
aload 1
invokespecial io.dropwizard.hibernate.UnitOfWorkAspect.<init>:(Ljava/util/Map;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 1 1 sessionFactories Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Lorg/hibernate/SessionFactory;>;
Signature: (Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Lorg/hibernate/SessionFactory;>;)Lio/dropwizard/hibernate/UnitOfWorkAspect;
MethodParameters:
Name Flags
sessionFactories
private java.lang.Object lambda$0(java.lang.Object, java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ldc Lio/dropwizard/hibernate/UnitOfWork;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast io.dropwizard.hibernate.UnitOfWork
astore 5
start local 5 1: aload 0
aload 0
getfield io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.sessionFactories:Lcom/google/common/collect/ImmutableMap;
invokevirtual io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory.newAspect:(Lcom/google/common/collect/ImmutableMap;)Lio/dropwizard/hibernate/UnitOfWorkAspect;
astore 6
start local 6 2: aload 6
aload 5
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.beforeStart:(Lio/dropwizard/hibernate/UnitOfWork;)V
3: aload 3
aload 1
aload 4
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 4: aload 6
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.afterEnd:()V
5: aload 7
astore 9
6: aload 6
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.onFinish:()V
7: aload 9
areturn
end local 7 8: StackMap locals: io.dropwizard.hibernate.UnitOfWorkAwareProxyFactory java.lang.Object java.lang.reflect.Method java.lang.reflect.Method java.lang.Object[] io.dropwizard.hibernate.UnitOfWork io.dropwizard.hibernate.UnitOfWorkAspect
StackMap stack: java.lang.reflect.InvocationTargetException
astore 7
start local 7 9: aload 6
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.onError:()V
10: aload 7
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
athrow
end local 7 11: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 12: aload 6
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.onError:()V
13: aload 7
athrow
end local 7 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
15: aload 6
invokevirtual io.dropwizard.hibernate.UnitOfWorkAspect.onFinish:()V
16: aload 8
athrow
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 17 0 this Lio/dropwizard/hibernate/UnitOfWorkAwareProxyFactory;
0 17 1 self Ljava/lang/Object;
0 17 2 overridden Ljava/lang/reflect/Method;
0 17 3 proceed Ljava/lang/reflect/Method;
0 17 4 args [Ljava/lang/Object;
1 17 5 unitOfWork Lio/dropwizard/hibernate/UnitOfWork;
2 17 6 unitOfWorkAspect Lio/dropwizard/hibernate/UnitOfWorkAspect;
4 8 7 result Ljava/lang/Object;
9 11 7 e Ljava/lang/reflect/InvocationTargetException;
12 14 7 e Ljava/lang/Exception;
Exception table:
from to target type
2 6 8 Class java.lang.reflect.InvocationTargetException
2 6 11 Class java.lang.Exception
2 6 14 any
8 14 14 any
Exceptions:
throws java.lang.Throwable
}
SourceFile: "UnitOfWorkAwareProxyFactory.java"
InnerClasses:
public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles