public class com.mongodb.MongoURI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.MongoURI
  super_class: java.lang.Object
{
  public static final java.lang.String MONGODB_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "mongodb://"

  private final com.mongodb.MongoClientURI proxied;
    descriptor: Lcom/mongodb/MongoClientURI;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.MongoOptions options;
    descriptor: Lcom/mongodb/MongoOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.mongodb.MongoURI this
        start local 1 // java.lang.String uri
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            new com.mongodb.MongoClientURI
            dup
            aload 1 /* uri */
            invokestatic com.mongodb.MongoClientOptions.builder:()Lcom/mongodb/MongoClientOptions$Builder;
         2: .line 56
            bipush 10
            invokevirtual com.mongodb.MongoClientOptions$Builder.connectionsPerHost:(I)Lcom/mongodb/MongoClientOptions$Builder;
         3: .line 57
            getstatic com.mongodb.WriteConcern.UNACKNOWLEDGED:Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.MongoClientOptions$Builder.writeConcern:(Lcom/mongodb/WriteConcern;)Lcom/mongodb/MongoClientOptions$Builder;
            invokespecial com.mongodb.MongoClientURI.<init>:(Ljava/lang/String;Lcom/mongodb/MongoClientOptions$Builder;)V
         4: .line 55
            putfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
         5: .line 59
            aload 0 /* this */
            new com.mongodb.MongoOptions
            dup
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getOptions:()Lcom/mongodb/MongoClientOptions;
            invokespecial com.mongodb.MongoOptions.<init>:(Lcom/mongodb/MongoClientOptions;)V
            putfield com.mongodb.MongoURI.options:Lcom/mongodb/MongoOptions;
         6: .line 60
            return
        end local 1 // java.lang.String uri
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/mongodb/MongoURI;
            0    7     1   uri  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      uri   final

  public void <init>(com.mongodb.MongoClientURI);
    descriptor: (Lcom/mongodb/MongoClientURI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.MongoURI this
        start local 1 // com.mongodb.MongoClientURI proxied
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* proxied */
            putfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
         2: .line 71
            aload 0 /* this */
            new com.mongodb.MongoOptions
            dup
            aload 1 /* proxied */
            invokevirtual com.mongodb.MongoClientURI.getOptions:()Lcom/mongodb/MongoClientOptions;
            invokespecial com.mongodb.MongoOptions.<init>:(Lcom/mongodb/MongoClientOptions;)V
            putfield com.mongodb.MongoURI.options:Lcom/mongodb/MongoOptions;
         3: .line 72
            return
        end local 1 // com.mongodb.MongoClientURI proxied
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/mongodb/MongoURI;
            0    4     1  proxied  Lcom/mongodb/MongoClientURI;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      proxied  final

  public java.lang.String getUsername();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 83
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getUsername:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public char[] getPassword();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 93
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getPassword:()[C
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public java.util.List<java.lang.String> getHosts();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 102
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getHosts:()Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String getDatabase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 112
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getDatabase:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public java.lang.String getCollection();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 122
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getCollection:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public com.mongodb.MongoCredential getCredentials();
    descriptor: ()Lcom/mongodb/MongoCredential;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 133
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.getCredentials:()Lcom/mongodb/MongoCredential;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public com.mongodb.MongoOptions getOptions();
    descriptor: ()Lcom/mongodb/MongoOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 144
            aload 0 /* this */
            getfield com.mongodb.MongoURI.options:Lcom/mongodb/MongoOptions;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;

  public com.mongodb.Mongo connect();
    descriptor: ()Lcom/mongodb/Mongo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 156
            new com.mongodb.Mongo
            dup
            aload 0 /* this */
            invokespecial com.mongodb.Mongo.<init>:(Lcom/mongodb/MongoURI;)V
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;

  public com.mongodb.DB connectDB();
    descriptor: ()Lcom/mongodb/DB;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 166
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.connect:()Lcom/mongodb/Mongo;
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getDatabaseNonNull:()Ljava/lang/String;
            invokevirtual com.mongodb.Mongo.getDB:(Ljava/lang/String;)Lcom/mongodb/DB;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;

  public com.mongodb.DB connectDB(com.mongodb.Mongo);
    descriptor: (Lcom/mongodb/Mongo;)Lcom/mongodb/DB;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoURI this
        start local 1 // com.mongodb.Mongo mongo
         0: .line 177
            aload 1 /* mongo */
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getDatabaseNonNull:()Ljava/lang/String;
            invokevirtual com.mongodb.Mongo.getDB:(Ljava/lang/String;)Lcom/mongodb/DB;
            areturn
        end local 1 // com.mongodb.Mongo mongo
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/MongoURI;
            0    1     1  mongo  Lcom/mongodb/Mongo;
    MethodParameters:
       Name  Flags
      mongo  final

  public com.mongodb.DBCollection connectCollection(com.mongodb.DB);
    descriptor: (Lcom/mongodb/DB;)Lcom/mongodb/DBCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoURI this
        start local 1 // com.mongodb.DB db
         0: .line 187
            aload 1 /* db */
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getCollectionNonNull:()Ljava/lang/String;
            invokevirtual com.mongodb.DB.getCollection:(Ljava/lang/String;)Lcom/mongodb/DBCollection;
            areturn
        end local 1 // com.mongodb.DB db
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;
            0    1     1    db  Lcom/mongodb/DB;
    MethodParameters:
      Name  Flags
      db    final

  public com.mongodb.DBCollection connectCollection(com.mongodb.Mongo);
    descriptor: (Lcom/mongodb/Mongo;)Lcom/mongodb/DBCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoURI this
        start local 1 // com.mongodb.Mongo mongo
         0: .line 198
            aload 0 /* this */
            aload 1 /* mongo */
            invokevirtual com.mongodb.MongoURI.connectDB:(Lcom/mongodb/Mongo;)Lcom/mongodb/DB;
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getCollectionNonNull:()Ljava/lang/String;
            invokevirtual com.mongodb.DB.getCollection:(Ljava/lang/String;)Lcom/mongodb/DBCollection;
            areturn
        end local 1 // com.mongodb.Mongo mongo
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mongodb/MongoURI;
            0    1     1  mongo  Lcom/mongodb/Mongo;
    MethodParameters:
       Name  Flags
      mongo  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 203
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            invokevirtual com.mongodb.MongoClientURI.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;

  com.mongodb.MongoClientURI toClientURI();
    descriptor: ()Lcom/mongodb/MongoClientURI;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 207
            aload 0 /* this */
            getfield com.mongodb.MongoURI.proxied:Lcom/mongodb/MongoClientURI;
            areturn
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoURI;

  private java.lang.String getDatabaseNonNull();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 211
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getDatabase:()Ljava/lang/String;
            astore 1 /* database */
        start local 1 // java.lang.String database
         1: .line 212
            aload 1 /* database */
            ifnonnull 3
         2: .line 213
            new com.mongodb.MongoClientException
            dup
            ldc "Database name can not be null in this context"
            invokespecial com.mongodb.MongoClientException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 215
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* database */
            areturn
        end local 1 // java.lang.String database
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/mongodb/MongoURI;
            1    4     1  database  Ljava/lang/String;

  private java.lang.String getCollectionNonNull();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.mongodb.MongoURI this
         0: .line 219
            aload 0 /* this */
            invokevirtual com.mongodb.MongoURI.getCollection:()Ljava/lang/String;
            astore 1 /* collection */
        start local 1 // java.lang.String collection
         1: .line 220
            aload 1 /* collection */
            ifnonnull 3
         2: .line 221
            new com.mongodb.MongoClientException
            dup
            ldc "Collection name can not be null in this context"
            invokespecial com.mongodb.MongoClientException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 223
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* collection */
            areturn
        end local 1 // java.lang.String collection
        end local 0 // com.mongodb.MongoURI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/mongodb/MongoURI;
            1    4     1  collection  Ljava/lang/String;
}
SourceFile: "MongoURI.java"
InnerClasses:
  public Builder = com.mongodb.MongoClientOptions$Builder of com.mongodb.MongoClientOptions
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()