public class javax.naming.ldap.Rdn implements java.io.Serializable, java.lang.Comparable<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.naming.ldap.Rdn
super_class: java.lang.Object
{
private transient java.util.ArrayList entries;
descriptor: Ljava/util/ArrayList;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final int DEFAULT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5994465067210009656
private static final java.lang.String escapees;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ",=+<>#;\"\\"
public void <init>(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokeinterface javax.naming.directory.Attributes.size:()I
ifne 3
2: new javax.naming.InvalidNameException
dup
ldc "Attributes cannot be empty"
invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.naming.ldap.Rdn javax.naming.directory.Attributes
StackMap stack:
aload 0
new java.util.ArrayList
dup
aload 1
invokeinterface javax.naming.directory.Attributes.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
4: aload 1
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 13
7: StackMap locals: javax.naming.NamingEnumeration int
StackMap stack:
new javax.naming.ldap.Rdn$RdnEntry
dup
invokespecial javax.naming.ldap.Rdn$RdnEntry.<init>:()V
astore 4
start local 4 8: aload 2
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
astore 5
start local 5 9: aload 4
aload 5
invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
putfield javax.naming.ldap.Rdn$RdnEntry.type:Ljava/lang/String;
10: aload 4
aload 5
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
11: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 3
aload 4
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
end local 5 end local 4 12: iinc 3 1
StackMap locals:
StackMap stack:
13: aload 2
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 7
end local 3 14: goto 21
StackMap locals: javax.naming.ldap.Rdn javax.naming.directory.Attributes javax.naming.NamingEnumeration
StackMap stack: javax.naming.NamingException
15: astore 3
start local 3 16: new javax.naming.InvalidNameException
dup
17: aload 3
invokevirtual javax.naming.NamingException.getMessage:()Ljava/lang/String;
18: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 19: aload 4
aload 3
invokevirtual javax.naming.InvalidNameException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
20: aload 4
athrow
end local 4 end local 3 21: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.naming.ldap.Rdn.sort:()V
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljavax/naming/ldap/Rdn;
0 23 1 attrSet Ljavax/naming/directory/Attributes;
5 23 2 attrs Ljavax/naming/NamingEnumeration;
6 14 3 nEntries I
8 12 4 entry Ljavax/naming/ldap/Rdn$RdnEntry;
9 12 5 attr Ljavax/naming/directory/Attribute;
16 21 3 e Ljavax/naming/NamingException;
19 21 4 e2 Ljavax/naming/InvalidNameException;
Exception table:
from to target type
5 14 15 Class javax.naming.NamingException
Exceptions:
throws javax.naming.InvalidNameException
MethodParameters:
Name Flags
attrSet
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
2: new javax.naming.ldap.Rfc2253Parser
dup
aload 1
invokespecial javax.naming.ldap.Rfc2253Parser.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.naming.ldap.Rfc2253Parser.parseRdn:(Ljavax/naming/ldap/Rdn;)Ljavax/naming/ldap/Rdn;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/naming/ldap/Rdn;
0 4 1 rdnString Ljava/lang/String;
Exceptions:
throws javax.naming.InvalidNameException
MethodParameters:
Name Flags
rdnString
public void <init>(javax.naming.ldap.Rdn);
descriptor: (Ljavax/naming/ldap/Rdn;)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.ArrayList
dup
aload 1
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
2: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
aload 1
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/naming/ldap/Rdn;
0 4 1 rdn Ljavax/naming/ldap/Rdn;
MethodParameters:
Name Flags
rdn
public void <init>(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Cannot set value to null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.naming.ldap.Rdn java.lang.String java.lang.Object
StackMap stack:
aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
aload 0
aload 2
invokevirtual javax.naming.ldap.Rdn.isEmptyValue:(Ljava/lang/Object;)Z
ifeq 9
4: StackMap locals:
StackMap stack:
new javax.naming.InvalidNameException
dup
5: new java.lang.StringBuilder
dup
ldc "type or value cannot be empty, type:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc " value:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
10: aload 0
aload 1
aload 2
invokevirtual javax.naming.ldap.Rdn.put:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/ldap/Rdn;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/naming/ldap/Rdn;
0 12 1 type Ljava/lang/String;
0 12 2 value Ljava/lang/Object;
Exceptions:
throws javax.naming.InvalidNameException
MethodParameters:
Name Flags
type
value
private boolean isEmptyValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.String
ifeq 1
aload 1
ldc ""
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 3
1: StackMap locals:
StackMap stack:
aload 1
instanceof byte[]
ifeq 2
aload 1
checkcast byte[]
arraylength
ifeq 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/naming/ldap/Rdn;
0 4 1 val Ljava/lang/Object;
MethodParameters:
Name Flags
val
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/naming/ldap/Rdn;
javax.naming.ldap.Rdn put(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/ldap/Rdn;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new javax.naming.ldap.Rdn$RdnEntry
dup
invokespecial javax.naming.ldap.Rdn$RdnEntry.<init>:()V
astore 3
start local 3 1: aload 3
aload 1
putfield javax.naming.ldap.Rdn$RdnEntry.type:Ljava/lang/String;
2: aload 2
instanceof byte[]
ifeq 5
3: aload 3
aload 2
checkcast byte[]
invokevirtual byte[].clone:()Ljava/lang/Object;
putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
4: goto 6
5: StackMap locals: javax.naming.ldap.Rdn$RdnEntry
StackMap stack:
aload 3
aload 2
putfield javax.naming.ldap.Rdn$RdnEntry.value:Ljava/lang/Object;
6: StackMap locals:
StackMap stack:
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/naming/ldap/Rdn;
0 8 1 type Ljava/lang/String;
0 8 2 value Ljava/lang/Object;
1 8 3 newEntry Ljavax/naming/ldap/Rdn$RdnEntry;
MethodParameters:
Name Flags
type
value
void sort();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmple 2
1: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/naming/ldap/Rdn;
public java.lang.Object getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Rdn$RdnEntry
invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/naming/ldap/Rdn;
public java.lang.String getType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Rdn$RdnEntry
invokevirtual javax.naming.ldap.Rdn$RdnEntry.getType:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/naming/ldap/Rdn;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 2: iload 2
ifle 4
3: aload 1
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iconst_1
istore 3
start local 3 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 1
bipush 43
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 2
if_icmplt 6
end local 3 10: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavax/naming/ldap/Rdn;
1 11 1 builder Ljava/lang/StringBuilder;
2 11 2 size I
5 10 3 next I
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.naming.ldap.Rdn
ifne 2
1: new java.lang.ClassCastException
dup
ldc "The obj is not a Rdn"
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
if_acmpne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.naming.ldap.Rdn
astore 2
start local 2 5: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 2
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 14
8: StackMap locals: javax.naming.ldap.Rdn int int
StackMap stack:
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Rdn$RdnEntry
9: aload 2
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
10: invokevirtual javax.naming.ldap.Rdn$RdnEntry.compareTo:(Ljava/lang/Object;)I
istore 5
start local 5 11: iload 5
ifeq 13
12: iload 5
ireturn
end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 3
if_icmplt 8
end local 4 15: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 2
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/naming/ldap/Rdn;
0 16 1 obj Ljava/lang/Object;
5 16 2 that Ljavax/naming/ldap/Rdn;
6 16 3 minSize I
7 15 4 i I
11 13 5 diff I
MethodParameters:
Name Flags
obj
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.ldap.Rdn
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.naming.ldap.Rdn
astore 2
start local 2 5: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 2
invokevirtual javax.naming.ldap.Rdn.size:()I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: javax.naming.ldap.Rdn
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 12
9: StackMap locals: int
StackMap stack:
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
aload 2
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 9
end local 3 13: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/naming/ldap/Rdn;
0 14 1 obj Ljava/lang/Object;
5 14 2 that Ljavax/naming/ldap/Rdn;
8 13 3 i I
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 3
end local 2 6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/naming/ldap/Rdn;
1 7 1 hash I
2 6 2 i I
public javax.naming.directory.Attributes toAttributes();
descriptor: ()Ljavax/naming/directory/Attributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, 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: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: javax.naming.directory.Attributes int
StackMap stack:
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Rdn$RdnEntry
astore 3
start local 3 4: aload 1
aload 3
invokevirtual javax.naming.ldap.Rdn$RdnEntry.getType:()Ljava/lang/String;
aload 3
invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
invokeinterface javax.naming.directory.Attributes.put:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 5: aload 4
ifnull 8
6: aload 4
aload 3
invokevirtual javax.naming.ldap.Rdn$RdnEntry.getValue:()Ljava/lang/Object;
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
7: aload 1
aload 4
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 3
end local 2 10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavax/naming/ldap/Rdn;
1 11 1 attrs Ljavax/naming/directory/Attributes;
2 10 2 i I
4 8 3 entry Ljavax/naming/ldap/Rdn$RdnEntry;
5 8 4 attr Ljavax/naming/directory/Attribute;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/naming/ldap/Rdn;
public static java.lang.String escapeValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof byte[]
ifeq 2
1: aload 0
checkcast byte[]
invokestatic javax.naming.ldap.Rdn.escapeBinaryValue:([B)Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.String
invokestatic javax.naming.ldap.Rdn.escapeStringValue:(Ljava/lang/String;)Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 val Ljava/lang/Object;
MethodParameters:
Name Flags
val
private static java.lang.String escapeStringValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: new java.lang.StringBuilder
dup
iconst_2
aload 0
invokevirtual java.lang.String.length:()I
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: char[] java.lang.StringBuilder int
StackMap stack:
aload 1
iload 3
caload
invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
ifne 6
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 4
8: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
isub
istore 4
start local 4 9: goto 13
10: StackMap locals: int
StackMap stack:
aload 1
iload 4
caload
invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
ifne 12
11: goto 14
12: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
13: iload 4
ifge 10
14: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 15: goto 21
16: StackMap locals: int
StackMap stack:
aload 1
iload 5
caload
istore 6
start local 6 17: iload 5
iload 3
if_icmplt 18
iload 5
iload 4
if_icmpgt 18
ldc ",=+<>#;\"\\"
iload 6
invokevirtual java.lang.String.indexOf:(I)I
iflt 19
18: StackMap locals: int
StackMap stack:
aload 2
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: StackMap locals:
StackMap stack:
aload 2
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 6 20: iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
aload 1
arraylength
if_icmplt 16
end local 5 22: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 val Ljava/lang/String;
1 23 1 chars [C
2 23 2 builder Ljava/lang/StringBuilder;
3 23 3 lead I
9 23 4 trail I
15 22 5 i I
17 20 6 c C
MethodParameters:
Name Flags
val
private static java.lang.String escapeBinaryValue(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
iconst_1
iconst_2
aload 0
arraylength
imul
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 1
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 2
start local 2 3: goto 8
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 2
baload
istore 3
start local 3 5: aload 1
bipush 15
iload 3
iconst_4
iushr
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 1
bipush 15
iload 3
iand
bipush 16
invokestatic java.lang.Character.forDigit:(II)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 3 7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
if_icmplt 4
end local 2 9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 val [B
1 10 1 builder Ljava/lang/StringBuilder;
3 9 2 i I
5 7 3 b B
MethodParameters:
Name Flags
val
public static java.lang.Object unescapeValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
arraylength
istore 3
start local 3 3: goto 5
4: StackMap locals: char[] int int
StackMap stack:
iinc 2 1
5: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 8
aload 1
iload 2
caload
invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
ifne 4
6: goto 8
7: StackMap locals:
StackMap stack:
iinc 3 -1
8: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 9
aload 1
iload 3
iconst_1
isub
caload
invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
ifne 7
9: StackMap locals:
StackMap stack:
iload 3
aload 1
arraylength
if_icmpeq 13
10: iload 2
iload 3
if_icmpge 13
11: aload 1
iload 3
iconst_1
isub
caload
bipush 92
if_icmpne 13
12: iinc 3 1
13: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 15
14: ldc ""
areturn
15: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 35
if_icmpne 17
16: aload 1
iinc 2 1
iload 2
iload 3
invokestatic javax.naming.ldap.Rdn.decodeHexPairs:([CII)[B
areturn
17: StackMap locals:
StackMap stack:
aload 1
iload 2
caload
bipush 34
if_icmpne 20
aload 1
iload 3
iconst_1
isub
caload
bipush 34
if_icmpne 20
18: iinc 2 1
19: iinc 3 -1
20: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
iload 3
iload 2
isub
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 21: iconst_m1
istore 5
start local 5 22: iload 2
istore 6
start local 6 23: goto 44
24: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 1
iload 6
caload
bipush 92
if_icmpne 42
iload 6
iconst_1
iadd
iload 3
if_icmpge 42
25: aload 1
iload 6
iconst_1
iadd
caload
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifne 30
26: iinc 6 1
27: aload 4
aload 1
iload 6
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
28: iload 6
istore 5
29: goto 43
30: StackMap locals:
StackMap stack:
aload 1
iload 6
iload 3
invokestatic javax.naming.ldap.Rdn.getUtf8Octets:([CII)[B
astore 7
start local 7 31: aload 7
arraylength
ifle 37
32: aload 4
new java.lang.String
dup
aload 7
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: goto 35
StackMap locals: java.lang.String char[] int int java.lang.StringBuilder int int byte[]
StackMap stack: java.io.UnsupportedEncodingException
34: pop
35: StackMap locals:
StackMap stack:
iload 6
aload 7
arraylength
iconst_3
imul
iconst_1
isub
iadd
istore 6
36: goto 43
37: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
38: new java.lang.StringBuilder
dup
ldc "Not a valid attribute string value:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
39: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",improper usage of backslash"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 42: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 6
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
43: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
44: iload 6
iload 3
if_icmplt 24
end local 6 45: aload 4
invokevirtual java.lang.StringBuilder.length:()I
istore 6
start local 6 46: aload 4
iload 6
iconst_1
isub
invokevirtual java.lang.StringBuilder.charAt:(I)C
invokestatic javax.naming.ldap.Rdn.isWhitespace:(C)Z
ifeq 48
iload 5
iload 3
iconst_1
isub
if_icmpeq 48
47: aload 4
iload 6
iconst_1
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
48: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 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 49 0 val Ljava/lang/String;
1 49 1 chars [C
2 49 2 beg I
3 49 3 end I
21 49 4 builder Ljava/lang/StringBuilder;
22 49 5 esc I
23 45 6 i I
31 42 7 utf8 [B
46 49 6 len I
Exception table:
from to target type
32 33 34 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
val
private static byte[] decodeHexPairs(char[], int, int);
descriptor: ([CII)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iload 1
isub
iconst_2
idiv
newarray 8
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 10
3: StackMap locals: byte[] int
StackMap stack:
aload 0
iload 1
caload
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 5
start local 5 4: aload 0
iload 1
iconst_1
iadd
caload
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 6
start local 6 5: iload 5
iflt 11
iload 6
ifge 7
6: goto 11
7: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 5
iconst_4
ishl
iload 6
iadd
i2b
bastore
8: iinc 1 2
end local 6 end local 5 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 1
iconst_1
iadd
iload 2
if_icmplt 3
end local 4 11: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmpeq 15
12: new java.lang.IllegalArgumentException
dup
13: new java.lang.StringBuilder
dup
ldc "Illegal attribute value: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 chars [C
0 16 1 beg I
0 16 2 end I
1 16 3 bytes [B
2 11 4 i I
4 9 5 hi I
5 9 6 lo I
MethodParameters:
Name Flags
chars
beg
end
private static byte[] getUtf8Octets(char[], int, int);
descriptor: ([CII)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iload 1
isub
iconst_3
idiv
newarray 8
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 8
3: StackMap locals: byte[] int
StackMap stack:
aload 0
iload 1
iinc 1 1
caload
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 5
start local 5 4: aload 0
iload 1
iinc 1 1
caload
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 6
start local 6 5: iload 5
iflt 10
iload 6
ifge 7
6: goto 10
7: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iinc 4 1
iload 5
iconst_4
ishl
iload 6
iadd
i2b
bastore
end local 6 end local 5 8: StackMap locals:
StackMap stack:
iload 1
iconst_2
iadd
iload 2
if_icmpge 10
9: aload 0
iload 1
iinc 1 1
caload
bipush 92
if_icmpeq 3
10: StackMap locals:
StackMap stack:
iload 4
aload 3
arraylength
if_icmpne 12
11: aload 3
areturn
12: StackMap locals:
StackMap stack:
iload 4
newarray 8
astore 5
start local 5 13: aload 3
iconst_0
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 5
areturn
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 15 0 chars [C
0 15 1 beg I
0 15 2 end I
1 15 3 utf8 [B
2 15 4 len I
4 8 5 hi I
5 8 6 lo I
13 15 5 res [B
MethodParameters:
Name Flags
chars
beg
end
private static boolean isWhitespace(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmpeq 1
iload 0
bipush 13
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
1: aload 1
aload 0
invokevirtual javax.naming.ldap.Rdn.toString:()Ljava/lang/String;
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/naming/ldap/Rdn;
0 3 1 s Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
putfield javax.naming.ldap.Rdn.entries:Ljava/util/ArrayList;
2: aload 1
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: new javax.naming.ldap.Rfc2253Parser
dup
aload 2
invokespecial javax.naming.ldap.Rfc2253Parser.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.naming.ldap.Rfc2253Parser.parseRdn:(Ljavax/naming/ldap/Rdn;)Ljavax/naming/ldap/Rdn;
pop
4: goto 9
StackMap locals: javax.naming.ldap.Rdn java.io.ObjectInputStream java.lang.String
StackMap stack: javax.naming.InvalidNameException
5: pop
6: new java.io.StreamCorruptedException
dup
7: new java.lang.StringBuilder
dup
ldc "Invalid name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/naming/ldap/Rdn;
0 10 1 s Ljava/io/ObjectInputStream;
3 10 2 unparsed Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class javax.naming.InvalidNameException
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
}
Signature: Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Object;>;
SourceFile: "Rdn.java"
NestMembers:
javax.naming.ldap.Rdn$RdnEntry
InnerClasses:
private RdnEntry = javax.naming.ldap.Rdn$RdnEntry of javax.naming.ldap.Rdn