public class org.springframework.web.servlet.config.CorsBeanDefinitionParser implements org.springframework.beans.factory.xml.BeanDefinitionParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.servlet.config.CorsBeanDefinitionParser
super_class: java.lang.Object
{
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/servlet/config/CorsBeanDefinitionParser;
public org.springframework.beans.factory.config.BeanDefinition parse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext);
descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/beans/factory/config/BeanDefinition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 3
start local 3 1: aload 1
ldc "mapping"
invokestatic org.springframework.util.xml.DomUtils.getChildElementsByTagName:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;
astore 4
start local 4 2: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
3: new org.springframework.web.cors.CorsConfiguration
dup
invokespecial org.springframework.web.cors.CorsConfiguration.<init>:()V
invokevirtual org.springframework.web.cors.CorsConfiguration.applyPermitDefaultValues:()Lorg/springframework/web/cors/CorsConfiguration;
astore 5
start local 5 4: aload 3
ldc "/**"
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 5: goto 32
6: StackMap locals: java.util.Map java.util.List
StackMap stack:
aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: org.springframework.web.servlet.config.CorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext java.util.Map java.util.List top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.w3c.dom.Element
astore 5
start local 5 8: new org.springframework.web.cors.CorsConfiguration
dup
invokespecial org.springframework.web.cors.CorsConfiguration.<init>:()V
astore 7
start local 7 9: aload 5
ldc "allowed-origins"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 12
10: aload 5
ldc "allowed-origins"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc ","
invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 11: aload 7
aload 8
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.web.cors.CorsConfiguration.setAllowedOrigins:(Ljava/util/List;)V
end local 8 12: StackMap locals: org.springframework.web.servlet.config.CorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext java.util.Map java.util.List org.w3c.dom.Element java.util.Iterator org.springframework.web.cors.CorsConfiguration
StackMap stack:
aload 5
ldc "allowed-origin-patterns"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 15
13: aload 5
ldc "allowed-origin-patterns"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc ","
invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 14: aload 7
aload 8
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.web.cors.CorsConfiguration.setAllowedOriginPatterns:(Ljava/util/List;)Lorg/springframework/web/cors/CorsConfiguration;
pop
end local 8 15: StackMap locals:
StackMap stack:
aload 5
ldc "allowed-methods"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 18
16: aload 5
ldc "allowed-methods"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc ","
invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 17: aload 7
aload 8
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.web.cors.CorsConfiguration.setAllowedMethods:(Ljava/util/List;)V
end local 8 18: StackMap locals:
StackMap stack:
aload 5
ldc "allowed-headers"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 21
19: aload 5
ldc "allowed-headers"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc ","
invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 20: aload 7
aload 8
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.web.cors.CorsConfiguration.setAllowedHeaders:(Ljava/util/List;)V
end local 8 21: StackMap locals:
StackMap stack:
aload 5
ldc "exposed-headers"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 24
22: aload 5
ldc "exposed-headers"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
ldc ","
invokestatic org.springframework.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 23: aload 7
aload 8
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.web.cors.CorsConfiguration.setExposedHeaders:(Ljava/util/List;)V
end local 8 24: StackMap locals:
StackMap stack:
aload 5
ldc "allow-credentials"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 26
25: aload 7
aload 5
ldc "allow-credentials"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.springframework.web.cors.CorsConfiguration.setAllowCredentials:(Ljava/lang/Boolean;)V
26: StackMap locals:
StackMap stack:
aload 5
ldc "max-age"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 28
27: aload 7
aload 5
ldc "max-age"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.springframework.web.cors.CorsConfiguration.setMaxAge:(Ljava/lang/Long;)V
28: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.springframework.web.cors.CorsConfiguration.applyPermitDefaultValues:()Lorg/springframework/web/cors/CorsConfiguration;
pop
29: aload 7
invokevirtual org.springframework.web.cors.CorsConfiguration.validateAllowCredentials:()V
30: aload 3
aload 5
ldc "path"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 5 31: StackMap locals: org.springframework.web.servlet.config.CorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext java.util.Map java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
32: StackMap locals: org.springframework.web.servlet.config.CorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext java.util.Map java.util.List
StackMap stack:
aload 3
aload 2
aload 2
aload 1
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
33: invokestatic org.springframework.web.servlet.config.MvcNamespaceUtils.registerCorsConfigurations:(Ljava/util/Map;Lorg/springframework/beans/factory/xml/ParserContext;Ljava/lang/Object;)Lorg/springframework/beans/factory/config/RuntimeBeanReference;
pop
34: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/springframework/web/servlet/config/CorsBeanDefinitionParser;
0 35 1 element Lorg/w3c/dom/Element;
0 35 2 parserContext Lorg/springframework/beans/factory/xml/ParserContext;
1 35 3 corsConfigurations Ljava/util/Map<Ljava/lang/String;Lorg/springframework/web/cors/CorsConfiguration;>;
2 35 4 mappings Ljava/util/List<Lorg/w3c/dom/Element;>;
4 5 5 config Lorg/springframework/web/cors/CorsConfiguration;
8 31 5 mapping Lorg/w3c/dom/Element;
9 31 7 config Lorg/springframework/web/cors/CorsConfiguration;
11 12 8 allowedOrigins [Ljava/lang/String;
14 15 8 patterns [Ljava/lang/String;
17 18 8 allowedMethods [Ljava/lang/String;
20 21 8 allowedHeaders [Ljava/lang/String;
23 24 8 exposedHeaders [Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
element
parserContext
}
SourceFile: "CorsBeanDefinitionParser.java"