class org.springframework.cache.interceptor.CacheOperationExpressionEvaluator extends org.springframework.context.expression.CachedExpressionEvaluator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.cache.interceptor.CacheOperationExpressionEvaluator
super_class: org.springframework.context.expression.CachedExpressionEvaluator
{
public static final java.lang.Object NO_RESULT;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Object RESULT_UNAVAILABLE;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String RESULT_VARIABLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "result"
private final java.util.Map<org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey, org.springframework.expression.Expression> keyCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/springframework/context/expression/CachedExpressionEvaluator$ExpressionKey;Lorg/springframework/expression/Expression;>;
private final java.util.Map<org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey, org.springframework.expression.Expression> conditionCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/springframework/context/expression/CachedExpressionEvaluator$ExpressionKey;Lorg/springframework/expression/Expression;>;
private final java.util.Map<org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey, org.springframework.expression.Expression> unlessCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/springframework/context/expression/CachedExpressionEvaluator$ExpressionKey;Lorg/springframework/expression/Expression;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.NO_RESULT:Ljava/lang/Object;
1: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.RESULT_UNAVAILABLE:Ljava/lang/Object;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.context.expression.CachedExpressionEvaluator.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.keyCache:Ljava/util/Map;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.conditionCache:Ljava/util/Map;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.unlessCache:Ljava/util/Map;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
public org.springframework.expression.EvaluationContext createEvaluationContext(java.util.Collection<? extends org.springframework.cache.Cache>, java.lang.reflect.Method, [], , java.lang.Class<?>, java.lang.reflect.Method, , org.springframework.beans.factory.BeanFactory);
descriptor: (Ljava/util/Collection;Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/springframework/beans/factory/BeanFactory;)Lorg/springframework/expression/EvaluationContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new org.springframework.cache.interceptor.CacheExpressionRootObject
dup
1: aload 1
aload 2
aload 3
aload 4
aload 5
2: invokespecial org.springframework.cache.interceptor.CacheExpressionRootObject.<init>:(Ljava/util/Collection;Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)V
astore 9
start local 9 3: new org.springframework.cache.interceptor.CacheEvaluationContext
dup
4: aload 9
aload 6
aload 3
aload 0
invokevirtual org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.getParameterNameDiscoverer:()Lorg/springframework/core/ParameterNameDiscoverer;
5: invokespecial org.springframework.cache.interceptor.CacheEvaluationContext.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/core/ParameterNameDiscoverer;)V
astore 10
start local 10 6: aload 7
getstatic org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.RESULT_UNAVAILABLE:Ljava/lang/Object;
if_acmpne 9
7: aload 10
ldc "result"
invokevirtual org.springframework.cache.interceptor.CacheEvaluationContext.addUnavailableVariable:(Ljava/lang/String;)V
8: goto 11
9: StackMap locals: org.springframework.cache.interceptor.CacheExpressionRootObject org.springframework.cache.interceptor.CacheEvaluationContext
StackMap stack:
aload 7
getstatic org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.NO_RESULT:Ljava/lang/Object;
if_acmpeq 11
10: aload 10
ldc "result"
aload 7
invokevirtual org.springframework.cache.interceptor.CacheEvaluationContext.setVariable:(Ljava/lang/String;Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 8
ifnull 13
12: aload 10
new org.springframework.context.expression.BeanFactoryResolver
dup
aload 8
invokespecial org.springframework.context.expression.BeanFactoryResolver.<init>:(Lorg/springframework/beans/factory/BeanFactory;)V
invokevirtual org.springframework.cache.interceptor.CacheEvaluationContext.setBeanResolver:(Lorg/springframework/expression/BeanResolver;)V
13: StackMap locals:
StackMap stack:
aload 10
areturn
end local 10 end local 9 end local 8 end local 7 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 14 0 this Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
0 14 1 caches Ljava/util/Collection<+Lorg/springframework/cache/Cache;>;
0 14 2 method Ljava/lang/reflect/Method;
0 14 3 args [Ljava/lang/Object;
0 14 4 target Ljava/lang/Object;
0 14 5 targetClass Ljava/lang/Class<*>;
0 14 6 targetMethod Ljava/lang/reflect/Method;
0 14 7 result Ljava/lang/Object;
0 14 8 beanFactory Lorg/springframework/beans/factory/BeanFactory;
3 14 9 rootObject Lorg/springframework/cache/interceptor/CacheExpressionRootObject;
6 14 10 evaluationContext Lorg/springframework/cache/interceptor/CacheEvaluationContext;
Signature: (Ljava/util/Collection<+Lorg/springframework/cache/Cache;>;Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/springframework/beans/factory/BeanFactory;)Lorg/springframework/expression/EvaluationContext;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
4:
5:
6:
org.springframework.lang.Nullable()
7:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
caches
method
args
target
targetClass
targetMethod
result
beanFactory
public java.lang.Object key(java.lang.String, org.springframework.context.expression.AnnotatedElementKey, org.springframework.expression.EvaluationContext);
descriptor: (Ljava/lang/String;Lorg/springframework/context/expression/AnnotatedElementKey;Lorg/springframework/expression/EvaluationContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.keyCache:Ljava/util/Map;
aload 2
aload 1
invokevirtual org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.getExpression:(Ljava/util/Map;Lorg/springframework/context/expression/AnnotatedElementKey;Ljava/lang/String;)Lorg/springframework/expression/Expression;
aload 3
invokeinterface org.springframework.expression.Expression.getValue:(Lorg/springframework/expression/EvaluationContext;)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 Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
0 1 1 keyExpression Ljava/lang/String;
0 1 2 methodKey Lorg/springframework/context/expression/AnnotatedElementKey;
0 1 3 evalContext Lorg/springframework/expression/EvaluationContext;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
keyExpression
methodKey
evalContext
public boolean condition(java.lang.String, org.springframework.context.expression.AnnotatedElementKey, org.springframework.expression.EvaluationContext);
descriptor: (Ljava/lang/String;Lorg/springframework/context/expression/AnnotatedElementKey;Lorg/springframework/expression/EvaluationContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.conditionCache:Ljava/util/Map;
aload 2
aload 1
invokevirtual org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.getExpression:(Ljava/util/Map;Lorg/springframework/context/expression/AnnotatedElementKey;Ljava/lang/String;)Lorg/springframework/expression/Expression;
1: aload 3
ldc Ljava/lang/Boolean;
2: invokeinterface org.springframework.expression.Expression.getValue:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Class;)Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
0 3 1 conditionExpression Ljava/lang/String;
0 3 2 methodKey Lorg/springframework/context/expression/AnnotatedElementKey;
0 3 3 evalContext Lorg/springframework/expression/EvaluationContext;
MethodParameters:
Name Flags
conditionExpression
methodKey
evalContext
public boolean unless(java.lang.String, org.springframework.context.expression.AnnotatedElementKey, org.springframework.expression.EvaluationContext);
descriptor: (Ljava/lang/String;Lorg/springframework/context/expression/AnnotatedElementKey;Lorg/springframework/expression/EvaluationContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.unlessCache:Ljava/util/Map;
aload 2
aload 1
invokevirtual org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.getExpression:(Ljava/util/Map;Lorg/springframework/context/expression/AnnotatedElementKey;Ljava/lang/String;)Lorg/springframework/expression/Expression;
1: aload 3
ldc Ljava/lang/Boolean;
2: invokeinterface org.springframework.expression.Expression.getValue:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Class;)Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
0 3 1 unlessExpression Ljava/lang/String;
0 3 2 methodKey Lorg/springframework/context/expression/AnnotatedElementKey;
0 3 3 evalContext Lorg/springframework/expression/EvaluationContext;
MethodParameters:
Name Flags
unlessExpression
methodKey
evalContext
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.keyCache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.conditionCache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield org.springframework.cache.interceptor.CacheOperationExpressionEvaluator.unlessCache:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/cache/interceptor/CacheOperationExpressionEvaluator;
}
SourceFile: "CacheOperationExpressionEvaluator.java"
InnerClasses:
protected ExpressionKey = org.springframework.context.expression.CachedExpressionEvaluator$ExpressionKey of org.springframework.context.expression.CachedExpressionEvaluator