public class org.springframework.cache.caffeine.CaffeineCache extends org.springframework.cache.support.AbstractValueAdaptingCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.cache.caffeine.CaffeineCache
super_class: org.springframework.cache.support.AbstractValueAdaptingCache
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.github.benmanes.caffeine.cache.Cache<java.lang.Object, java.lang.Object> cache;
descriptor: Lcom/github/benmanes/caffeine/cache/Cache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;
public void <init>(java.lang.String, com.github.benmanes.caffeine.cache.Cache<java.lang.Object, java.lang.Object>);
descriptor: (Ljava/lang/String;Lcom/github/benmanes/caffeine/cache/Cache;)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
aload 1
aload 2
iconst_1
invokespecial org.springframework.cache.caffeine.CaffeineCache.<init>:(Ljava/lang/String;Lcom/github/benmanes/caffeine/cache/Cache;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 2 1 name Ljava/lang/String;
0 2 2 cache Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;
Signature: (Ljava/lang/String;Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
name
cache
public void <init>(java.lang.String, com.github.benmanes.caffeine.cache.Cache<java.lang.Object, java.lang.Object>, );
descriptor: (Ljava/lang/String;Lcom/github/benmanes/caffeine/cache/Cache;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
invokespecial org.springframework.cache.support.AbstractValueAdaptingCache.<init>:(Z)V
1: aload 1
ldc "Name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ldc "Cache must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.cache.caffeine.CaffeineCache.name:Ljava/lang/String;
4: aload 0
aload 2
putfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 6 1 name Ljava/lang/String;
0 6 2 cache Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;
0 6 3 allowNullValues Z
Signature: (Ljava/lang/String;Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;Z)V
MethodParameters:
Name Flags
name
cache
allowNullValues
public final java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
public final com.github.benmanes.caffeine.cache.Cache<java.lang.Object, java.lang.Object> getNativeCache();
descriptor: ()Lcom/github/benmanes/caffeine/cache/Cache;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
Signature: ()Lcom/github/benmanes/caffeine/cache/Cache<Ljava/lang/Object;Ljava/lang/Object;>;
public org.springframework.cache.Cache$ValueWrapper get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/springframework/cache/Cache$ValueWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
instanceof com.github.benmanes.caffeine.cache.LoadingCache
ifeq 3
1: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
checkcast com.github.benmanes.caffeine.cache.LoadingCache
aload 1
invokeinterface com.github.benmanes.caffeine.cache.LoadingCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.springframework.cache.caffeine.CaffeineCache.toValueWrapper:(Ljava/lang/Object;)Lorg/springframework/cache/Cache$ValueWrapper;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.springframework.cache.support.AbstractValueAdaptingCache.get:(Ljava/lang/Object;)Lorg/springframework/cache/Cache$ValueWrapper;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 4 1 key Ljava/lang/Object;
2 3 2 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
key
public <T> T get(, java.util.concurrent.Callable<T>);
descriptor: (Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
aload 1
new org.springframework.cache.caffeine.CaffeineCache$LoadFunction
dup
aload 0
aload 2
invokespecial org.springframework.cache.caffeine.CaffeineCache$LoadFunction.<init>:(Lorg/springframework/cache/caffeine/CaffeineCache;Ljava/util/concurrent/Callable;)V
invokeinterface com.github.benmanes.caffeine.cache.Cache.get:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
invokevirtual org.springframework.cache.caffeine.CaffeineCache.fromStoreValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 1 1 key Ljava/lang/Object;
0 1 2 valueLoader Ljava/util/concurrent/Callable<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/util/concurrent/Callable<TT;>;)TT;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
key
valueLoader final
protected java.lang.Object lookup(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
aload 1
invokeinterface com.github.benmanes.caffeine.cache.Cache.getIfPresent:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 1 1 key Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
key
public void put(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)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.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
aload 1
aload 0
aload 2
invokevirtual org.springframework.cache.caffeine.CaffeineCache.toStoreValue:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface com.github.benmanes.caffeine.cache.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 2 1 key Ljava/lang/Object;
0 2 2 value Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
key
value
public org.springframework.cache.Cache$ValueWrapper putIfAbsent(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/springframework/cache/Cache$ValueWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction
dup
aload 0
aload 2
invokespecial org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction.<init>:(Lorg/springframework/cache/caffeine/CaffeineCache;Ljava/lang/Object;)V
astore 3
start local 3 1: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
aload 1
aload 3
invokeinterface com.github.benmanes.caffeine.cache.Cache.get:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
astore 4
start local 4 2: aload 3
getfield org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction.called:Z
ifeq 3
aconst_null
goto 4
StackMap locals: org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction java.lang.Object
StackMap stack:
3: aload 0
aload 4
invokevirtual org.springframework.cache.caffeine.CaffeineCache.toValueWrapper:(Ljava/lang/Object;)Lorg/springframework/cache/Cache$ValueWrapper;
StackMap locals:
StackMap stack: org.springframework.cache.Cache$ValueWrapper
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/cache/caffeine/CaffeineCache;
0 5 1 key Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
1 5 3 callable Lorg/springframework/cache/caffeine/CaffeineCache$PutIfAbsentFunction;
2 5 4 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
key
value final
public void evict(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
aload 1
invokeinterface com.github.benmanes.caffeine.cache.Cache.invalidate:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
0 2 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.cache.caffeine.CaffeineCache.cache:Lcom/github/benmanes/caffeine/cache/Cache;
invokeinterface com.github.benmanes.caffeine.cache.Cache.invalidateAll:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/cache/caffeine/CaffeineCache;
public java.lang.Object getNativeCache();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.cache.caffeine.CaffeineCache.getNativeCache:()Lcom/github/benmanes/caffeine/cache/Cache;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.Object access$1(org.springframework.cache.caffeine.CaffeineCache, java.lang.Object);
descriptor: (Lorg/springframework/cache/caffeine/CaffeineCache;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.springframework.cache.caffeine.CaffeineCache.toStoreValue:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "CaffeineCache.java"
NestMembers:
org.springframework.cache.caffeine.CaffeineCache$LoadFunction org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction
InnerClasses:
public abstract ValueWrapper = org.springframework.cache.Cache$ValueWrapper of org.springframework.cache.Cache
private LoadFunction = org.springframework.cache.caffeine.CaffeineCache$LoadFunction of org.springframework.cache.caffeine.CaffeineCache
private PutIfAbsentFunction = org.springframework.cache.caffeine.CaffeineCache$PutIfAbsentFunction of org.springframework.cache.caffeine.CaffeineCache