public final class com.mongodb.connection.ClusterSettings$Builder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.mongodb.connection.ClusterSettings$Builder
super_class: java.lang.Object
{
private static final java.util.List<com.mongodb.ServerAddress> DEFAULT_HOSTS;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lcom/mongodb/ServerAddress;>;
private java.lang.String srvHost;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<com.mongodb.ServerAddress> hosts;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/mongodb/ServerAddress;>;
private com.mongodb.connection.ClusterConnectionMode mode;
descriptor: Lcom/mongodb/connection/ClusterConnectionMode;
flags: (0x0002) ACC_PRIVATE
private com.mongodb.connection.ClusterType requiredClusterType;
descriptor: Lcom/mongodb/connection/ClusterType;
flags: (0x0002) ACC_PRIVATE
private java.lang.String requiredReplicaSetName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.mongodb.selector.ServerSelector serverSelector;
descriptor: Lcom/mongodb/selector/ServerSelector;
flags: (0x0002) ACC_PRIVATE
private java.lang.String description;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private long serverSelectionTimeoutMS;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long localThresholdMS;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int maxWaitQueueSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.List<com.mongodb.event.ClusterListener> clusterListeners;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/mongodb/event/ClusterListener;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.mongodb.ServerAddress
dup
invokespecial com.mongodb.ServerAddress.<init>:()V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
putstatic com.mongodb.connection.ClusterSettings$Builder.DEFAULT_HOSTS:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic com.mongodb.connection.ClusterSettings$Builder.DEFAULT_HOSTS:Ljava/util/List;
putfield com.mongodb.connection.ClusterSettings$Builder.hosts:Ljava/util/List;
2: aload 0
getstatic com.mongodb.connection.ClusterType.UNKNOWN:Lcom/mongodb/connection/ClusterType;
putfield com.mongodb.connection.ClusterSettings$Builder.requiredClusterType:Lcom/mongodb/connection/ClusterType;
3: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
ldc 30
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
putfield com.mongodb.connection.ClusterSettings$Builder.serverSelectionTimeoutMS:J
4: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
ldc 15
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
putfield com.mongodb.connection.ClusterSettings$Builder.localThresholdMS:J
5: aload 0
sipush 500
putfield com.mongodb.connection.ClusterSettings$Builder.maxWaitQueueSize:I
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.mongodb.connection.ClusterSettings$Builder.clusterListeners:Ljava/util/List;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
public com.mongodb.connection.ClusterSettings$Builder applySettings(com.mongodb.connection.ClusterSettings);
descriptor: (Lcom/mongodb/connection/ClusterSettings;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: ldc "clusterSettings"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.description:Ljava/lang/String;
putfield com.mongodb.connection.ClusterSettings$Builder.description:Ljava/lang/String;
2: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.srvHost:Ljava/lang/String;
putfield com.mongodb.connection.ClusterSettings$Builder.srvHost:Ljava/lang/String;
3: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.hosts:Ljava/util/List;
putfield com.mongodb.connection.ClusterSettings$Builder.hosts:Ljava/util/List;
4: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.mode:Lcom/mongodb/connection/ClusterConnectionMode;
putfield com.mongodb.connection.ClusterSettings$Builder.mode:Lcom/mongodb/connection/ClusterConnectionMode;
5: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.requiredReplicaSetName:Ljava/lang/String;
putfield com.mongodb.connection.ClusterSettings$Builder.requiredReplicaSetName:Ljava/lang/String;
6: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.requiredClusterType:Lcom/mongodb/connection/ClusterType;
putfield com.mongodb.connection.ClusterSettings$Builder.requiredClusterType:Lcom/mongodb/connection/ClusterType;
7: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.localThresholdMS:J
putfield com.mongodb.connection.ClusterSettings$Builder.localThresholdMS:J
8: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.serverSelectionTimeoutMS:J
putfield com.mongodb.connection.ClusterSettings$Builder.serverSelectionTimeoutMS:J
9: aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.maxWaitQueueSize:I
putfield com.mongodb.connection.ClusterSettings$Builder.maxWaitQueueSize:I
10: aload 0
new java.util.ArrayList
dup
aload 1
getfield com.mongodb.connection.ClusterSettings.clusterListeners:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield com.mongodb.connection.ClusterSettings$Builder.clusterListeners:Ljava/util/List;
11: aload 0
aload 0
aload 1
getfield com.mongodb.connection.ClusterSettings.serverSelector:Lcom/mongodb/selector/ServerSelector;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.unpackServerSelector:(Lcom/mongodb/selector/ServerSelector;)Lcom/mongodb/selector/ServerSelector;
putfield com.mongodb.connection.ClusterSettings$Builder.serverSelector:Lcom/mongodb/selector/ServerSelector;
12: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 13 1 clusterSettings Lcom/mongodb/connection/ClusterSettings;
MethodParameters:
Name Flags
clusterSettings final
public com.mongodb.connection.ClusterSettings$Builder description(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.mongodb.connection.ClusterSettings$Builder.description:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 description Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
description final
public com.mongodb.connection.ClusterSettings$Builder srvHost(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.hosts:Ljava/util/List;
getstatic com.mongodb.connection.ClusterSettings$Builder.DEFAULT_HOSTS:Ljava/util/List;
if_acmpeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Can not set both hosts and srvHost"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.mongodb.connection.ClusterSettings$Builder.srvHost:Ljava/lang/String;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 4 1 srvHost Ljava/lang/String;
MethodParameters:
Name Flags
srvHost final
public com.mongodb.connection.ClusterSettings$Builder hosts(java.util.List<com.mongodb.ServerAddress>);
descriptor: (Ljava/util/List;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: ldc "hosts"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "hosts list may not be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.srvHost:Ljava/lang/String;
ifnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "srvHost must be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
new java.util.LinkedHashSet
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 2
start local 2 6: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: com.mongodb.connection.ClusterSettings$Builder java.util.List java.util.Set top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.ServerAddress
astore 3
start local 3 8: ldc "serverAddress"
aload 3
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 2
aload 3
invokevirtual com.mongodb.ServerAddress.getHost:()Ljava/lang/String;
aload 3
invokevirtual com.mongodb.ServerAddress.getPort:()I
invokestatic com.mongodb.internal.connection.ServerAddressHelper.createServerAddress:(Ljava/lang/String;I)Lcom/mongodb/ServerAddress;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: aload 0
new java.util.ArrayList
dup
aload 2
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield com.mongodb.connection.ClusterSettings$Builder.hosts:Ljava/util/List;
12: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 13 1 hosts Ljava/util/List<Lcom/mongodb/ServerAddress;>;
6 13 2 hostsSet Ljava/util/Set<Lcom/mongodb/ServerAddress;>;
8 10 3 serverAddress Lcom/mongodb/ServerAddress;
Signature: (Ljava/util/List<Lcom/mongodb/ServerAddress;>;)Lcom/mongodb/connection/ClusterSettings$Builder;
MethodParameters:
Name Flags
hosts final
public com.mongodb.connection.ClusterSettings$Builder mode(com.mongodb.connection.ClusterConnectionMode);
descriptor: (Lcom/mongodb/connection/ClusterConnectionMode;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "mode"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mongodb.connection.ClusterConnectionMode
putfield com.mongodb.connection.ClusterSettings$Builder.mode:Lcom/mongodb/connection/ClusterConnectionMode;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 mode Lcom/mongodb/connection/ClusterConnectionMode;
MethodParameters:
Name Flags
mode final
public com.mongodb.connection.ClusterSettings$Builder requiredReplicaSetName(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.mongodb.connection.ClusterSettings$Builder.requiredReplicaSetName:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 requiredReplicaSetName Ljava/lang/String;
MethodParameters:
Name Flags
requiredReplicaSetName final
public com.mongodb.connection.ClusterSettings$Builder requiredClusterType(com.mongodb.connection.ClusterType);
descriptor: (Lcom/mongodb/connection/ClusterType;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "requiredClusterType"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mongodb.connection.ClusterType
putfield com.mongodb.connection.ClusterSettings$Builder.requiredClusterType:Lcom/mongodb/connection/ClusterType;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 requiredClusterType Lcom/mongodb/connection/ClusterType;
MethodParameters:
Name Flags
requiredClusterType final
public com.mongodb.connection.ClusterSettings$Builder localThreshold(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: ldc "localThreshold must be >= 0"
lload 1
lconst_0
lcmp
iflt 1
iconst_1
goto 2
StackMap locals:
StackMap stack: java.lang.String
1: iconst_0
StackMap locals: com.mongodb.connection.ClusterSettings$Builder long java.util.concurrent.TimeUnit
StackMap stack: java.lang.String int
2: invokestatic com.mongodb.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
3: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
aload 3
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
putfield com.mongodb.connection.ClusterSettings$Builder.localThresholdMS:J
4: aload 0
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 5 1 localThreshold J
0 5 3 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
localThreshold final
timeUnit final
public com.mongodb.connection.ClusterSettings$Builder serverSelector(com.mongodb.selector.ServerSelector);
descriptor: (Lcom/mongodb/selector/ServerSelector;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.mongodb.connection.ClusterSettings$Builder.serverSelector:Lcom/mongodb/selector/ServerSelector;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 serverSelector Lcom/mongodb/selector/ServerSelector;
MethodParameters:
Name Flags
serverSelector final
public com.mongodb.connection.ClusterSettings$Builder serverSelectionTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
aload 3
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
putfield com.mongodb.connection.ClusterSettings$Builder.serverSelectionTimeoutMS:J
1: aload 0
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 serverSelectionTimeout J
0 2 3 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
serverSelectionTimeout final
timeUnit final
public com.mongodb.connection.ClusterSettings$Builder maxWaitQueueSize(int);
descriptor: (I)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.connection.ClusterSettings$Builder.maxWaitQueueSize:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 2 1 maxWaitQueueSize I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
maxWaitQueueSize final
public com.mongodb.connection.ClusterSettings$Builder addClusterListener(com.mongodb.event.ClusterListener);
descriptor: (Lcom/mongodb/event/ClusterListener;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "clusterListener"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.clusterListeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 3 1 clusterListener Lcom/mongodb/event/ClusterListener;
MethodParameters:
Name Flags
clusterListener final
public com.mongodb.connection.ClusterSettings$Builder applyConnectionString(com.mongodb.ConnectionString);
descriptor: (Lcom/mongodb/ConnectionString;)Lcom/mongodb/connection/ClusterSettings$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.mongodb.ConnectionString.isSrvProtocol:()Z
ifeq 4
1: aload 0
getstatic com.mongodb.connection.ClusterConnectionMode.MULTIPLE:Lcom/mongodb/connection/ClusterConnectionMode;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.mode:(Lcom/mongodb/connection/ClusterConnectionMode;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
2: aload 0
aload 1
invokevirtual com.mongodb.ConnectionString.getHosts:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.mongodb.connection.ClusterSettings$Builder.srvHost:(Ljava/lang/String;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
3: goto 14
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.mongodb.ConnectionString.getHosts:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 8
aload 1
invokevirtual com.mongodb.ConnectionString.getRequiredReplicaSetName:()Ljava/lang/String;
ifnonnull 8
5: aload 0
getstatic com.mongodb.connection.ClusterConnectionMode.SINGLE:Lcom/mongodb/connection/ClusterConnectionMode;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.mode:(Lcom/mongodb/connection/ClusterConnectionMode;)Lcom/mongodb/connection/ClusterSettings$Builder;
6: aload 1
invokevirtual com.mongodb.ConnectionString.getHosts:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokestatic com.mongodb.internal.connection.ServerAddressHelper.createServerAddress:(Ljava/lang/String;)Lcom/mongodb/ServerAddress;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.hosts:(Ljava/util/List;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
7: goto 14
8: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 9: aload 1
invokevirtual com.mongodb.ConnectionString.getHosts:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: com.mongodb.connection.ClusterSettings$Builder com.mongodb.ConnectionString java.util.List top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 11: aload 2
aload 3
invokestatic com.mongodb.internal.connection.ServerAddressHelper.createServerAddress:(Ljava/lang/String;)Lcom/mongodb/ServerAddress;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: aload 0
getstatic com.mongodb.connection.ClusterConnectionMode.MULTIPLE:Lcom/mongodb/connection/ClusterConnectionMode;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.mode:(Lcom/mongodb/connection/ClusterConnectionMode;)Lcom/mongodb/connection/ClusterSettings$Builder;
aload 2
invokevirtual com.mongodb.connection.ClusterSettings$Builder.hosts:(Ljava/util/List;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
end local 2 14: StackMap locals: com.mongodb.connection.ClusterSettings$Builder com.mongodb.ConnectionString
StackMap stack:
aload 0
aload 1
invokevirtual com.mongodb.ConnectionString.getRequiredReplicaSetName:()Ljava/lang/String;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.requiredReplicaSetName:(Ljava/lang/String;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
15: aload 1
invokevirtual com.mongodb.ConnectionString.getMaxConnectionPoolSize:()Ljava/lang/Integer;
astore 2
start local 2 16: aload 2
ifnull 17
aload 2
invokevirtual java.lang.Integer.intValue:()I
goto 18
StackMap locals: java.lang.Integer
StackMap stack:
17: bipush 100
StackMap locals:
StackMap stack: int
18: istore 3
start local 3 19: aload 1
invokevirtual com.mongodb.ConnectionString.getThreadsAllowedToBlockForConnectionMultiplier:()Ljava/lang/Integer;
astore 4
start local 4 20: aload 4
ifnull 22
21: aload 4
invokevirtual java.lang.Integer.intValue:()I
goto 23
StackMap locals: int java.lang.Integer
StackMap stack:
22: iconst_5
23: StackMap locals:
StackMap stack: int
istore 5
start local 5 24: aload 0
iload 5
iload 3
imul
invokevirtual com.mongodb.connection.ClusterSettings$Builder.maxWaitQueueSize:(I)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
25: aload 1
invokevirtual com.mongodb.ConnectionString.getServerSelectionTimeout:()Ljava/lang/Integer;
astore 6
start local 6 26: aload 6
ifnull 28
27: aload 0
aload 6
invokevirtual java.lang.Integer.intValue:()I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.serverSelectionTimeout:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
28: StackMap locals: int java.lang.Integer
StackMap stack:
aload 1
invokevirtual com.mongodb.ConnectionString.getLocalThreshold:()Ljava/lang/Integer;
astore 7
start local 7 29: aload 7
ifnull 31
30: aload 0
aload 7
invokevirtual java.lang.Integer.intValue:()I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.mongodb.connection.ClusterSettings$Builder.localThreshold:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ClusterSettings$Builder;
pop
31: StackMap locals: java.lang.Integer
StackMap stack:
aload 0
areturn
end local 7 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 32 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 32 1 connectionString Lcom/mongodb/ConnectionString;
9 14 2 seedList Ljava/util/List<Lcom/mongodb/ServerAddress;>;
11 12 3 cur Ljava/lang/String;
16 32 2 maxConnectionPoolSize Ljava/lang/Integer;
19 32 3 maxSize I
20 32 4 threadsAllowedToBlockForConnectionMultiplier Ljava/lang/Integer;
24 32 5 waitQueueMultiple I
26 32 6 serverSelectionTimeout Ljava/lang/Integer;
29 32 7 localThreshold Ljava/lang/Integer;
MethodParameters:
Name Flags
connectionString final
private com.mongodb.selector.ServerSelector unpackServerSelector(com.mongodb.selector.ServerSelector);
descriptor: (Lcom/mongodb/selector/ServerSelector;)Lcom/mongodb/selector/ServerSelector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.mongodb.selector.CompositeServerSelector
ifeq 2
1: aload 1
checkcast com.mongodb.selector.CompositeServerSelector
invokevirtual com.mongodb.selector.CompositeServerSelector.getServerSelectors:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.selector.ServerSelector
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
0 3 1 serverSelector Lcom/mongodb/selector/ServerSelector;
MethodParameters:
Name Flags
serverSelector final
private com.mongodb.selector.ServerSelector packServerSelector();
descriptor: ()Lcom/mongodb/selector/ServerSelector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: new com.mongodb.selector.LatencyMinimizingServerSelector
dup
aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.localThresholdMS:J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokespecial com.mongodb.selector.LatencyMinimizingServerSelector.<init>:(JLjava/util/concurrent/TimeUnit;)V
astore 1
start local 1 1: aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.serverSelector:Lcom/mongodb/selector/ServerSelector;
ifnonnull 3
2: aload 1
areturn
3: StackMap locals: com.mongodb.selector.ServerSelector
StackMap stack:
new com.mongodb.selector.CompositeServerSelector
dup
iconst_2
anewarray com.mongodb.selector.ServerSelector
dup
iconst_0
aload 0
getfield com.mongodb.connection.ClusterSettings$Builder.serverSelector:Lcom/mongodb/selector/ServerSelector;
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial com.mongodb.selector.CompositeServerSelector.<init>:(Ljava/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
1 4 1 latencyMinimizingServerSelector Lcom/mongodb/selector/ServerSelector;
public com.mongodb.connection.ClusterSettings build();
descriptor: ()Lcom/mongodb/connection/ClusterSettings;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.mongodb.connection.ClusterSettings
dup
aload 0
invokespecial com.mongodb.connection.ClusterSettings.<init>:(Lcom/mongodb/connection/ClusterSettings$Builder;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/connection/ClusterSettings$Builder;
}
SourceFile: "ClusterSettings.java"
NestHost: com.mongodb.connection.ClusterSettings
InnerClasses:
public final Builder = com.mongodb.connection.ClusterSettings$Builder of com.mongodb.connection.ClusterSettings
RuntimeVisibleAnnotations:
com.mongodb.annotations.NotThreadSafe()