class org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser implements org.springframework.beans.factory.xml.BeanDefinitionParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
0: .line 42
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/config/InterceptorsBeanDefinitionParser;
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=6, locals=12, args_size=3
start local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
start local 1 // org.w3c.dom.Element element
start local 2 // org.springframework.beans.factory.xml.ParserContext context
0: .line 47
aload 2 /* context */
1: .line 48
new org.springframework.beans.factory.parsing.CompositeComponentDefinition
dup
aload 1 /* element */
invokeinterface org.w3c.dom.Element.getTagName:()Ljava/lang/String;
aload 2 /* context */
aload 1 /* element */
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
invokespecial org.springframework.beans.factory.parsing.CompositeComponentDefinition.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
2: .line 47
invokevirtual org.springframework.beans.factory.xml.ParserContext.pushContainingComponent:(Lorg/springframework/beans/factory/parsing/CompositeComponentDefinition;)V
3: .line 50
aconst_null
astore 3 /* pathMatcherRef */
start local 3 // org.springframework.beans.factory.config.RuntimeBeanReference pathMatcherRef
4: .line 51
aload 1 /* element */
ldc "path-matcher"
invokeinterface org.w3c.dom.Element.hasAttribute:(Ljava/lang/String;)Z
ifeq 6
5: .line 52
new org.springframework.beans.factory.config.RuntimeBeanReference
dup
aload 1 /* element */
ldc "path-matcher"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokespecial org.springframework.beans.factory.config.RuntimeBeanReference.<init>:(Ljava/lang/String;)V
astore 3 /* pathMatcherRef */
6: .line 55
StackMap locals: org.springframework.beans.factory.config.RuntimeBeanReference
StackMap stack:
aload 1 /* element */
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "bean"
aastore
dup
iconst_1
ldc "ref"
aastore
dup
iconst_2
ldc "interceptor"
aastore
invokestatic org.springframework.util.xml.DomUtils.getChildElementsByTagName:(Lorg/w3c/dom/Element;[Ljava/lang/String;)Ljava/util/List;
astore 4 /* interceptors */
start local 4 // java.util.List interceptors
7: .line 56
aload 4 /* interceptors */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 28
StackMap locals: org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext org.springframework.beans.factory.config.RuntimeBeanReference java.util.List top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.w3c.dom.Element
astore 5 /* interceptor */
start local 5 // org.w3c.dom.Element interceptor
9: .line 57
new org.springframework.beans.factory.support.RootBeanDefinition
dup
ldc Lorg/springframework/web/servlet/handler/MappedInterceptor;
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
astore 7 /* mappedInterceptorDef */
start local 7 // org.springframework.beans.factory.support.RootBeanDefinition mappedInterceptorDef
10: .line 58
aload 7 /* mappedInterceptorDef */
aload 2 /* context */
aload 5 /* interceptor */
invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setSource:(Ljava/lang/Object;)V
11: .line 59
aload 7 /* mappedInterceptorDef */
iconst_2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setRole:(I)V
12: .line 61
aconst_null
astore 8 /* includePatterns */
start local 8 // org.springframework.beans.factory.support.ManagedList includePatterns
13: .line 62
aconst_null
astore 9 /* excludePatterns */
start local 9 // org.springframework.beans.factory.support.ManagedList excludePatterns
14: .line 64
ldc "interceptor"
aload 5 /* interceptor */
invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
15: .line 65
aload 0 /* this */
aload 5 /* interceptor */
ldc "mapping"
invokevirtual org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser.getIncludePatterns:(Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/springframework/beans/factory/support/ManagedList;
astore 8 /* includePatterns */
16: .line 66
aload 0 /* this */
aload 5 /* interceptor */
ldc "exclude-mapping"
invokevirtual org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser.getIncludePatterns:(Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/springframework/beans/factory/support/ManagedList;
astore 9 /* excludePatterns */
17: .line 67
aload 5 /* interceptor */
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "bean"
aastore
dup
iconst_1
ldc "ref"
aastore
invokestatic org.springframework.util.xml.DomUtils.getChildElementsByTagName:(Lorg/w3c/dom/Element;[Ljava/lang/String;)Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.w3c.dom.Element
astore 11 /* beanElem */
start local 11 // org.w3c.dom.Element beanElem
18: .line 68
aload 2 /* context */
invokevirtual org.springframework.beans.factory.xml.ParserContext.getDelegate:()Lorg/springframework/beans/factory/xml/BeanDefinitionParserDelegate;
aload 11 /* beanElem */
aconst_null
invokevirtual org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parsePropertySubElement:(Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/config/BeanDefinition;)Ljava/lang/Object;
astore 10 /* interceptorBean */
end local 11 // org.w3c.dom.Element beanElem
start local 10 // java.lang.Object interceptorBean
19: .line 69
goto 21
end local 10 // java.lang.Object interceptorBean
20: .line 71
StackMap locals: org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext org.springframework.beans.factory.config.RuntimeBeanReference java.util.List org.w3c.dom.Element java.util.Iterator org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.factory.support.ManagedList org.springframework.beans.factory.support.ManagedList
StackMap stack:
aload 2 /* context */
invokevirtual org.springframework.beans.factory.xml.ParserContext.getDelegate:()Lorg/springframework/beans/factory/xml/BeanDefinitionParserDelegate;
aload 5 /* interceptor */
aconst_null
invokevirtual org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parsePropertySubElement:(Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/config/BeanDefinition;)Ljava/lang/Object;
astore 10 /* interceptorBean */
start local 10 // java.lang.Object interceptorBean
21: .line 73
StackMap locals: java.lang.Object
StackMap stack:
aload 7 /* mappedInterceptorDef */
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getConstructorArgumentValues:()Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
iconst_0
aload 8 /* includePatterns */
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.addIndexedArgumentValue:(ILjava/lang/Object;)V
22: .line 74
aload 7 /* mappedInterceptorDef */
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getConstructorArgumentValues:()Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
iconst_1
aload 9 /* excludePatterns */
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.addIndexedArgumentValue:(ILjava/lang/Object;)V
23: .line 75
aload 7 /* mappedInterceptorDef */
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getConstructorArgumentValues:()Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
iconst_2
aload 10 /* interceptorBean */
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.addIndexedArgumentValue:(ILjava/lang/Object;)V
24: .line 77
aload 3 /* pathMatcherRef */
ifnull 26
25: .line 78
aload 7 /* mappedInterceptorDef */
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
ldc "pathMatcher"
aload 3 /* pathMatcherRef */
invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
pop
26: .line 81
StackMap locals:
StackMap stack:
aload 2 /* context */
invokevirtual org.springframework.beans.factory.xml.ParserContext.getReaderContext:()Lorg/springframework/beans/factory/xml/XmlReaderContext;
aload 7 /* mappedInterceptorDef */
invokevirtual org.springframework.beans.factory.xml.XmlReaderContext.registerWithGeneratedName:(Lorg/springframework/beans/factory/config/BeanDefinition;)Ljava/lang/String;
astore 11 /* beanName */
start local 11 // java.lang.String beanName
27: .line 82
aload 2 /* context */
new org.springframework.beans.factory.parsing.BeanComponentDefinition
dup
aload 7 /* mappedInterceptorDef */
aload 11 /* beanName */
invokespecial org.springframework.beans.factory.parsing.BeanComponentDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;Ljava/lang/String;)V
invokevirtual org.springframework.beans.factory.xml.ParserContext.registerComponent:(Lorg/springframework/beans/factory/parsing/ComponentDefinition;)V
end local 11 // java.lang.String beanName
end local 10 // java.lang.Object interceptorBean
end local 9 // org.springframework.beans.factory.support.ManagedList excludePatterns
end local 8 // org.springframework.beans.factory.support.ManagedList includePatterns
end local 7 // org.springframework.beans.factory.support.RootBeanDefinition mappedInterceptorDef
end local 5 // org.w3c.dom.Element interceptor
28: .line 56
StackMap locals: org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser org.w3c.dom.Element org.springframework.beans.factory.xml.ParserContext org.springframework.beans.factory.config.RuntimeBeanReference java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
29: .line 85
aload 2 /* context */
invokevirtual org.springframework.beans.factory.xml.ParserContext.popAndRegisterContainingComponent:()V
30: .line 86
aconst_null
areturn
end local 4 // java.util.List interceptors
end local 3 // org.springframework.beans.factory.config.RuntimeBeanReference pathMatcherRef
end local 2 // org.springframework.beans.factory.xml.ParserContext context
end local 1 // org.w3c.dom.Element element
end local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/springframework/web/servlet/config/InterceptorsBeanDefinitionParser;
0 31 1 element Lorg/w3c/dom/Element;
0 31 2 context Lorg/springframework/beans/factory/xml/ParserContext;
4 31 3 pathMatcherRef Lorg/springframework/beans/factory/config/RuntimeBeanReference;
7 31 4 interceptors Ljava/util/List<Lorg/w3c/dom/Element;>;
9 28 5 interceptor Lorg/w3c/dom/Element;
10 28 7 mappedInterceptorDef Lorg/springframework/beans/factory/support/RootBeanDefinition;
13 28 8 includePatterns Lorg/springframework/beans/factory/support/ManagedList<Ljava/lang/String;>;
14 28 9 excludePatterns Lorg/springframework/beans/factory/support/ManagedList<Ljava/lang/String;>;
19 20 10 interceptorBean Ljava/lang/Object;
21 28 10 interceptorBean Ljava/lang/Object;
18 19 11 beanElem Lorg/w3c/dom/Element;
27 28 11 beanName Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
element
context
private org.springframework.beans.factory.support.ManagedList<java.lang.String> getIncludePatterns(org.w3c.dom.Element, java.lang.String);
descriptor: (Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/springframework/beans/factory/support/ManagedList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
start local 1 // org.w3c.dom.Element interceptor
start local 2 // java.lang.String elementName
0: .line 90
aload 1 /* interceptor */
aload 2 /* elementName */
invokestatic org.springframework.util.xml.DomUtils.getChildElementsByTagName:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;
astore 3 /* paths */
start local 3 // java.util.List paths
1: .line 91
new org.springframework.beans.factory.support.ManagedList
dup
aload 3 /* paths */
invokeinterface java.util.List.size:()I
invokespecial org.springframework.beans.factory.support.ManagedList.<init>:(I)V
astore 4 /* patterns */
start local 4 // org.springframework.beans.factory.support.ManagedList patterns
2: .line 92
aload 3 /* paths */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser org.w3c.dom.Element java.lang.String java.util.List org.springframework.beans.factory.support.ManagedList top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.w3c.dom.Element
astore 5 /* path */
start local 5 // org.w3c.dom.Element path
4: .line 93
aload 4 /* patterns */
aload 5 /* path */
ldc "path"
invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.beans.factory.support.ManagedList.add:(Ljava/lang/Object;)Z
pop
end local 5 // org.w3c.dom.Element path
5: .line 92
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: .line 95
aload 4 /* patterns */
areturn
end local 4 // org.springframework.beans.factory.support.ManagedList patterns
end local 3 // java.util.List paths
end local 2 // java.lang.String elementName
end local 1 // org.w3c.dom.Element interceptor
end local 0 // org.springframework.web.servlet.config.InterceptorsBeanDefinitionParser this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/web/servlet/config/InterceptorsBeanDefinitionParser;
0 7 1 interceptor Lorg/w3c/dom/Element;
0 7 2 elementName Ljava/lang/String;
1 7 3 paths Ljava/util/List<Lorg/w3c/dom/Element;>;
2 7 4 patterns Lorg/springframework/beans/factory/support/ManagedList<Ljava/lang/String;>;
4 5 5 path Lorg/w3c/dom/Element;
Signature: (Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/springframework/beans/factory/support/ManagedList<Ljava/lang/String;>;
MethodParameters:
Name Flags
interceptor
elementName
}
SourceFile: "InterceptorsBeanDefinitionParser.java"