final class com.sun.jndi.ldap.sasl.DefaultCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.sasl.DefaultCallbackHandler
super_class: java.lang.Object
{
private char[] passwd;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String authenticationID;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String authRealm;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String, java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authenticationID:Ljava/lang/String;
2: aload 0
aload 3
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
3: aload 2
instanceof java.lang.String
ifeq 6
4: aload 0
aload 2
checkcast java.lang.String
invokevirtual java.lang.String.toCharArray:()[C
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
5: goto 12
StackMap locals: com.sun.jndi.ldap.sasl.DefaultCallbackHandler java.lang.String java.lang.Object java.lang.String
StackMap stack:
6: aload 2
instanceof char[]
ifeq 9
7: aload 0
aload 2
checkcast char[]
invokevirtual char[].clone:()Ljava/lang/Object;
checkcast char[]
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
8: goto 12
StackMap locals:
StackMap stack:
9: aload 2
ifnull 12
10: new java.lang.String
dup
aload 2
checkcast byte[]
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 4
start local 4 11: aload 0
aload 4
invokevirtual java.lang.String.toCharArray:()[C
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
end local 4 12: StackMap locals:
StackMap stack:
return
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/sasl/DefaultCallbackHandler;
0 13 1 principal Ljava/lang/String;
0 13 2 cred Ljava/lang/Object;
0 13 3 realm Ljava/lang/String;
11 12 4 orig Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
principal
cred
realm
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 46
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
instanceof javax.security.auth.callback.NameCallback
ifeq 5
3: aload 1
iload 2
aaload
checkcast javax.security.auth.callback.NameCallback
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authenticationID:Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
4: goto 45
StackMap locals:
StackMap stack:
5: aload 1
iload 2
aaload
instanceof javax.security.auth.callback.PasswordCallback
ifeq 8
6: aload 1
iload 2
aaload
checkcast javax.security.auth.callback.PasswordCallback
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
7: goto 45
StackMap locals:
StackMap stack:
8: aload 1
iload 2
aaload
instanceof javax.security.sasl.RealmChoiceCallback
ifeq 33
9: aload 1
iload 2
aaload
checkcast javax.security.sasl.RealmChoiceCallback
invokevirtual javax.security.sasl.RealmChoiceCallback.getChoices:()[Ljava/lang/String;
10: astore 3
start local 3 11: iconst_0
istore 4
start local 4 12: aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
ifnull 31
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 31
13: iconst_m1
istore 4
14: iconst_0
istore 5
start local 5 15: goto 19
16: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 3
iload 5
aaload
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: iload 5
istore 4
18: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 3
arraylength
if_icmplt 16
end local 5 20: iload 4
iconst_m1
if_icmpne 31
21: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 22: iconst_0
istore 6
start local 6 23: goto 26
24: StackMap locals: com.sun.jndi.ldap.sasl.DefaultCallbackHandler javax.security.auth.callback.Callback[] int java.lang.String[] int java.lang.StringBuilder int
StackMap stack:
aload 5
aload 3
iload 6
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
aload 3
arraylength
if_icmplt 24
end local 6 27: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Cannot match 'java.naming.security.sasl.realm' property value, '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' with choices "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
29: ldc "in RealmChoiceCallback"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 5 31: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
checkcast javax.security.sasl.RealmChoiceCallback
iload 4
invokevirtual javax.security.sasl.RealmChoiceCallback.setSelectedIndex:(I)V
end local 4 end local 3 32: goto 45
StackMap locals:
StackMap stack:
33: aload 1
iload 2
aaload
instanceof javax.security.sasl.RealmCallback
ifeq 44
34: aload 1
iload 2
aaload
checkcast javax.security.sasl.RealmCallback
astore 3
start local 3 35: aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
ifnull 38
36: aload 3
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.authRealm:Ljava/lang/String;
invokevirtual javax.security.sasl.RealmCallback.setText:(Ljava/lang/String;)V
37: goto 45
38: StackMap locals: javax.security.sasl.RealmCallback
StackMap stack:
aload 3
invokevirtual javax.security.sasl.RealmCallback.getDefaultText:()Ljava/lang/String;
astore 4
start local 4 39: aload 4
ifnull 42
40: aload 3
aload 4
invokevirtual javax.security.sasl.RealmCallback.setText:(Ljava/lang/String;)V
41: goto 45
42: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc ""
invokevirtual javax.security.sasl.RealmCallback.setText:(Ljava/lang/String;)V
end local 4 end local 3 43: goto 45
44: StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 1
iload 2
aaload
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;)V
athrow
45: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
46: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 47: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lcom/sun/jndi/ldap/sasl/DefaultCallbackHandler;
0 48 1 callbacks [Ljavax/security/auth/callback/Callback;
1 47 2 i I
11 32 3 choices [Ljava/lang/String;
12 32 4 selected I
15 20 5 j I
22 31 5 allChoices Ljava/lang/StringBuilder;
23 27 6 j I
35 43 3 rcb Ljavax/security/sasl/RealmCallback;
39 43 4 defaultRealm Ljava/lang/String;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
void clearPassword();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
ifnull 7
1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
iload 1
iconst_0
castore
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
getfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
arraylength
if_icmplt 3
end local 1 6: aload 0
aconst_null
putfield com.sun.jndi.ldap.sasl.DefaultCallbackHandler.passwd:[C
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/sasl/DefaultCallbackHandler;
2 6 1 i I
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.ldap.sasl.DefaultCallbackHandler.clearPassword:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/sasl/DefaultCallbackHandler;
Exceptions:
throws java.lang.Throwable
}
SourceFile: "DefaultCallbackHandler.java"