public class org.springframework.web.servlet.i18n.LocaleChangeInterceptor extends org.springframework.web.servlet.handler.HandlerInterceptorAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.servlet.i18n.LocaleChangeInterceptor
super_class: org.springframework.web.servlet.handler.HandlerInterceptorAdapter
{
public static final java.lang.String DEFAULT_PARAM_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "locale"
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private java.lang.String paramName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] httpMethods;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean ignoreInvalidLocale;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.web.servlet.handler.HandlerInterceptorAdapter.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.logger:Lorg/apache/commons/logging/Log;
2: aload 0
ldc "locale"
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.paramName:Ljava/lang/String;
3: aload 0
iconst_0
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.ignoreInvalidLocale:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
public void setParamName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.paramName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 2 1 paramName Ljava/lang/String;
MethodParameters:
Name Flags
paramName
public java.lang.String getParamName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.paramName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
public void setHttpMethods(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.httpMethods:[Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 2 1 httpMethods [Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
httpMethods
public java.lang.String[] getHttpMethods();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.httpMethods:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setIgnoreInvalidLocale(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.ignoreInvalidLocale:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 2 1 ignoreInvalidLocale Z
MethodParameters:
Name Flags
ignoreInvalidLocale
public boolean isIgnoreInvalidLocale();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.ignoreInvalidLocale:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
public void setLanguageTagCompliant(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "LocaleChangeInterceptor always accepts BCP 47 language tags"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 3 1 languageTagCompliant Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
languageTagCompliant
public boolean isLanguageTagCompliant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public boolean preHandle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual org.springframework.web.servlet.i18n.LocaleChangeInterceptor.getParamName:()Ljava/lang/String;
invokeinterface javax.servlet.http.HttpServletRequest.getParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 15
2: aload 0
aload 1
invokeinterface javax.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.i18n.LocaleChangeInterceptor.checkHttpMethod:(Ljava/lang/String;)Z
ifeq 15
3: aload 1
invokestatic org.springframework.web.servlet.support.RequestContextUtils.getLocaleResolver:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/LocaleResolver;
astore 5
start local 5 4: aload 5
ifnonnull 8
5: new java.lang.IllegalStateException
dup
6: ldc "No LocaleResolver found: not in a DispatcherServlet request?"
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String org.springframework.web.servlet.LocaleResolver
StackMap stack:
aload 5
aload 1
aload 2
aload 0
aload 4
invokevirtual org.springframework.web.servlet.i18n.LocaleChangeInterceptor.parseLocaleValue:(Ljava/lang/String;)Ljava/util/Locale;
invokeinterface org.springframework.web.servlet.LocaleResolver.setLocale:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/util/Locale;)V
9: goto 15
10: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 11: aload 0
invokevirtual org.springframework.web.servlet.i18n.LocaleChangeInterceptor.isIgnoreInvalidLocale:()Z
ifeq 14
12: aload 0
getfield org.springframework.web.servlet.i18n.LocaleChangeInterceptor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Ignoring invalid locale value ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
13: goto 15
14: StackMap locals: java.lang.IllegalArgumentException
StackMap stack:
aload 6
athrow
end local 6 end local 5 15: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 16 1 request Ljavax/servlet/http/HttpServletRequest;
0 16 2 response Ljavax/servlet/http/HttpServletResponse;
0 16 3 handler Ljava/lang/Object;
1 16 4 newLocale Ljava/lang/String;
4 15 5 localeResolver Lorg/springframework/web/servlet/LocaleResolver;
11 15 6 ex Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
8 9 10 Class java.lang.IllegalArgumentException
Exceptions:
throws javax.servlet.ServletException
MethodParameters:
Name Flags
request
response
handler
private boolean checkHttpMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.web.servlet.i18n.LocaleChangeInterceptor.getHttpMethods:()[Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.String[]
StackMap stack:
aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: org.springframework.web.servlet.i18n.LocaleChangeInterceptor java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
6: iconst_1
ireturn
end local 3 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 4
9: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 10 1 currentMethod Ljava/lang/String;
1 10 2 configuredMethods [Ljava/lang/String;
5 7 3 configuredMethod Ljava/lang/String;
MethodParameters:
Name Flags
currentMethod
protected java.util.Locale parseLocaleValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Locale;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.util.StringUtils.parseLocale:(Ljava/lang/String;)Ljava/util/Locale;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/i18n/LocaleChangeInterceptor;
0 1 1 localeValue Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
localeValue
}
SourceFile: "LocaleChangeInterceptor.java"