final class org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler
super_class: java.lang.Object
{
private char[] username;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 // org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler this
start local 1 // java.lang.Object credentials
0: .line 128
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 133
aload 1 /* credentials */
instanceof java.lang.String[]
ifeq 7
2: .line 135
aload 1 /* credentials */
checkcast java.lang.String[]
astore 2 /* strings */
start local 2 // java.lang.String[] strings
3: .line 136
aload 2 /* strings */
iconst_0
aaload
ifnull 5
4: .line 137
aload 0 /* this */
aload 2 /* strings */
iconst_0
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.username:[C
5: .line 138
StackMap locals: org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler java.lang.Object java.lang.String[]
StackMap stack:
aload 2 /* strings */
iconst_1
aaload
ifnull 7
6: .line 139
aload 0 /* this */
aload 2 /* strings */
iconst_1
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.password:[C
end local 2 // java.lang.String[] strings
7: .line 141
StackMap locals:
StackMap stack:
return
end local 1 // java.lang.Object credentials
end local 0 // org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/auth/jmx/AuthenticationProxy$JMXCallbackHandler;
0 8 1 credentials Ljava/lang/Object;
3 7 2 strings [Ljava/lang/String;
MethodParameters:
Name Flags
credentials
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 // org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 145
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 12
2: .line 147
StackMap locals: int
StackMap stack:
aload 1 /* callbacks */
iload 2 /* i */
aaload
instanceof javax.security.auth.callback.NameCallback
ifeq 6
3: .line 148
aload 1 /* callbacks */
iload 2 /* i */
aaload
checkcast javax.security.auth.callback.NameCallback
aload 0 /* this */
getfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.username:[C
ifnonnull 4
aconst_null
goto 5
StackMap locals:
StackMap stack: javax.security.auth.callback.NameCallback
4: new java.lang.String
dup
aload 0 /* this */
getfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.username:[C
invokespecial java.lang.String.<init>:([C)V
StackMap locals: org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler javax.security.auth.callback.Callback[] int
StackMap stack: javax.security.auth.callback.NameCallback java.lang.String
5: invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
goto 11
6: .line 149
StackMap locals:
StackMap stack:
aload 1 /* callbacks */
iload 2 /* i */
aaload
instanceof javax.security.auth.callback.PasswordCallback
ifeq 10
7: .line 150
aload 1 /* callbacks */
iload 2 /* i */
aaload
checkcast javax.security.auth.callback.PasswordCallback
aload 0 /* this */
getfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.password:[C
ifnonnull 8
aconst_null
goto 9
StackMap locals:
StackMap stack: javax.security.auth.callback.PasswordCallback
8: aload 0 /* this */
getfield org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler.password:[C
StackMap locals: org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler javax.security.auth.callback.Callback[] int
StackMap stack: javax.security.auth.callback.PasswordCallback char[]
9: invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
goto 11
10: .line 152
StackMap locals:
StackMap stack:
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 1 /* callbacks */
iload 2 /* i */
aaload
new java.lang.StringBuilder
dup
ldc "Unrecognized Callback: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* callbacks */
iload 2 /* i */
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V
athrow
11: .line 145
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 2 /* i */
aload 1 /* callbacks */
arraylength
if_icmplt 2
end local 2 // int i
13: .line 154
return
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/auth/jmx/AuthenticationProxy$JMXCallbackHandler;
0 14 1 callbacks [Ljavax/security/auth/callback/Callback;
1 13 2 i I
Exceptions:
throws javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
}
SourceFile: "AuthenticationProxy.java"
NestHost: org.apache.cassandra.auth.jmx.AuthenticationProxy
InnerClasses:
private final JMXCallbackHandler = org.apache.cassandra.auth.jmx.AuthenticationProxy$JMXCallbackHandler of org.apache.cassandra.auth.jmx.AuthenticationProxy