final class com.sun.jndi.ldap.EventSupport
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.EventSupport
super_class: java.lang.Object
{
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private com.sun.jndi.ldap.LdapCtx ctx;
descriptor: Lcom/sun/jndi/ldap/LdapCtx;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable<com.sun.jndi.ldap.NotifierArgs, com.sun.jndi.ldap.NamingEventNotifier> notifiers;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Lcom/sun/jndi/ldap/NotifierArgs;Lcom/sun/jndi/ldap/NamingEventNotifier;>;
private java.util.Vector<javax.naming.ldap.UnsolicitedNotificationListener> unsolicited;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Ljavax/naming/ldap/UnsolicitedNotificationListener;>;
private com.sun.jndi.ldap.EventQueue eventQueue;
descriptor: Lcom/sun/jndi/ldap/EventQueue;
flags: (0x0002) ACC_PRIVATE
void <init>(com.sun.jndi.ldap.LdapCtx);
descriptor: (Lcom/sun/jndi/ldap/LdapCtx;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
putfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
3: aload 0
aconst_null
putfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
4: aload 0
aload 1
putfield com.sun.jndi.ldap.EventSupport.ctx:Lcom/sun/jndi/ldap/LdapCtx;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/EventSupport;
0 6 1 ctx Lcom/sun/jndi/ldap/LdapCtx;
MethodParameters:
Name Flags
ctx
synchronized void addNamingListener(java.lang.String, int, javax.naming.event.NamingListener);
descriptor: (Ljava/lang/String;ILjavax/naming/event/NamingListener;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof javax.naming.event.ObjectChangeListener
ifne 2
1: aload 3
instanceof javax.naming.event.NamespaceChangeListener
ifeq 9
2: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.NotifierArgs
dup
aload 1
iload 2
aload 3
invokespecial com.sun.jndi.ldap.NotifierArgs.<init>:(Ljava/lang/String;ILjavax/naming/event/NamingListener;)V
astore 4
start local 4 3: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.NamingEventNotifier
astore 5
start local 5 4: aload 5
ifnonnull 8
5: new com.sun.jndi.ldap.NamingEventNotifier
dup
aload 0
aload 0
getfield com.sun.jndi.ldap.EventSupport.ctx:Lcom/sun/jndi/ldap/LdapCtx;
aload 4
aload 3
invokespecial com.sun.jndi.ldap.NamingEventNotifier.<init>:(Lcom/sun/jndi/ldap/EventSupport;Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/NotifierArgs;Ljavax/naming/event/NamingListener;)V
astore 5
6: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 4
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 9
8: StackMap locals: com.sun.jndi.ldap.NotifierArgs com.sun.jndi.ldap.NamingEventNotifier
StackMap stack:
aload 5
aload 3
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.addNamingListener:(Ljavax/naming/event/NamingListener;)V
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 3
instanceof javax.naming.ldap.UnsolicitedNotificationListener
ifeq 13
10: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
ifnonnull 12
11: aload 0
new java.util.Vector
dup
iconst_3
invokespecial java.util.Vector.<init>:(I)V
putfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
aload 3
checkcast javax.naming.ldap.UnsolicitedNotificationListener
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/jndi/ldap/EventSupport;
0 14 1 nm Ljava/lang/String;
0 14 2 scope I
0 14 3 l Ljavax/naming/event/NamingListener;
3 9 4 args Lcom/sun/jndi/ldap/NotifierArgs;
4 9 5 notifier Lcom/sun/jndi/ldap/NamingEventNotifier;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
scope
l
synchronized void addNamingListener(java.lang.String, java.lang.String, javax.naming.directory.SearchControls, javax.naming.event.NamingListener);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
instanceof javax.naming.event.ObjectChangeListener
ifne 2
1: aload 4
instanceof javax.naming.event.NamespaceChangeListener
ifeq 9
2: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.NotifierArgs
dup
aload 1
aload 2
aload 3
aload 4
invokespecial com.sun.jndi.ldap.NotifierArgs.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
astore 5
start local 5 3: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 5
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.NamingEventNotifier
astore 6
start local 6 4: aload 6
ifnonnull 8
5: new com.sun.jndi.ldap.NamingEventNotifier
dup
aload 0
aload 0
getfield com.sun.jndi.ldap.EventSupport.ctx:Lcom/sun/jndi/ldap/LdapCtx;
aload 5
aload 4
invokespecial com.sun.jndi.ldap.NamingEventNotifier.<init>:(Lcom/sun/jndi/ldap/EventSupport;Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/NotifierArgs;Ljavax/naming/event/NamingListener;)V
astore 6
6: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 5
aload 6
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 9
8: StackMap locals: com.sun.jndi.ldap.NotifierArgs com.sun.jndi.ldap.NamingEventNotifier
StackMap stack:
aload 6
aload 4
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.addNamingListener:(Ljavax/naming/event/NamingListener;)V
end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 4
instanceof javax.naming.ldap.UnsolicitedNotificationListener
ifeq 13
10: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
ifnonnull 12
11: aload 0
new java.util.Vector
dup
iconst_3
invokespecial java.util.Vector.<init>:(I)V
putfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
aload 4
checkcast javax.naming.ldap.UnsolicitedNotificationListener
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/jndi/ldap/EventSupport;
0 14 1 nm Ljava/lang/String;
0 14 2 filter Ljava/lang/String;
0 14 3 ctls Ljavax/naming/directory/SearchControls;
0 14 4 l Ljavax/naming/event/NamingListener;
3 9 5 args Lcom/sun/jndi/ldap/NotifierArgs;
4 9 6 notifier Lcom/sun/jndi/ldap/NamingEventNotifier;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
filter
ctls
l
synchronized void removeNamingListener(javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/event/NamingListener;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.sun.jndi.ldap.EventSupport javax.naming.event.NamingListener top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jndi.ldap.NamingEventNotifier
astore 2
start local 2 2: aload 2
ifnull 7
3: aload 2
aload 1
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.removeNamingListener:(Ljavax/naming/event/NamingListener;)V
4: aload 2
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.hasNamingListeners:()Z
ifne 7
5: aload 2
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.stop:()V
6: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 2
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
ifnull 10
9: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
10: StackMap locals: com.sun.jndi.ldap.EventSupport javax.naming.event.NamingListener
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/jndi/ldap/EventSupport;
0 11 1 l Ljavax/naming/event/NamingListener;
2 7 2 notifier Lcom/sun/jndi/ldap/NamingEventNotifier;
MethodParameters:
Name Flags
l
synchronized boolean hasUnsolicited();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/EventSupport;
synchronized void removeDeadNotifier(com.sun.jndi.ldap.NotifierArgs);
descriptor: (Lcom/sun/jndi/ldap/NotifierArgs;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/EventSupport;
0 2 1 info Lcom/sun/jndi/ldap/NotifierArgs;
MethodParameters:
Name Flags
info
synchronized void fireUnsolicited(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.ldap.UnsolicitedNotification
ifeq 7
3: new javax.naming.ldap.UnsolicitedNotificationEvent
dup
aload 0
getfield com.sun.jndi.ldap.EventSupport.ctx:Lcom/sun/jndi/ldap/LdapCtx;
aload 1
checkcast javax.naming.ldap.UnsolicitedNotification
invokespecial javax.naming.ldap.UnsolicitedNotificationEvent.<init>:(Ljava/lang/Object;Ljavax/naming/ldap/UnsolicitedNotification;)V
4: astore 2
start local 2 5: aload 0
aload 2
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
end local 2 6: goto 12
StackMap locals:
StackMap stack:
7: aload 1
instanceof javax.naming.NamingException
ifeq 12
8: new javax.naming.event.NamingExceptionEvent
dup
aload 0
getfield com.sun.jndi.ldap.EventSupport.ctx:Lcom/sun/jndi/ldap/LdapCtx;
aload 1
checkcast javax.naming.NamingException
invokespecial javax.naming.event.NamingExceptionEvent.<init>:(Ljavax/naming/event/EventContext;Ljavax/naming/NamingException;)V
9: astore 2
start local 2 10: aload 0
aload 2
aload 0
getfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
11: aload 0
aconst_null
putfield com.sun.jndi.ldap.EventSupport.unsolicited:Ljava/util/Vector;
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/jndi/ldap/EventSupport;
0 13 1 obj Ljava/lang/Object;
5 6 2 evt Ljavax/naming/ldap/UnsolicitedNotificationEvent;
10 12 2 evt Ljavax/naming/event/NamingExceptionEvent;
MethodParameters:
Name Flags
obj
synchronized void cleanup();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
ifnull 6
1: aload 0
getfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: com.sun.jndi.ldap.EventSupport top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jndi.ldap.NamingEventNotifier
astore 1
start local 1 3: aload 1
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.stop:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
aconst_null
putfield com.sun.jndi.ldap.EventSupport.notifiers:Ljava/util/Hashtable;
6: StackMap locals: com.sun.jndi.ldap.EventSupport
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
ifnull 9
7: aload 0
getfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
invokevirtual com.sun.jndi.ldap.EventQueue.stop:()V
8: aload 0
aconst_null
putfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/ldap/EventSupport;
3 4 1 notifier Lcom/sun/jndi/ldap/NamingEventNotifier;
synchronized void queueEvent(java.util.EventObject, java.util.Vector<? extends javax.naming.event.NamingListener>);
descriptor: (Ljava/util/EventObject;Ljava/util/Vector;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
ifnonnull 2
1: aload 0
new com.sun.jndi.ldap.EventQueue
dup
invokespecial com.sun.jndi.ldap.EventQueue.<init>:()V
putfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
checkcast java.util.Vector
3: astore 3
start local 3 4: aload 0
getfield com.sun.jndi.ldap.EventSupport.eventQueue:Lcom/sun/jndi/ldap/EventQueue;
aload 1
aload 3
invokevirtual com.sun.jndi.ldap.EventQueue.enqueue:(Ljava/util/EventObject;Ljava/util/Vector;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/EventSupport;
0 6 1 event Ljava/util/EventObject;
0 6 2 vector Ljava/util/Vector<+Ljavax/naming/event/NamingListener;>;
4 6 3 v Ljava/util/Vector<Ljavax/naming/event/NamingListener;>;
Signature: (Ljava/util/EventObject;Ljava/util/Vector<+Ljavax/naming/event/NamingListener;>;)V
MethodParameters:
Name Flags
event
vector
}
SourceFile: "EventSupport.java"