public final class com.mongodb.selector.CompositeServerSelector implements com.mongodb.selector.ServerSelector
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.mongodb.selector.CompositeServerSelector
super_class: java.lang.Object
{
private final java.util.List<com.mongodb.selector.ServerSelector> serverSelectors;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/mongodb/selector/ServerSelector;>;
public void <init>(java.util.List<? extends com.mongodb.selector.ServerSelector>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: ldc "serverSelectors"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "Server selectors can not be an empty list"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: com.mongodb.selector.CompositeServerSelector java.util.List
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 5: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: com.mongodb.selector.CompositeServerSelector java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.selector.ServerSelector
astore 3
start local 3 7: aload 3
ifnonnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "Can not have a null server selector in the list of composed selectors"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: com.mongodb.selector.CompositeServerSelector java.util.List java.util.ArrayList com.mongodb.selector.ServerSelector java.util.Iterator
StackMap stack:
aload 3
instanceof com.mongodb.selector.CompositeServerSelector
ifeq 12
10: aload 2
aload 3
checkcast com.mongodb.selector.CompositeServerSelector
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 3 13: StackMap locals: com.mongodb.selector.CompositeServerSelector java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: aload 0
aload 2
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/mongodb/selector/CompositeServerSelector;
0 16 1 serverSelectors Ljava/util/List<+Lcom/mongodb/selector/ServerSelector;>;
5 16 2 mergedServerSelectors Ljava/util/ArrayList<Lcom/mongodb/selector/ServerSelector;>;
7 13 3 cur Lcom/mongodb/selector/ServerSelector;
Signature: (Ljava/util/List<+Lcom/mongodb/selector/ServerSelector;>;)V
MethodParameters:
Name Flags
serverSelectors final
public java.util.List<com.mongodb.selector.ServerSelector> getServerSelectors();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/selector/CompositeServerSelector;
Signature: ()Ljava/util/List<Lcom/mongodb/selector/ServerSelector;>;
public java.util.List<com.mongodb.connection.ServerDescription> select(com.mongodb.connection.ClusterDescription);
descriptor: (Lcom/mongodb/connection/ClusterDescription;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: com.mongodb.selector.CompositeServerSelector com.mongodb.connection.ClusterDescription com.mongodb.connection.ClusterDescription java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.selector.ServerSelector
astore 4
start local 4 4: aload 4
aload 2
invokeinterface com.mongodb.selector.ServerSelector.select:(Lcom/mongodb/connection/ClusterDescription;)Ljava/util/List;
astore 3
5: new com.mongodb.connection.ClusterDescription
dup
aload 1
invokevirtual com.mongodb.connection.ClusterDescription.getConnectionMode:()Lcom/mongodb/connection/ClusterConnectionMode;
aload 1
invokevirtual com.mongodb.connection.ClusterDescription.getType:()Lcom/mongodb/connection/ClusterType;
aload 3
6: aload 1
invokevirtual com.mongodb.connection.ClusterDescription.getClusterSettings:()Lcom/mongodb/connection/ClusterSettings;
7: aload 1
invokevirtual com.mongodb.connection.ClusterDescription.getServerSettings:()Lcom/mongodb/connection/ServerSettings;
8: invokespecial com.mongodb.connection.ClusterDescription.<init>:(Lcom/mongodb/connection/ClusterConnectionMode;Lcom/mongodb/connection/ClusterType;Ljava/util/List;Lcom/mongodb/connection/ClusterSettings;Lcom/mongodb/connection/ServerSettings;)V
astore 2
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/selector/CompositeServerSelector;
0 11 1 clusterDescription Lcom/mongodb/connection/ClusterDescription;
1 11 2 curClusterDescription Lcom/mongodb/connection/ClusterDescription;
2 11 3 choices Ljava/util/List<Lcom/mongodb/connection/ServerDescription;>;
4 9 4 cur Lcom/mongodb/selector/ServerSelector;
Signature: (Lcom/mongodb/connection/ClusterDescription;)Ljava/util/List<Lcom/mongodb/connection/ServerDescription;>;
MethodParameters:
Name Flags
clusterDescription final
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.mongodb.selector.CompositeServerSelector
astore 2
start local 2 5: aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 2
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: com.mongodb.selector.CompositeServerSelector
StackMap stack:
aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
aload 2
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/selector/CompositeServerSelector;
0 8 1 o Ljava/lang/Object;
5 8 2 that Lcom/mongodb/selector/CompositeServerSelector;
MethodParameters:
Name Flags
o final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
ifnull 1
aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokeinterface java.util.List.hashCode:()I
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/selector/CompositeServerSelector;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "{serverSelectors="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield com.mongodb.selector.CompositeServerSelector.serverSelectors:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/selector/CompositeServerSelector;
}
SourceFile: "CompositeServerSelector.java"