public abstract class org.springframework.web.context.request.RequestContextHolder
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.web.context.request.RequestContextHolder
super_class: java.lang.Object
{
private static final boolean jsfPresent;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<org.springframework.web.context.request.RequestAttributes> requestAttributesHolder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lorg/springframework/web/context/request/RequestAttributes;>;
private static final java.lang.ThreadLocal<org.springframework.web.context.request.RequestAttributes> inheritableRequestAttributesHolder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lorg/springframework/web/context/request/RequestAttributes;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "javax.faces.context.FacesContext"
ldc Lorg/springframework/web/context/request/RequestContextHolder;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
1: putstatic org.springframework.web.context.request.RequestContextHolder.jsfPresent:Z
2: new org.springframework.core.NamedThreadLocal
dup
ldc "Request attributes"
invokespecial org.springframework.core.NamedThreadLocal.<init>:(Ljava/lang/String;)V
3: putstatic org.springframework.web.context.request.RequestContextHolder.requestAttributesHolder:Ljava/lang/ThreadLocal;
4: new org.springframework.core.NamedInheritableThreadLocal
dup
ldc "Request context"
invokespecial org.springframework.core.NamedInheritableThreadLocal.<init>:(Ljava/lang/String;)V
5: putstatic org.springframework.web.context.request.RequestContextHolder.inheritableRequestAttributesHolder:Ljava/lang/ThreadLocal;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/springframework/web/context/request/RequestContextHolder;
public static void resetRequestAttributes();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.springframework.web.context.request.RequestContextHolder.requestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
1: getstatic org.springframework.web.context.request.RequestContextHolder.inheritableRequestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
public static void setRequestAttributes(org.springframework.web.context.request.RequestAttributes);
descriptor: (Lorg/springframework/web/context/request/RequestAttributes;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic org.springframework.web.context.request.RequestContextHolder.setRequestAttributes:(Lorg/springframework/web/context/request/RequestAttributes;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 attributes Lorg/springframework/web/context/request/RequestAttributes;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
attributes
public static void setRequestAttributes(org.springframework.web.context.request.RequestAttributes, boolean);
descriptor: (Lorg/springframework/web/context/request/RequestAttributes;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: invokestatic org.springframework.web.context.request.RequestContextHolder.resetRequestAttributes:()V
2: goto 9
3: StackMap locals:
StackMap stack:
iload 1
ifeq 7
4: getstatic org.springframework.web.context.request.RequestContextHolder.inheritableRequestAttributesHolder:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
5: getstatic org.springframework.web.context.request.RequestContextHolder.requestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
6: goto 9
7: StackMap locals:
StackMap stack:
getstatic org.springframework.web.context.request.RequestContextHolder.requestAttributesHolder:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
8: getstatic org.springframework.web.context.request.RequestContextHolder.inheritableRequestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 attributes Lorg/springframework/web/context/request/RequestAttributes;
0 10 1 inheritable Z
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
MethodParameters:
Name Flags
attributes
inheritable
public static org.springframework.web.context.request.RequestAttributes getRequestAttributes();
descriptor: ()Lorg/springframework/web/context/request/RequestAttributes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic org.springframework.web.context.request.RequestContextHolder.requestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.springframework.web.context.request.RequestAttributes
astore 0
start local 0 1: aload 0
ifnonnull 3
2: getstatic org.springframework.web.context.request.RequestContextHolder.inheritableRequestAttributesHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.springframework.web.context.request.RequestAttributes
astore 0
3: StackMap locals: org.springframework.web.context.request.RequestAttributes
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 attributes Lorg/springframework/web/context/request/RequestAttributes;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public static org.springframework.web.context.request.RequestAttributes currentRequestAttributes();
descriptor: ()Lorg/springframework/web/context/request/RequestAttributes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic org.springframework.web.context.request.RequestContextHolder.getRequestAttributes:()Lorg/springframework/web/context/request/RequestAttributes;
astore 0
start local 0 1: aload 0
ifnonnull 6
2: getstatic org.springframework.web.context.request.RequestContextHolder.jsfPresent:Z
ifeq 4
3: invokestatic org.springframework.web.context.request.RequestContextHolder$FacesRequestAttributesFactory.getFacesRequestAttributes:()Lorg/springframework/web/context/request/RequestAttributes;
astore 0
4: StackMap locals: org.springframework.web.context.request.RequestAttributes
StackMap stack:
aload 0
ifnonnull 6
5: new java.lang.IllegalStateException
dup
ldc "No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 attributes Lorg/springframework/web/context/request/RequestAttributes;
Exceptions:
throws java.lang.IllegalStateException
}
SourceFile: "RequestContextHolder.java"
NestMembers:
org.springframework.web.context.request.RequestContextHolder$FacesRequestAttributesFactory
InnerClasses:
private FacesRequestAttributesFactory = org.springframework.web.context.request.RequestContextHolder$FacesRequestAttributesFactory of org.springframework.web.context.request.RequestContextHolder