final class org.ehcache.core.EhcacheManager$CacheHolder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.ehcache.core.EhcacheManager$CacheHolder
super_class: java.lang.Object
{
private final java.lang.Class<?> keyType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final java.lang.Class<?> valueType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private volatile org.ehcache.core.InternalCache<?, ?> cache;
descriptor: Lorg/ehcache/core/InternalCache;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/ehcache/core/InternalCache<**>;
private volatile boolean isValueSet;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
void <init>(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, 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
iconst_0
putfield org.ehcache.core.EhcacheManager$CacheHolder.isValueSet:Z
2: aload 0
aload 1
putfield org.ehcache.core.EhcacheManager$CacheHolder.keyType:Ljava/lang/Class;
3: aload 0
aload 2
putfield org.ehcache.core.EhcacheManager$CacheHolder.valueType:Ljava/lang/Class;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/ehcache/core/EhcacheManager$CacheHolder;
0 5 1 keyType Ljava/lang/Class<*>;
0 5 2 valueType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
keyType
valueType
<K, V> org.ehcache.core.InternalCache<K, V> retrieve(java.lang.Class<K>, java.lang.Class<V>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Lorg/ehcache/core/InternalCache;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.ehcache.core.EhcacheManager$CacheHolder.isValueSet:Z
ifne 20
1: aload 0
dup
astore 3
monitorenter
2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: org.ehcache.core.EhcacheManager$CacheHolder int
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: iconst_1
istore 4
8: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.core.EhcacheManager$CacheHolder.isValueSet:Z
ifeq 4
9: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
11: iload 4
ifeq 13
12: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
14: StackMap locals:
StackMap stack:
iload 4
ifeq 16
15: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
end local 4 16: StackMap locals:
StackMap stack:
aload 3
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.core.EhcacheManager$CacheHolder.keyType:Ljava/lang/Class;
aload 1
if_acmpne 22
aload 0
getfield org.ehcache.core.EhcacheManager$CacheHolder.valueType:Ljava/lang/Class;
aload 2
if_acmpne 22
21: aload 0
getfield org.ehcache.core.EhcacheManager$CacheHolder.cache:Lorg/ehcache/core/InternalCache;
invokestatic org.ehcache.core.EhcacheManager$CacheHolder.cast:(Lorg/ehcache/core/InternalCache;)Lorg/ehcache/core/InternalCache;
areturn
22: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/ehcache/core/EhcacheManager$CacheHolder;
0 23 1 refKeyType Ljava/lang/Class<TK;>;
0 23 2 refValueType Ljava/lang/Class<TV;>;
3 16 4 interrupted Z
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
3 10 10 any
2 17 18 any
18 19 18 any
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lorg/ehcache/core/InternalCache<TK;TV;>;
MethodParameters:
Name Flags
refKeyType
refValueType
private static <K, V> org.ehcache.core.InternalCache<K, V> cast(org.ehcache.core.InternalCache<?, ?>);
descriptor: (Lorg/ehcache/core/InternalCache;)Lorg/ehcache/core/InternalCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cache Lorg/ehcache/core/InternalCache<**>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/core/InternalCache<**>;)Lorg/ehcache/core/InternalCache<TK;TV;>;
MethodParameters:
Name Flags
cache
public synchronized void setCache(org.ehcache.core.InternalCache<?, ?>);
descriptor: (Lorg/ehcache/core/InternalCache;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.ehcache.core.EhcacheManager$CacheHolder.cache:Lorg/ehcache/core/InternalCache;
1: aload 0
iconst_1
putfield org.ehcache.core.EhcacheManager$CacheHolder.isValueSet:Z
2: aload 0
invokevirtual java.lang.Object.notifyAll:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/core/EhcacheManager$CacheHolder;
0 4 1 cache Lorg/ehcache/core/InternalCache<**>;
Signature: (Lorg/ehcache/core/InternalCache<**>;)V
MethodParameters:
Name Flags
cache final
}
SourceFile: "EhcacheManager.java"
NestHost: org.ehcache.core.EhcacheManager
InnerClasses:
private final CacheHolder = org.ehcache.core.EhcacheManager$CacheHolder of org.ehcache.core.EhcacheManager