class com.mongodb.internal.connection.PlainAuthenticator$1 implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.PlainAuthenticator$1
super_class: java.lang.Object
{
final com.mongodb.internal.connection.PlainAuthenticator this$0;
descriptor: Lcom/mongodb/internal/connection/PlainAuthenticator;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.mongodb.MongoCredential val$credential;
descriptor: Lcom/mongodb/MongoCredential;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.internal.connection.PlainAuthenticator, com.mongodb.MongoCredential);
descriptor: (Lcom/mongodb/internal/connection/PlainAuthenticator;Lcom/mongodb/MongoCredential;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.mongodb.internal.connection.PlainAuthenticator$1 this
0: .line 58
aload 0 /* this */
aload 1
putfield com.mongodb.internal.connection.PlainAuthenticator$1.this$0:Lcom/mongodb/internal/connection/PlainAuthenticator;
aload 0 /* this */
aload 2
putfield com.mongodb.internal.connection.PlainAuthenticator$1.val$credential:Lcom/mongodb/MongoCredential;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.mongodb.internal.connection.PlainAuthenticator$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/PlainAuthenticator$1;
MethodParameters:
Name Flags
this$0 final
val$credential final
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 // com.mongodb.internal.connection.PlainAuthenticator$1 this
start local 1 // javax.security.auth.callback.Callback[] callbacks
0: .line 62
aload 1 /* callbacks */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: com.mongodb.internal.connection.PlainAuthenticator$1 javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2 /* callback */
start local 2 // javax.security.auth.callback.Callback callback
2: .line 63
aload 2 /* callback */
instanceof javax.security.auth.callback.PasswordCallback
ifeq 5
3: .line 64
aload 2 /* callback */
checkcast javax.security.auth.callback.PasswordCallback
aload 0 /* this */
getfield com.mongodb.internal.connection.PlainAuthenticator$1.val$credential:Lcom/mongodb/MongoCredential;
invokevirtual com.mongodb.MongoCredential.getPassword:()[C
invokevirtual javax.security.auth.callback.PasswordCallback.setPassword:([C)V
4: .line 65
goto 7
StackMap locals: com.mongodb.internal.connection.PlainAuthenticator$1 javax.security.auth.callback.Callback[] javax.security.auth.callback.Callback int int javax.security.auth.callback.Callback[]
StackMap stack:
5: aload 2 /* callback */
instanceof javax.security.auth.callback.NameCallback
ifeq 7
6: .line 66
aload 2 /* callback */
checkcast javax.security.auth.callback.NameCallback
aload 0 /* this */
getfield com.mongodb.internal.connection.PlainAuthenticator$1.val$credential:Lcom/mongodb/MongoCredential;
invokevirtual com.mongodb.MongoCredential.getUserName:()Ljava/lang/String;
invokevirtual javax.security.auth.callback.NameCallback.setName:(Ljava/lang/String;)V
end local 2 // javax.security.auth.callback.Callback callback
7: .line 62
StackMap locals: com.mongodb.internal.connection.PlainAuthenticator$1 javax.security.auth.callback.Callback[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 1
9: .line 69
return
end local 1 // javax.security.auth.callback.Callback[] callbacks
end local 0 // com.mongodb.internal.connection.PlainAuthenticator$1 this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/PlainAuthenticator$1;
0 10 1 callbacks [Ljavax/security/auth/callback/Callback;
2 7 2 callback Ljavax/security/auth/callback/Callback;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks final
}
SourceFile: "PlainAuthenticator.java"
EnclosingMethod: com.mongodb.internal.connection.PlainAuthenticator.createSaslClient:(Lcom/mongodb/ServerAddress;)Ljavax/security/sasl/SaslClient;
NestHost: com.mongodb.internal.connection.PlainAuthenticator
InnerClasses:
com.mongodb.internal.connection.PlainAuthenticator$1