class com.mongodb.internal.connection.InternalStreamConnectionFactory implements com.mongodb.internal.connection.InternalConnectionFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.InternalStreamConnectionFactory
super_class: java.lang.Object
{
private final com.mongodb.connection.StreamFactory streamFactory;
descriptor: Lcom/mongodb/connection/StreamFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.BsonDocument clientMetadataDocument;
descriptor: Lorg/bson/BsonDocument;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.mongodb.internal.connection.Authenticator> authenticators;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/mongodb/internal/connection/Authenticator;>;
private final java.util.List<com.mongodb.MongoCompressor> compressorList;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/mongodb/MongoCompressor;>;
private final com.mongodb.event.CommandListener commandListener;
descriptor: Lcom/mongodb/event/CommandListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$mongodb$AuthenticationMechanism;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.mongodb.connection.StreamFactory, java.util.List<com.mongodb.internal.connection.MongoCredentialWithCache>, java.lang.String, com.mongodb.MongoDriverInformation, java.util.List<com.mongodb.MongoCompressor>, com.mongodb.event.CommandListener);
descriptor: (Lcom/mongodb/connection/StreamFactory;Ljava/util/List;Ljava/lang/String;Lcom/mongodb/MongoDriverInformation;Ljava/util/List;Lcom/mongodb/event/CommandListener;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "streamFactory"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mongodb.connection.StreamFactory
putfield com.mongodb.internal.connection.InternalStreamConnectionFactory.streamFactory:Lcom/mongodb/connection/StreamFactory;
2: aload 0
ldc "compressorList"
aload 5
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
putfield com.mongodb.internal.connection.InternalStreamConnectionFactory.compressorList:Ljava/util/List;
3: aload 0
aload 6
putfield com.mongodb.internal.connection.InternalStreamConnectionFactory.commandListener:Lcom/mongodb/event/CommandListener;
4: aload 0
aload 3
aload 4
invokestatic com.mongodb.internal.connection.ClientMetadataHelper.createClientMetadataDocument:(Ljava/lang/String;Lcom/mongodb/MongoDriverInformation;)Lorg/bson/BsonDocument;
putfield com.mongodb.internal.connection.InternalStreamConnectionFactory.clientMetadataDocument:Lorg/bson/BsonDocument;
5: ldc "credentialList"
aload 2
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
new java.util.ArrayList
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield com.mongodb.internal.connection.InternalStreamConnectionFactory.authenticators:Ljava/util/List;
7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 10
StackMap locals: com.mongodb.internal.connection.InternalStreamConnectionFactory com.mongodb.connection.StreamFactory java.util.List java.lang.String com.mongodb.MongoDriverInformation java.util.List com.mongodb.event.CommandListener top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.MongoCredentialWithCache
astore 7
start local 7 9: aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.authenticators:Ljava/util/List;
aload 0
aload 7
invokevirtual com.mongodb.internal.connection.InternalStreamConnectionFactory.createAuthenticator:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)Lcom/mongodb/internal/connection/Authenticator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 10: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: return
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 12 0 this Lcom/mongodb/internal/connection/InternalStreamConnectionFactory;
0 12 1 streamFactory Lcom/mongodb/connection/StreamFactory;
0 12 2 credentialList Ljava/util/List<Lcom/mongodb/internal/connection/MongoCredentialWithCache;>;
0 12 3 applicationName Ljava/lang/String;
0 12 4 mongoDriverInformation Lcom/mongodb/MongoDriverInformation;
0 12 5 compressorList Ljava/util/List<Lcom/mongodb/MongoCompressor;>;
0 12 6 commandListener Lcom/mongodb/event/CommandListener;
9 10 7 credential Lcom/mongodb/internal/connection/MongoCredentialWithCache;
Signature: (Lcom/mongodb/connection/StreamFactory;Ljava/util/List<Lcom/mongodb/internal/connection/MongoCredentialWithCache;>;Ljava/lang/String;Lcom/mongodb/MongoDriverInformation;Ljava/util/List<Lcom/mongodb/MongoCompressor;>;Lcom/mongodb/event/CommandListener;)V
MethodParameters:
Name Flags
streamFactory final
credentialList final
applicationName final
mongoDriverInformation final
compressorList final
commandListener final
public com.mongodb.internal.connection.InternalConnection create(com.mongodb.connection.ServerId);
descriptor: (Lcom/mongodb/connection/ServerId;)Lcom/mongodb/internal/connection/InternalConnection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=2, args_size=2
start local 0 start local 1 0: new com.mongodb.internal.connection.InternalStreamConnection
dup
aload 1
aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.streamFactory:Lcom/mongodb/connection/StreamFactory;
aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.compressorList:Ljava/util/List;
aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.commandListener:Lcom/mongodb/event/CommandListener;
1: new com.mongodb.internal.connection.InternalStreamConnectionInitializer
dup
aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.authenticators:Ljava/util/List;
aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.clientMetadataDocument:Lorg/bson/BsonDocument;
2: aload 0
getfield com.mongodb.internal.connection.InternalStreamConnectionFactory.compressorList:Ljava/util/List;
3: invokespecial com.mongodb.internal.connection.InternalStreamConnectionInitializer.<init>:(Ljava/util/List;Lorg/bson/BsonDocument;Ljava/util/List;)V
4: invokespecial com.mongodb.internal.connection.InternalStreamConnection.<init>:(Lcom/mongodb/connection/ServerId;Lcom/mongodb/connection/StreamFactory;Ljava/util/List;Lcom/mongodb/event/CommandListener;Lcom/mongodb/internal/connection/InternalConnectionInitializer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/InternalStreamConnectionFactory;
0 5 1 serverId Lcom/mongodb/connection/ServerId;
MethodParameters:
Name Flags
serverId final
private com.mongodb.internal.connection.Authenticator createAuthenticator(com.mongodb.internal.connection.MongoCredentialWithCache);
descriptor: (Lcom/mongodb/internal/connection/MongoCredentialWithCache;)Lcom/mongodb/internal/connection/Authenticator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.mongodb.internal.connection.MongoCredentialWithCache.getAuthenticationMechanism:()Lcom/mongodb/AuthenticationMechanism;
ifnonnull 2
1: new com.mongodb.internal.connection.DefaultAuthenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.DefaultAuthenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.mongodb.internal.connection.InternalStreamConnectionFactory.$SWITCH_TABLE$com$mongodb$AuthenticationMechanism:()[I
aload 1
invokevirtual com.mongodb.internal.connection.MongoCredentialWithCache.getAuthenticationMechanism:()Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 3
2: 4
3: 5
4: 7
5: 6
6: 6
default: 8
}
3: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.GSSAPIAuthenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.GSSAPIAuthenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
4: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.PlainAuthenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.PlainAuthenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
5: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.X509Authenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.X509Authenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
6: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.ScramShaAuthenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.ScramShaAuthenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
7: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.NativeAuthenticator
dup
aload 1
invokespecial com.mongodb.internal.connection.NativeAuthenticator.<init>:(Lcom/mongodb/internal/connection/MongoCredentialWithCache;)V
areturn
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported authentication mechanism "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.mongodb.internal.connection.MongoCredentialWithCache.getAuthenticationMechanism:()Lcom/mongodb/AuthenticationMechanism;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mongodb/internal/connection/InternalStreamConnectionFactory;
0 9 1 credential Lcom/mongodb/internal/connection/MongoCredentialWithCache;
MethodParameters:
Name Flags
credential final
static int[] $SWITCH_TABLE$com$mongodb$AuthenticationMechanism();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.mongodb.internal.connection.InternalStreamConnectionFactory.$SWITCH_TABLE$com$mongodb$AuthenticationMechanism:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.mongodb.AuthenticationMechanism.values:()[Lcom/mongodb/AuthenticationMechanism;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.mongodb.AuthenticationMechanism.GSSAPI:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.mongodb.AuthenticationMechanism.MONGODB_CR:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.mongodb.AuthenticationMechanism.MONGODB_X509:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.mongodb.AuthenticationMechanism.PLAIN:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.mongodb.AuthenticationMechanism.SCRAM_SHA_1:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.mongodb.AuthenticationMechanism.SCRAM_SHA_256:Lcom/mongodb/AuthenticationMechanism;
invokevirtual com.mongodb.AuthenticationMechanism.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic com.mongodb.internal.connection.InternalStreamConnectionFactory.$SWITCH_TABLE$com$mongodb$AuthenticationMechanism:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "InternalStreamConnectionFactory.java"