public class org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler
super_class: java.lang.Object
{
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler this
start local 1 // java.lang.String password
0: .line 186
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 184
aload 0 /* this */
aconst_null
putfield org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler.password:[C
2: .line 187
aload 1 /* password */
ifnull 4
3: .line 188
aload 0 /* this */
aload 1 /* password */
invokevirtual java.lang.String.toCharArray:()[C
putfield org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler.password:[C
4: .line 190
StackMap locals: org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler java.lang.String
StackMap stack:
return
end local 1 // java.lang.String password
end local 0 // org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/postgresql/ssl/LibPQFactory$ConsoleCallbackHandler;
0 5 1 password Ljava/lang/String;
MethodParameters:
Name Flags
password
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 // org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 201
invokestatic java.lang.System.console:()Ljava/io/Console;
astore 2 /* cons */
start local 2 // java.io.Console cons
1: .line 202
aload 2 /* cons */
ifnonnull 3
aload 0 /* this */
getfield org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler.password:[C
ifnonnull 3
2: .line 203
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 1 /* callbacks */
iconst_0
aaload
ldc "Console is not available"
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V
athrow
3: .line 205
StackMap locals: java.io.Console
StackMap stack:
aload 1 /* callbacks */
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler javax.security.auth.callback.Callback[] java.io.Console top int int javax.security.auth.callback.Callback[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3 /* callback */
start local 3 // javax.security.auth.callback.Callback callback
5: .line 206
aload 3 /* callback */
instanceof javax.security.auth.callback.PasswordCallback
ifne 7
6: .line 207
new javax.security.auth.callback.UnsupportedCallbackException
dup
aload 3 /* callback */
invokespecial javax.security.auth.callback.UnsupportedCallbackException.<init>:(Ljavax/security/auth/callback/Callback;)V
athrow
7: .line 209
StackMap locals: org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler javax.security.auth.callback.Callback[] java.io.Console javax.security.auth.callback.Callback int int javax.security.auth.callback.Callback[]
StackMap stack:
aload 3 /* callback */
checkcast javax.security.auth.callback.PasswordCallback
astore 7 /* pwdCallback */
start local 7 // javax.security.auth.callback.PasswordCallback pwdCallback
8: .line 210
aload 0 /* this */
getfield org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler.password:[C
ifnull 11
9: .line 211
aload 7 /* pwdCallback */
aload 0 /* this */
getfield org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler.password:[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
10: .line 212
goto 12
11: .line 216
StackMap locals: javax.security.auth.callback.PasswordCallback
StackMap stack:
aload 7 /* pwdCallback */
aload 2 /* cons */
ldc "%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7 /* pwdCallback */
invokevirtual javax.security.auth.callback.PasswordCallback.getPrompt:()Ljava/lang/String;
aastore
invokevirtual java.io.Console.readPassword:(Ljava/lang/String;[Ljava/lang/Object;)[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
end local 7 // javax.security.auth.callback.PasswordCallback pwdCallback
end local 3 // javax.security.auth.callback.Callback callback
12: .line 205
StackMap locals: org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler javax.security.auth.callback.Callback[] java.io.Console top int int javax.security.auth.callback.Callback[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 5
if_icmplt 4
14: .line 218
return
end local 2 // java.io.Console cons
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/postgresql/ssl/LibPQFactory$ConsoleCallbackHandler;
0 15 1 callbacks [Ljavax/security/auth/callback/Callback;
1 15 2 cons Ljava/io/Console;
5 12 3 callback Ljavax/security/auth/callback/Callback;
8 12 7 pwdCallback Ljavax/security/auth/callback/PasswordCallback;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
}
SourceFile: "LibPQFactory.java"
NestHost: org.postgresql.ssl.LibPQFactory
InnerClasses:
public ConsoleCallbackHandler = org.postgresql.ssl.LibPQFactory$ConsoleCallbackHandler of org.postgresql.ssl.LibPQFactory