final class com.sun.jndi.ldap.NamingEventNotifier implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.NamingEventNotifier
super_class: java.lang.Object
{
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private java.util.Vector<javax.naming.event.NamingListener> namingListeners;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Ljavax/naming/event/NamingListener;>;
private java.lang.Thread worker;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private com.sun.jndi.ldap.LdapCtx context;
descriptor: Lcom/sun/jndi/ldap/LdapCtx;
flags: (0x0002) ACC_PRIVATE
private javax.naming.event.EventContext eventSrc;
descriptor: Ljavax/naming/event/EventContext;
flags: (0x0002) ACC_PRIVATE
private com.sun.jndi.ldap.EventSupport support;
descriptor: Lcom/sun/jndi/ldap/EventSupport;
flags: (0x0002) ACC_PRIVATE
private javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results;
descriptor: Ljavax/naming/NamingEnumeration;
flags: (0x0002) ACC_PRIVATE
Signature: Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
com.sun.jndi.ldap.NotifierArgs info;
descriptor: Lcom/sun/jndi/ldap/NotifierArgs;
flags: (0x0000)
void <init>(com.sun.jndi.ldap.EventSupport, com.sun.jndi.ldap.LdapCtx, com.sun.jndi.ldap.NotifierArgs, javax.naming.event.NamingListener);
descriptor: (Lcom/sun/jndi/ldap/EventSupport;Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/NotifierArgs;Ljavax/naming/event/NamingListener;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
2: aload 0
aload 1
putfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
3: new com.sun.jndi.ldap.PersistentSearchControl
dup
4: aload 3
getfield com.sun.jndi.ldap.NotifierArgs.mask:I
5: iconst_1
6: iconst_1
7: iconst_1
8: invokespecial com.sun.jndi.ldap.PersistentSearchControl.<init>:(IZZZ)V
astore 5
start local 5 9: goto 16
end local 5 StackMap locals: com.sun.jndi.ldap.NamingEventNotifier com.sun.jndi.ldap.EventSupport com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.NotifierArgs javax.naming.event.NamingListener
StackMap stack: java.io.IOException
10: astore 6
start local 6 11: new javax.naming.NamingException
dup
12: ldc "Problem creating persistent search control"
13: invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 14: aload 7
aload 6
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
15: aload 7
athrow
end local 7 end local 6 start local 5 16: StackMap locals: javax.naming.ldap.Control
StackMap stack:
aload 0
aload 2
iconst_1
anewarray javax.naming.ldap.Control
dup
iconst_0
aload 5
aastore
invokevirtual com.sun.jndi.ldap.LdapCtx.newInstance:([Ljavax/naming/ldap/Control;)Ljavax/naming/ldap/LdapContext;
checkcast com.sun.jndi.ldap.LdapCtx
putfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
17: aload 0
aload 2
putfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
18: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
19: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
aload 4
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
20: aload 0
getstatic com.sun.jndi.ldap.Obj.helper:Lcom/sun/jndi/ldap/VersionHelper;
aload 0
invokevirtual com.sun.jndi.ldap.VersionHelper.createThread:(Ljava/lang/Runnable;)Ljava/lang/Thread;
putfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
21: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
22: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
23: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 24 1 support Lcom/sun/jndi/ldap/EventSupport;
0 24 2 ctx Lcom/sun/jndi/ldap/LdapCtx;
0 24 3 info Lcom/sun/jndi/ldap/NotifierArgs;
0 24 4 firstListener Ljavax/naming/event/NamingListener;
9 10 5 psearch Ljavax/naming/ldap/Control;
16 24 5 psearch Ljavax/naming/ldap/Control;
11 16 6 e Ljava/io/IOException;
14 16 7 ne Ljavax/naming/NamingException;
Exception table:
from to target type
3 9 10 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
support
ctx
info
firstListener
void addNamingListener(javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/event/NamingListener;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 2 1 l Ljavax/naming/event/NamingListener;
MethodParameters:
Name Flags
l
void removeNamingListener(javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/event/NamingListener;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 2 1 l Ljavax/naming/event/NamingListener;
MethodParameters:
Name Flags
l
boolean hasNamingListeners();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners: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/NamingEventNotifier;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=1
start local 0 0: new com.sun.jndi.toolkit.ctx.Continuation
dup
invokespecial com.sun.jndi.toolkit.ctx.Continuation.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.name:Ljava/lang/String;
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.name:Ljava/lang/String;
ifnull 3
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.name:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: StackMap locals: com.sun.jndi.toolkit.ctx.Continuation
StackMap stack:
new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
goto 5
StackMap locals:
StackMap stack:
4: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.name:Ljava/lang/String;
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
5: StackMap locals:
StackMap stack: javax.naming.Name
astore 2
start local 2 6: aload 0
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
aload 2
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.filter:Ljava/lang/String;
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
getfield com.sun.jndi.ldap.NotifierArgs.controls:Ljavax/naming/directory/SearchControls;
7: iconst_1
iconst_0
aload 1
8: invokevirtual com.sun.jndi.ldap.LdapCtx.searchAux:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZLcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
putfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
9: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
checkcast com.sun.jndi.ldap.LdapSearchEnumeration
10: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
getfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
invokevirtual com.sun.jndi.ldap.LdapSearchEnumeration.setStartName:(Ljavax/naming/Name;)V
11: goto 33
12: StackMap locals: javax.naming.Name
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 3
start local 3 13: aload 3
instanceof javax.naming.ldap.HasControls
ifeq 15
14: aload 3
checkcast javax.naming.ldap.HasControls
invokeinterface javax.naming.ldap.HasControls.getControls:()[Ljavax/naming/ldap/Control;
goto 16
StackMap locals: javax.naming.directory.SearchResult
StackMap stack:
15: aconst_null
16: StackMap locals:
StackMap stack: javax.naming.ldap.Control[]
astore 4
start local 4 17: aload 4
ifnull 33
18: iconst_0
istore 8
start local 8 19: iload 8
aload 4
arraylength
if_icmpge 33
20: aload 4
iload 8
aaload
instanceof com.sun.jndi.ldap.EntryChangeResponseControl
ifeq 33
21: aload 4
iload 8
aaload
checkcast com.sun.jndi.ldap.EntryChangeResponseControl
astore 5
start local 5 22: aload 5
invokevirtual com.sun.jndi.ldap.EntryChangeResponseControl.getChangeNumber:()J
lstore 6
start local 6 23: aload 5
invokevirtual com.sun.jndi.ldap.EntryChangeResponseControl.getChangeType:()I
tableswitch { // 1 - 8
1: 24
2: 26
3: 33
4: 28
5: 33
6: 33
7: 33
8: 30
default: 33
}
24: StackMap locals: com.sun.jndi.ldap.NamingEventNotifier com.sun.jndi.toolkit.ctx.Continuation javax.naming.Name javax.naming.directory.SearchResult javax.naming.ldap.Control[] com.sun.jndi.ldap.EntryChangeResponseControl long int
StackMap stack:
aload 0
aload 3
lload 6
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.fireObjectAdded:(Ljavax/naming/Binding;J)V
25: goto 33
26: StackMap locals:
StackMap stack:
aload 0
aload 3
lload 6
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.fireObjectRemoved:(Ljavax/naming/Binding;J)V
27: goto 33
28: StackMap locals:
StackMap stack:
aload 0
aload 3
lload 6
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.fireObjectChanged:(Ljavax/naming/Binding;J)V
29: goto 33
30: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 5
invokevirtual com.sun.jndi.ldap.EntryChangeResponseControl.getPreviousDN:()Ljava/lang/String;
31: lload 6
32: invokevirtual com.sun.jndi.ldap.NamingEventNotifier.fireObjectRenamed:(Ljavax/naming/Binding;Ljava/lang/String;J)V
end local 8 end local 6 end local 5 end local 4 end local 3 33: StackMap locals: com.sun.jndi.ldap.NamingEventNotifier com.sun.jndi.toolkit.ctx.Continuation javax.naming.Name
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 12
end local 2 end local 1 34: goto 44
StackMap locals: com.sun.jndi.ldap.NamingEventNotifier
StackMap stack: javax.naming.InterruptedNamingException
35: pop
36: aload 0
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.cleanup:()V
goto 45
37: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 1
start local 1 38: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.fireNamingException:(Ljavax/naming/NamingException;)V
39: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.info:Lcom/sun/jndi/ldap/NotifierArgs;
invokevirtual com.sun.jndi.ldap.EventSupport.removeDeadNotifier:(Lcom/sun/jndi/ldap/NotifierArgs;)V
end local 1 40: aload 0
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.cleanup:()V
goto 45
41: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
42: aload 0
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.cleanup:()V
43: aload 9
athrow
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jndi.ldap.NamingEventNotifier.cleanup:()V
45: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
1 34 1 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
6 34 2 nm Ljavax/naming/Name;
13 33 3 si Ljavax/naming/directory/SearchResult;
17 33 4 respctls [Ljavax/naming/ldap/Control;
22 33 5 ec Lcom/sun/jndi/ldap/EntryChangeResponseControl;
23 33 6 changeNum J
19 33 8 i I
38 40 1 e Ljavax/naming/NamingException;
Exception table:
from to target type
0 34 35 Class javax.naming.InterruptedNamingException
0 34 37 Class javax.naming.NamingException
0 36 41 any
37 40 41 any
private void cleanup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
ifnull 3
1: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
invokeinterface javax.naming.NamingEnumeration.close:()V
2: aload 0
aconst_null
putfield com.sun.jndi.ldap.NamingEventNotifier.results:Ljavax/naming/NamingEnumeration;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
ifnull 8
4: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
invokevirtual com.sun.jndi.ldap.LdapCtx.close:()V
5: aload 0
aconst_null
putfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
6: goto 8
StackMap locals:
StackMap stack: javax.naming.NamingException
7: pop
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
Exception table:
from to target type
0 6 7 Class javax.naming.NamingException
void stop();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
ifnull 3
1: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
2: aload 0
aconst_null
putfield com.sun.jndi.ldap.NamingEventNotifier.worker:Ljava/lang/Thread;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
private void fireObjectAdded(javax.naming.Binding, long);
descriptor: (Ljavax/naming/Binding;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
new javax.naming.event.NamingEvent
dup
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
iconst_0
3: aload 1
aconst_null
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
4: invokespecial javax.naming.event.NamingEvent.<init>:(Ljavax/naming/event/EventContext;ILjavax/naming/Binding;Ljavax/naming/Binding;Ljava/lang/Object;)V
astore 4
start local 4 5: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 4
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
6: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 7 1 newBd Ljavax/naming/Binding;
0 7 2 changeID J
5 7 4 e Ljavax/naming/event/NamingEvent;
MethodParameters:
Name Flags
newBd
changeID
private void fireObjectRemoved(javax.naming.Binding, long);
descriptor: (Ljavax/naming/Binding;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
new javax.naming.event.NamingEvent
dup
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
iconst_1
3: aconst_null
aload 1
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
4: invokespecial javax.naming.event.NamingEvent.<init>:(Ljavax/naming/event/EventContext;ILjavax/naming/Binding;Ljavax/naming/Binding;Ljava/lang/Object;)V
astore 4
start local 4 5: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 4
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
6: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 7 1 oldBd Ljavax/naming/Binding;
0 7 2 changeID J
5 7 4 e Ljavax/naming/event/NamingEvent;
MethodParameters:
Name Flags
oldBd
changeID
private void fireObjectChanged(javax.naming.Binding, long);
descriptor: (Ljavax/naming/Binding;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
new javax.naming.Binding
dup
aload 1
invokevirtual javax.naming.Binding.getName:()Ljava/lang/String;
aconst_null
aload 1
invokevirtual javax.naming.Binding.isRelative:()Z
invokespecial javax.naming.Binding.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
astore 4
start local 4 3: new javax.naming.event.NamingEvent
dup
4: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
iconst_3
aload 1
aload 4
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
5: invokespecial javax.naming.event.NamingEvent.<init>:(Ljavax/naming/event/EventContext;ILjavax/naming/Binding;Ljavax/naming/Binding;Ljava/lang/Object;)V
astore 5
start local 5 6: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 5
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
7: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 8 1 newBd Ljavax/naming/Binding;
0 8 2 changeID J
3 8 4 oldBd Ljavax/naming/Binding;
6 8 5 e Ljavax/naming/event/NamingEvent;
MethodParameters:
Name Flags
newBd
changeID
private void fireObjectRenamed(javax.naming.Binding, java.lang.String, long);
descriptor: (Ljavax/naming/Binding;Ljava/lang/String;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: new javax.naming.ldap.LdapName
dup
aload 2
invokespecial javax.naming.ldap.LdapName.<init>:(Ljava/lang/String;)V
astore 6
start local 6 4: aload 6
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
getfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
invokevirtual javax.naming.ldap.LdapName.startsWith:(Ljavax/naming/Name;)Z
ifeq 9
5: aload 6
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.context:Lcom/sun/jndi/ldap/LdapCtx;
getfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
invokeinterface javax.naming.Name.size:()I
invokevirtual javax.naming.ldap.LdapName.getSuffix:(I)Ljavax/naming/Name;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 7
start local 7 6: new javax.naming.Binding
dup
aload 7
aconst_null
invokespecial javax.naming.Binding.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 5
end local 7 end local 6 7: goto 9
StackMap locals: com.sun.jndi.ldap.NamingEventNotifier javax.naming.Binding java.lang.String long javax.naming.Binding
StackMap stack: javax.naming.NamingException
8: pop
9: StackMap locals:
StackMap stack:
aload 5
ifnonnull 11
10: new javax.naming.Binding
dup
aload 2
aconst_null
iconst_0
invokespecial javax.naming.Binding.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
astore 5
11: StackMap locals:
StackMap stack:
new javax.naming.event.NamingEvent
dup
12: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
iconst_2
aload 1
aload 5
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
13: invokespecial javax.naming.event.NamingEvent.<init>:(Ljavax/naming/event/EventContext;ILjavax/naming/Binding;Ljavax/naming/Binding;Ljava/lang/Object;)V
astore 6
start local 6 14: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 6
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
15: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 16 1 newBd Ljavax/naming/Binding;
0 16 2 oldDN Ljava/lang/String;
0 16 3 changeID J
3 16 5 oldBd Ljavax/naming/Binding;
4 7 6 dn Ljavax/naming/ldap/LdapName;
6 7 7 relDN Ljava/lang/String;
14 16 6 e Ljavax/naming/event/NamingEvent;
Exception table:
from to target type
3 7 8 Class javax.naming.NamingException
MethodParameters:
Name Flags
newBd
oldDN
changeID
private void fireNamingException(javax.naming.NamingException);
descriptor: (Ljavax/naming/NamingException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
new javax.naming.event.NamingExceptionEvent
dup
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.eventSrc:Ljavax/naming/event/EventContext;
aload 1
invokespecial javax.naming.event.NamingExceptionEvent.<init>:(Ljavax/naming/event/EventContext;Ljavax/naming/NamingException;)V
astore 2
start local 2 3: aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.support:Lcom/sun/jndi/ldap/EventSupport;
aload 2
aload 0
getfield com.sun.jndi.ldap.NamingEventNotifier.namingListeners:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.EventSupport.queueEvent:(Ljava/util/EventObject;Ljava/util/Vector;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/NamingEventNotifier;
0 5 1 e Ljavax/naming/NamingException;
3 5 2 evt Ljavax/naming/event/NamingExceptionEvent;
MethodParameters:
Name Flags
e
}
SourceFile: "NamingEventNotifier.java"