final class com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter implements com.sun.jmx.remote.internal.NotificationBufferFilter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter
super_class: java.lang.Object
{
final com.sun.jmx.remote.internal.ServerNotifForwarder this$0;
descriptor: Lcom/sun/jmx/remote/internal/ServerNotifForwarder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.jmx.remote.internal.ServerNotifForwarder);
descriptor: (Lcom/sun/jmx/remote/internal/ServerNotifForwarder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter this
0: .line 231
aload 0 /* this */
aload 1
putfield com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter.this$0:Lcom/sun/jmx/remote/internal/ServerNotifForwarder;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/remote/internal/ServerNotifForwarder$NotifForwarderBufferFilter;
MethodParameters:
Name Flags
this$0 final
public void apply(java.util.List<javax.management.remote.TargetedNotification>, javax.management.ObjectName, javax.management.Notification);
descriptor: (Ljava/util/List;Ljavax/management/ObjectName;Ljavax/management/Notification;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=4
start local 0 // com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter this
start local 1 // java.util.List targetedNotifs
start local 2 // javax.management.ObjectName source
start local 3 // javax.management.Notification notif
0: .line 237
aload 0 /* this */
getfield com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter.this$0:Lcom/sun/jmx/remote/internal/ServerNotifForwarder;
getfield com.sun.jmx.remote.internal.ServerNotifForwarder.listenerMap:Ljava/util/Map;
dup
astore 5
monitorenter
1: .line 238
aload 0 /* this */
getfield com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter.this$0:Lcom/sun/jmx/remote/internal/ServerNotifForwarder;
getfield com.sun.jmx.remote.internal.ServerNotifForwarder.listenerMap:Ljava/util/Map;
aload 2 /* source */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 6 /* set */
start local 6 // java.util.Set set
2: .line 239
aload 6 /* set */
ifnonnull 6
3: .line 240
getstatic com.sun.jmx.remote.internal.ServerNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "bufferFilter"
ldc "no listeners for this name"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
4: .line 241
aload 5
monitorexit
5: return
6: .line 243
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification top java.util.Map java.util.Set
StackMap stack:
aload 6 /* set */
invokeinterface java.util.Set.size:()I
anewarray com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter
astore 4 /* candidates */
start local 4 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] candidates
7: .line 244
aload 6 /* set */
aload 4 /* candidates */
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
end local 6 // java.util.Set set
8: .line 237
aload 5
monitorexit
9: goto 12
end local 4 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] candidates
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification top java.util.Map
StackMap stack: java.lang.Throwable
10: aload 5
monitorexit
11: athrow
start local 4 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] candidates
12: .line 248
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[]
StackMap stack:
aload 4 /* candidates */
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 22
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] top int int com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[]
StackMap stack:
13: aload 8
iload 6
aaload
astore 5 /* idaf */
start local 5 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter idaf
14: .line 249
aload 5 /* idaf */
invokevirtual com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter.getFilter:()Ljavax/management/NotificationFilter;
astore 9 /* nf */
start local 9 // javax.management.NotificationFilter nf
15: .line 250
aload 9 /* nf */
ifnull 16
aload 9 /* nf */
aload 3 /* notif */
invokeinterface javax.management.NotificationFilter.isNotificationEnabled:(Ljavax/management/Notification;)Z
ifeq 21
16: .line 251
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter int int com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] javax.management.NotificationFilter
StackMap stack:
getstatic com.sun.jmx.remote.internal.ServerNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "bufferFilter"
ldc "filter matches"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
17: .line 253
new javax.management.remote.TargetedNotification
dup
aload 3 /* notif */
aload 5 /* idaf */
invokevirtual com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter.getId:()Ljava/lang/Integer;
invokespecial javax.management.remote.TargetedNotification.<init>:(Ljavax/management/Notification;Ljava/lang/Integer;)V
18: .line 252
astore 10 /* tn */
start local 10 // javax.management.remote.TargetedNotification tn
19: .line 254
aload 0 /* this */
getfield com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter.this$0:Lcom/sun/jmx/remote/internal/ServerNotifForwarder;
aload 2 /* source */
aload 10 /* tn */
invokevirtual com.sun.jmx.remote.internal.ServerNotifForwarder.allowNotificationEmission:(Ljavax/management/ObjectName;Ljavax/management/remote/TargetedNotification;)Z
ifeq 21
20: .line 255
aload 1 /* targetedNotifs */
aload 10 /* tn */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 // javax.management.remote.TargetedNotification tn
end local 9 // javax.management.NotificationFilter nf
end local 5 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter idaf
21: .line 248
StackMap locals: com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter java.util.List javax.management.ObjectName javax.management.Notification com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] top int int com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
iload 7
if_icmplt 13
23: .line 258
return
end local 4 // com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter[] candidates
end local 3 // javax.management.Notification notif
end local 2 // javax.management.ObjectName source
end local 1 // java.util.List targetedNotifs
end local 0 // com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/jmx/remote/internal/ServerNotifForwarder$NotifForwarderBufferFilter;
0 24 1 targetedNotifs Ljava/util/List<Ljavax/management/remote/TargetedNotification;>;
0 24 2 source Ljavax/management/ObjectName;
0 24 3 notif Ljavax/management/Notification;
7 10 4 candidates [Lcom/sun/jmx/remote/internal/ServerNotifForwarder$IdAndFilter;
12 24 4 candidates [Lcom/sun/jmx/remote/internal/ServerNotifForwarder$IdAndFilter;
2 8 6 set Ljava/util/Set<Lcom/sun/jmx/remote/internal/ServerNotifForwarder$IdAndFilter;>;
14 21 5 idaf Lcom/sun/jmx/remote/internal/ServerNotifForwarder$IdAndFilter;
15 21 9 nf Ljavax/management/NotificationFilter;
19 21 10 tn Ljavax/management/remote/TargetedNotification;
Exception table:
from to target type
1 5 10 any
6 9 10 any
10 11 10 any
Signature: (Ljava/util/List<Ljavax/management/remote/TargetedNotification;>;Ljavax/management/ObjectName;Ljavax/management/Notification;)V
MethodParameters:
Name Flags
targetedNotifs
source
notif
}
SourceFile: "ServerNotifForwarder.java"
NestHost: com.sun.jmx.remote.internal.ServerNotifForwarder
InnerClasses:
private IdAndFilter = com.sun.jmx.remote.internal.ServerNotifForwarder$IdAndFilter of com.sun.jmx.remote.internal.ServerNotifForwarder
final NotifForwarderBufferFilter = com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter of com.sun.jmx.remote.internal.ServerNotifForwarder