class org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever
super_class: java.lang.Object
{
public final java.util.Set<org.springframework.context.ApplicationListener<?>> applicationListeners;
descriptor: Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/springframework/context/ApplicationListener<*>;>;
public final java.util.Set<java.lang.String> applicationListenerBeans;
descriptor: Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final boolean preFiltered;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.springframework.context.event.AbstractApplicationEventMulticaster this$0;
descriptor: Lorg/springframework/context/event/AbstractApplicationEventMulticaster;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.context.event.AbstractApplicationEventMulticaster, boolean);
descriptor: (Lorg/springframework/context/event/AbstractApplicationEventMulticaster;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever this
start local 2 // boolean preFiltered
0: .line 374
aload 0 /* this */
aload 1
putfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.this$0:Lorg/springframework/context/event/AbstractApplicationEventMulticaster;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 368
aload 0 /* this */
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListeners:Ljava/util/Set;
2: .line 370
aload 0 /* this */
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListenerBeans:Ljava/util/Set;
3: .line 375
aload 0 /* this */
iload 2 /* preFiltered */
putfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.preFiltered:Z
4: .line 376
return
end local 2 // boolean preFiltered
end local 0 // org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/context/event/AbstractApplicationEventMulticaster$ListenerRetriever;
0 5 2 preFiltered Z
MethodParameters:
Name Flags
this$0 final
preFiltered
public java.util.Collection<org.springframework.context.ApplicationListener<?>> getApplicationListeners();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 // org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever this
0: .line 379
new java.util.ArrayList
dup
1: .line 380
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListeners:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListenerBeans:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iadd
2: .line 379
invokespecial java.util.ArrayList.<init>:(I)V
astore 1 /* allListeners */
start local 1 // java.util.List allListeners
3: .line 381
aload 1 /* allListeners */
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListeners:Ljava/util/Set;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
4: .line 382
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListenerBeans:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 14
5: .line 383
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.this$0:Lorg/springframework/context/event/AbstractApplicationEventMulticaster;
invokevirtual org.springframework.context.event.AbstractApplicationEventMulticaster.getBeanFactory:()Lorg/springframework/beans/factory/BeanFactory;
astore 2 /* beanFactory */
start local 2 // org.springframework.beans.factory.BeanFactory beanFactory
6: .line 384
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListenerBeans:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever java.util.List org.springframework.beans.factory.BeanFactory top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3 /* listenerBeanName */
start local 3 // java.lang.String listenerBeanName
8: .line 386
aload 2 /* beanFactory */
aload 3 /* listenerBeanName */
ldc Lorg/springframework/context/ApplicationListener;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.context.ApplicationListener
astore 5 /* listener */
start local 5 // org.springframework.context.ApplicationListener listener
9: .line 387
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.preFiltered:Z
ifne 10
aload 1 /* allListeners */
aload 5 /* listener */
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 13
10: .line 388
StackMap locals: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever java.util.List org.springframework.beans.factory.BeanFactory java.lang.String java.util.Iterator org.springframework.context.ApplicationListener
StackMap stack:
aload 1 /* allListeners */
aload 5 /* listener */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 // org.springframework.context.ApplicationListener listener
11: .line 390
goto 13
12: .line 391
StackMap locals: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever java.util.List org.springframework.beans.factory.BeanFactory java.lang.String java.util.Iterator
StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
pop
end local 3 // java.lang.String listenerBeanName
13: .line 384
StackMap locals: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever java.util.List org.springframework.beans.factory.BeanFactory top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 2 // org.springframework.beans.factory.BeanFactory beanFactory
14: .line 397
StackMap locals: org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever java.util.List
StackMap stack:
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.preFiltered:Z
ifeq 15
aload 0 /* this */
getfield org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever.applicationListenerBeans:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 16
15: .line 398
StackMap locals:
StackMap stack:
aload 1 /* allListeners */
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
16: .line 400
StackMap locals:
StackMap stack:
aload 1 /* allListeners */
areturn
end local 1 // java.util.List allListeners
end local 0 // org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/context/event/AbstractApplicationEventMulticaster$ListenerRetriever;
3 17 1 allListeners Ljava/util/List<Lorg/springframework/context/ApplicationListener<*>;>;
6 14 2 beanFactory Lorg/springframework/beans/factory/BeanFactory;
8 13 3 listenerBeanName Ljava/lang/String;
9 11 5 listener Lorg/springframework/context/ApplicationListener<*>;
Exception table:
from to target type
8 11 12 Class org.springframework.beans.factory.NoSuchBeanDefinitionException
Signature: ()Ljava/util/Collection<Lorg/springframework/context/ApplicationListener<*>;>;
}
SourceFile: "AbstractApplicationEventMulticaster.java"
NestHost: org.springframework.context.event.AbstractApplicationEventMulticaster
InnerClasses:
private ListenerRetriever = org.springframework.context.event.AbstractApplicationEventMulticaster$ListenerRetriever of org.springframework.context.event.AbstractApplicationEventMulticaster