final class com.sun.jndi.ldap.LdapSchemaCtx extends com.sun.jndi.toolkit.dir.HierMemDirCtx
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.LdapSchemaCtx
super_class: com.sun.jndi.toolkit.dir.HierMemDirCtx
{
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int LEAF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int SCHEMA_ROOT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int OBJECTCLASS_ROOT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int ATTRIBUTE_ROOT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int SYNTAX_ROOT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int MATCHRULE_ROOT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int OBJECTCLASS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int ATTRIBUTE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int SYNTAX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int MATCHRULE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
private com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo info;
descriptor: Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
flags: (0x0002) ACC_PRIVATE
private boolean setupMode;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int objectType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static javax.naming.directory.DirContext createSchemaTree(java.util.Hashtable<java.lang.String, java.lang.Object>, java.lang.String, com.sun.jndi.ldap.LdapCtx, javax.naming.directory.Attributes, boolean);
descriptor: (Ljava/util/Hashtable;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/DirContext;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.sun.jndi.ldap.LdapSchemaParser
dup
iload 4
invokespecial com.sun.jndi.ldap.LdapSchemaParser.<init>:(Z)V
astore 5
start local 5 1: new com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo
dup
aload 1
2: aload 2
aload 5
3: invokespecial com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.<init>:(Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapSchemaParser;)V
astore 6
start local 6 4: new com.sun.jndi.ldap.LdapSchemaCtx
dup
iconst_1
aload 0
aload 6
invokespecial com.sun.jndi.ldap.LdapSchemaCtx.<init>:(ILjava/util/Hashtable;Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;)V
astore 7
start local 7 5: aload 3
aload 7
invokestatic com.sun.jndi.ldap.LdapSchemaParser.LDAP2JNDISchema:(Ljavax/naming/directory/Attributes;Lcom/sun/jndi/ldap/LdapSchemaCtx;)V
6: aload 7
7: areturn
end local 7 end local 6 end local 5 8: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 9: aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.close:()V
10: aload 5
athrow
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 11 0 env Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
0 11 1 subschemasubentry Ljava/lang/String;
0 11 2 schemaEntry Lcom/sun/jndi/ldap/LdapCtx;
0 11 3 schemaAttrs Ljavax/naming/directory/Attributes;
0 11 4 netscapeBug Z
1 8 5 parser Lcom/sun/jndi/ldap/LdapSchemaParser;
4 8 6 allinfo Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
5 8 7 root Lcom/sun/jndi/ldap/LdapSchemaCtx;
9 11 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
0 7 8 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/DirContext;
MethodParameters:
Name Flags
env
subschemasubentry
schemaEntry
schemaAttrs
netscapeBug
private void <init>(int, java.util.Hashtable<java.lang.String, java.lang.Object>, com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo);
descriptor: (ILjava/util/Hashtable;Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iconst_1
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.<init>:(Ljava/util/Hashtable;Z)V
1: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
2: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
3: aload 0
iload 1
putfield com.sun.jndi.ldap.LdapSchemaCtx.objectType:I
4: aload 0
aload 3
putfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
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/LdapSchemaCtx;
0 6 1 objectType I
0 6 2 environment Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
0 6 3 info Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
Signature: (ILjava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;)V
MethodParameters:
Name Flags
objectType
environment
info
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
Exceptions:
throws javax.naming.NamingException
public final void bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 4
1: aload 2
ifnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "obj must be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.addServerSchema:(Ljavax/naming/directory/Attributes;)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doCreateSubcontext:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/DirContext;
checkcast com.sun.jndi.ldap.LdapSchemaCtx
pop
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/LdapSchemaCtx;
0 6 1 name Ljavax/naming/Name;
0 6 2 obj Ljava/lang/Object;
0 6 3 attrs Ljavax/naming/directory/Attributes;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
protected final void doBind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, boolean);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 4
1: new javax.naming.directory.SchemaViolationException
dup
2: ldc "Cannot bind arbitrary object; use createSubcontext()"
3: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doBind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Z)V
5: return
end local 4 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/LdapSchemaCtx;
0 6 1 name Ljavax/naming/Name;
0 6 2 obj Ljava/lang/Object;
0 6 3 attrs Ljavax/naming/directory/Attributes;
0 6 4 useFactory Z
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
useFactory
public final void rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.doLookup:(Ljavax/naming/Name;Z)Ljava/lang/Object;
pop
1: new javax.naming.directory.SchemaViolationException
dup
2: ldc "Cannot replace existing schema object"
3: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack: javax.naming.NameNotFoundException
pop
5: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.bind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 7 1 name Ljavax/naming/Name;
0 7 2 obj Ljava/lang/Object;
0 7 3 attrs Ljavax/naming/directory/Attributes;
Exception table:
from to target type
0 4 4 Class javax.naming.NameNotFoundException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
protected final void doRebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, boolean);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 4
1: new javax.naming.directory.SchemaViolationException
dup
2: ldc "Cannot bind arbitrary object; use createSubcontext()"
3: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iconst_0
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doRebind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Z)V
5: return
end local 4 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/LdapSchemaCtx;
0 6 1 name Ljavax/naming/Name;
0 6 2 obj Ljava/lang/Object;
0 6 3 attrs Ljavax/naming/directory/Attributes;
0 6 4 useFactory Z
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
useFactory
protected final void doUnbind(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 6
1: aload 0
aload 1
iconst_0
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.doLookup:(Ljavax/naming/Name;Z)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.LdapSchemaCtx
astore 2
start local 2 2: aload 0
aload 2
getfield com.sun.jndi.ldap.LdapSchemaCtx.attrs:Ljavax/naming/directory/Attributes;
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.deleteServerSchema:(Ljavax/naming/directory/Attributes;)V
end local 2 3: goto 6
StackMap locals:
StackMap stack: javax.naming.NameNotFoundException
4: pop
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doUnbind:(Ljavax/naming/Name;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 8 1 name Ljavax/naming/Name;
2 3 2 target Lcom/sun/jndi/ldap/LdapSchemaCtx;
Exception table:
from to target type
1 3 4 Class javax.naming.NameNotFoundException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
protected final void doRename(javax.naming.Name, javax.naming.Name);
descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 2
1: new javax.naming.directory.SchemaViolationException
dup
ldc "Cannot rename a schema object"
invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doRename:(Ljavax/naming/Name;Ljavax/naming/Name;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 4 1 oldname Ljavax/naming/Name;
0 4 2 newname Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
oldname
newname
protected final void doDestroySubcontext(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 6
1: aload 0
aload 1
iconst_0
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.doLookup:(Ljavax/naming/Name;Z)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.LdapSchemaCtx
astore 2
start local 2 2: aload 0
aload 2
getfield com.sun.jndi.ldap.LdapSchemaCtx.attrs:Ljavax/naming/directory/Attributes;
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.deleteServerSchema:(Ljavax/naming/directory/Attributes;)V
end local 2 3: goto 6
StackMap locals:
StackMap stack: javax.naming.NameNotFoundException
4: pop
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doDestroySubcontext:(Ljavax/naming/Name;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 8 1 name Ljavax/naming/Name;
2 3 2 target Lcom/sun/jndi/ldap/LdapSchemaCtx;
Exception table:
from to target type
1 3 4 Class javax.naming.NameNotFoundException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
final com.sun.jndi.ldap.LdapSchemaCtx setup(int, java.lang.String, javax.naming.directory.Attributes);
descriptor: (ILjava/lang/String;Ljavax/naming/directory/Attributes;)Lcom/sun/jndi/ldap/LdapSchemaCtx;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
1: aload 0
2: new javax.naming.CompositeName
dup
aload 2
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
aload 3
3: invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doCreateSubcontext:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/DirContext;
checkcast com.sun.jndi.ldap.LdapSchemaCtx
4: astore 4
start local 4 5: aload 4
iload 1
putfield com.sun.jndi.ldap.LdapSchemaCtx.objectType:I
6: aload 4
iconst_0
putfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
7: aload 4
astore 6
8: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
9: aload 6
areturn
end local 4 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
11: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
12: aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 13 1 objectType I
0 13 2 name Ljava/lang/String;
0 13 3 attrs Ljavax/naming/directory/Attributes;
5 10 4 answer Lcom/sun/jndi/ldap/LdapSchemaCtx;
Exception table:
from to target type
0 8 10 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
objectType
name
attrs
protected final javax.naming.directory.DirContext doCreateSubcontext(javax.naming.Name, javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/DirContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
invokeinterface javax.naming.directory.Attributes.size:()I
ifne 4
1: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
2: ldc "Must supply attributes describing schema"
3: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifne 6
5: aload 0
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.addServerSchema:(Ljavax/naming/directory/Attributes;)V
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doCreateSubcontext:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/DirContext;
checkcast com.sun.jndi.ldap.LdapSchemaCtx
7: astore 3
start local 3 8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 9 1 name Ljavax/naming/Name;
0 9 2 attrs Ljavax/naming/directory/Attributes;
8 9 3 newEntry Lcom/sun/jndi/ldap/LdapSchemaCtx;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
attrs
private static final javax.naming.directory.Attributes deepClone(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attributes;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
astore 1
start local 1 1: aload 0
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 2
start local 2 2: goto 4
3: StackMap locals: javax.naming.directory.BasicAttributes javax.naming.NamingEnumeration
StackMap stack:
aload 1
aload 2
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
invokeinterface javax.naming.directory.Attribute.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
invokevirtual javax.naming.directory.BasicAttributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 3
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 orig Ljavax/naming/directory/Attributes;
1 6 1 copy Ljavax/naming/directory/BasicAttributes;
2 6 2 attrs Ljavax/naming/NamingEnumeration<+Ljavax/naming/directory/Attribute;>;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
orig
protected final void doModifyAttributes(javax.naming.directory.ModificationItem[]);
descriptor: ([Ljavax/naming/directory/ModificationItem;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.setupMode:Z
ifeq 3
1: aload 0
aload 1
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.doModifyAttributes:([Ljavax/naming/directory/ModificationItem;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.attrs:Ljavax/naming/directory/Attributes;
invokestatic com.sun.jndi.ldap.LdapSchemaCtx.deepClone:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attributes;
astore 2
start local 2 4: aload 1
aload 2
invokestatic com.sun.jndi.ldap.LdapSchemaCtx.applyMods:([Ljavax/naming/directory/ModificationItem;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attributes;
pop
5: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.attrs:Ljavax/naming/directory/Attributes;
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx.modifyServerSchema:(Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attributes;)V
6: aload 0
aload 2
putfield com.sun.jndi.ldap.LdapSchemaCtx.attrs:Ljavax/naming/directory/Attributes;
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 8 1 mods [Ljavax/naming/directory/ModificationItem;
4 7 2 copy Ljavax/naming/directory/Attributes;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
mods
protected final com.sun.jndi.toolkit.dir.HierMemDirCtx createNewCtx();
descriptor: ()Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=2, args_size=1
start local 0 0: new com.sun.jndi.ldap.LdapSchemaCtx
dup
iconst_0
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.myEnv:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
invokespecial com.sun.jndi.ldap.LdapSchemaCtx.<init>:(ILjava/util/Hashtable;Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;)V
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
1 2 1 ctx Lcom/sun/jndi/ldap/LdapSchemaCtx;
private final void addServerSchema(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.objectType:I
tableswitch { // 1 - 5
1: 9
2: 1
3: 3
4: 5
5: 7
default: 12
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyObjDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 2: goto 15
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyAttrDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 4: goto 15
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifySyntaxDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 6: goto 15
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyMatchRuleDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 8: goto 15
end local 2 9: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
10: ldc "Cannot create new entry under schema root"
11: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
13: ldc "Cannot create child of schema object"
14: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
start local 2 15: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
astore 3
start local 3 16: aload 3
aload 2
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
17: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.myEnv:Ljava/util/Hashtable;
iconst_1
aload 3
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.modifyAttributes:(Ljava/util/Hashtable;ILjavax/naming/directory/Attributes;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 19 1 attrs Ljavax/naming/directory/Attributes;
2 3 2 schemaAttr Ljavax/naming/directory/Attribute;
4 5 2 schemaAttr Ljavax/naming/directory/Attribute;
6 7 2 schemaAttr Ljavax/naming/directory/Attribute;
8 9 2 schemaAttr Ljavax/naming/directory/Attribute;
15 19 2 schemaAttr Ljavax/naming/directory/Attribute;
16 19 3 holder Ljavax/naming/directory/Attributes;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrs
private final void deleteServerSchema(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.objectType:I
tableswitch { // 1 - 5
1: 9
2: 1
3: 3
4: 5
5: 7
default: 12
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyObjDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 2: goto 15
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyAttrDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 4: goto 15
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifySyntaxDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 6: goto 15
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyMatchRuleDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 2
start local 2 8: goto 15
end local 2 9: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
10: ldc "Cannot delete schema root"
11: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
13: ldc "Cannot delete child of schema object"
14: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
start local 2 15: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
iconst_1
anewarray javax.naming.directory.ModificationItem
astore 3
start local 3 16: aload 3
iconst_0
new javax.naming.directory.ModificationItem
dup
iconst_3
aload 2
invokespecial javax.naming.directory.ModificationItem.<init>:(ILjavax/naming/directory/Attribute;)V
aastore
17: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.myEnv:Ljava/util/Hashtable;
aload 3
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.modifyAttributes:(Ljava/util/Hashtable;[Ljavax/naming/directory/ModificationItem;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 19 1 origAttrs Ljavax/naming/directory/Attributes;
2 3 2 origAttrVal Ljavax/naming/directory/Attribute;
4 5 2 origAttrVal Ljavax/naming/directory/Attribute;
6 7 2 origAttrVal Ljavax/naming/directory/Attribute;
8 9 2 origAttrVal Ljavax/naming/directory/Attribute;
15 19 2 origAttrVal Ljavax/naming/directory/Attribute;
16 19 3 mods [Ljavax/naming/directory/ModificationItem;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
origAttrs
private final void modifyServerSchema(javax.naming.directory.Attributes, javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attributes;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.objectType:I
tableswitch { // 6 - 9
6: 1
7: 4
8: 7
9: 10
default: 13
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyObjDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 2: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyObjDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 3
start local 3 3: goto 16
end local 4 end local 3 4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyAttrDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 5: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyAttrDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 3
start local 3 6: goto 16
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifySyntaxDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 8: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifySyntaxDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 3
start local 3 9: goto 16
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 1
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyMatchRuleDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 11: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
getfield com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.parser:Lcom/sun/jndi/ldap/LdapSchemaParser;
aload 2
invokevirtual com.sun.jndi.ldap.LdapSchemaParser.stringifyMatchRuleDesc:(Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/Attribute;
astore 3
start local 3 12: goto 16
end local 4 end local 3 13: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
14: ldc "Cannot modify schema root"
15: invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
athrow
start local 3 start local 4 16: StackMap locals: javax.naming.directory.Attribute javax.naming.directory.Attribute
StackMap stack:
iconst_2
anewarray javax.naming.directory.ModificationItem
astore 5
start local 5 17: aload 5
iconst_0
new javax.naming.directory.ModificationItem
dup
iconst_3
aload 4
invokespecial javax.naming.directory.ModificationItem.<init>:(ILjavax/naming/directory/Attribute;)V
aastore
18: aload 5
iconst_1
new javax.naming.directory.ModificationItem
dup
iconst_1
aload 3
invokespecial javax.naming.directory.ModificationItem.<init>:(ILjavax/naming/directory/Attribute;)V
aastore
19: aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.info:Lcom/sun/jndi/ldap/LdapSchemaCtx$SchemaInfo;
aload 0
getfield com.sun.jndi.ldap.LdapSchemaCtx.myEnv:Ljava/util/Hashtable;
aload 5
invokevirtual com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo.modifyAttributes:(Ljava/util/Hashtable;[Ljavax/naming/directory/ModificationItem;)V
20: 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 21 0 this Lcom/sun/jndi/ldap/LdapSchemaCtx;
0 21 1 origAttrs Ljavax/naming/directory/Attributes;
0 21 2 newAttrs Ljavax/naming/directory/Attributes;
3 4 3 newAttrVal Ljavax/naming/directory/Attribute;
6 7 3 newAttrVal Ljavax/naming/directory/Attribute;
9 10 3 newAttrVal Ljavax/naming/directory/Attribute;
12 13 3 newAttrVal Ljavax/naming/directory/Attribute;
16 21 3 newAttrVal Ljavax/naming/directory/Attribute;
2 4 4 origAttrVal Ljavax/naming/directory/Attribute;
5 7 4 origAttrVal Ljavax/naming/directory/Attribute;
8 10 4 origAttrVal Ljavax/naming/directory/Attribute;
11 13 4 origAttrVal Ljavax/naming/directory/Attribute;
16 21 4 origAttrVal Ljavax/naming/directory/Attribute;
17 21 5 mods [Ljavax/naming/directory/ModificationItem;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
origAttrs
newAttrs
}
SourceFile: "LdapSchemaCtx.java"
NestMembers:
com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo
InnerClasses:
private final SchemaInfo = com.sun.jndi.ldap.LdapSchemaCtx$SchemaInfo of com.sun.jndi.ldap.LdapSchemaCtx