public interface com.mongodb.client.MongoDatabase
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.mongodb.client.MongoDatabase
  super_class: java.lang.Object
{
  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bson.codecs.configuration.CodecRegistry getCodecRegistry();
    descriptor: ()Lorg/bson/codecs/configuration/CodecRegistry;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.ReadPreference getReadPreference();
    descriptor: ()Lcom/mongodb/ReadPreference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.WriteConcern getWriteConcern();
    descriptor: ()Lcom/mongodb/WriteConcern;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.ReadConcern getReadConcern();
    descriptor: ()Lcom/mongodb/ReadConcern;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.client.MongoDatabase withCodecRegistry(org.bson.codecs.configuration.CodecRegistry);
    descriptor: (Lorg/bson/codecs/configuration/CodecRegistry;)Lcom/mongodb/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      codecRegistry  

  public abstract com.mongodb.client.MongoDatabase withReadPreference(com.mongodb.ReadPreference);
    descriptor: (Lcom/mongodb/ReadPreference;)Lcom/mongodb/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      readPreference  

  public abstract com.mongodb.client.MongoDatabase withWriteConcern(com.mongodb.WriteConcern);
    descriptor: (Lcom/mongodb/WriteConcern;)Lcom/mongodb/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      writeConcern  

  public abstract com.mongodb.client.MongoDatabase withReadConcern(com.mongodb.ReadConcern);
    descriptor: (Lcom/mongodb/ReadConcern;)Lcom/mongodb/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      readConcern  

  public abstract com.mongodb.client.MongoCollection<org.bson.Document> getCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/client/MongoCollection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Lcom/mongodb/client/MongoCollection<Lorg/bson/Document;>;
    MethodParameters:
                Name  Flags
      collectionName  

  public abstract <TDocument> com.mongodb.client.MongoCollection<TDocument> getCollection(java.lang.String, java.lang.Class<TDocument>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lcom/mongodb/client/MongoCollection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TDocument:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TTDocument;>;)Lcom/mongodb/client/MongoCollection<TTDocument;>;
    MethodParameters:
                Name  Flags
      collectionName  
      documentClass   

  public abstract org.bson.Document runCommand(org.bson.conversions.Bson);
    descriptor: (Lorg/bson/conversions/Bson;)Lorg/bson/Document;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      command  

  public abstract org.bson.Document runCommand(org.bson.conversions.Bson, com.mongodb.ReadPreference);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;)Lorg/bson/Document;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      command         
      readPreference  

  public abstract <TResult> TResult runCommand(org.bson.conversions.Bson, java.lang.Class<TResult>);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;)TTResult;
    MethodParameters:
             Name  Flags
      command      
      resultClass  

  public abstract <TResult> TResult runCommand(org.bson.conversions.Bson, com.mongodb.ReadPreference, java.lang.Class<TResult>);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class<TTResult;>;)TTResult;
    MethodParameters:
                Name  Flags
      command         
      readPreference  
      resultClass     

  public abstract org.bson.Document runCommand(com.mongodb.client.ClientSession, org.bson.conversions.Bson);
    descriptor: (Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;)Lorg/bson/Document;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      clientSession  
      command        

  public abstract org.bson.Document runCommand(com.mongodb.client.ClientSession, org.bson.conversions.Bson, com.mongodb.ReadPreference);
    descriptor: (Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;)Lorg/bson/Document;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      clientSession   
      command         
      readPreference  

  public abstract <TResult> TResult runCommand(com.mongodb.client.ClientSession, org.bson.conversions.Bson, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;)TTResult;
    MethodParameters:
               Name  Flags
      clientSession  
      command        
      resultClass    

  public abstract <TResult> TResult runCommand(com.mongodb.client.ClientSession, org.bson.conversions.Bson, com.mongodb.ReadPreference, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class<TTResult;>;)TTResult;
    MethodParameters:
                Name  Flags
      clientSession   
      command         
      readPreference  
      resultClass     

  public abstract void drop();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void drop(com.mongodb.client.ClientSession);
    descriptor: (Lcom/mongodb/client/ClientSession;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract com.mongodb.client.MongoIterable<java.lang.String> listCollectionNames();
    descriptor: ()Lcom/mongodb/client/MongoIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/client/MongoIterable<Ljava/lang/String;>;

  public abstract com.mongodb.client.ListCollectionsIterable<org.bson.Document> listCollections();
    descriptor: ()Lcom/mongodb/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/client/ListCollectionsIterable<Lorg/bson/Document;>;

  public abstract <TResult> com.mongodb.client.ListCollectionsIterable<TResult> listCollections(java.lang.Class<TResult>);
    descriptor: (Ljava/lang/Class;)Lcom/mongodb/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ListCollectionsIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  

  public abstract com.mongodb.client.MongoIterable<java.lang.String> listCollectionNames(com.mongodb.client.ClientSession);
    descriptor: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/MongoIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/MongoIterable<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract com.mongodb.client.ListCollectionsIterable<org.bson.Document> listCollections(com.mongodb.client.ClientSession);
    descriptor: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/ListCollectionsIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract <TResult> com.mongodb.client.ListCollectionsIterable<TResult> listCollections(com.mongodb.client.ClientSession, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/Class;)Lcom/mongodb/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ListCollectionsIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      resultClass    

  public abstract void createCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      collectionName  

  public abstract void createCollection(java.lang.String, com.mongodb.client.model.CreateCollectionOptions);
    descriptor: (Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      collectionName           
      createCollectionOptions  

  public abstract void createCollection(com.mongodb.client.ClientSession, java.lang.String);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      clientSession   
      collectionName  

  public abstract void createCollection(com.mongodb.client.ClientSession, java.lang.String, com.mongodb.client.model.CreateCollectionOptions);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      clientSession            
      collectionName           
      createCollectionOptions  

  public abstract void createView(java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)V
    MethodParameters:
          Name  Flags
      viewName  
      viewOn    
      pipeline  

  public abstract void createView(java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.CreateViewOptions);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/client/model/CreateViewOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/CreateViewOptions;)V
    MethodParameters:
                   Name  Flags
      viewName           
      viewOn             
      pipeline           
      createViewOptions  

  public abstract void createView(com.mongodb.client.ClientSession, java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)V
    MethodParameters:
               Name  Flags
      clientSession  
      viewName       
      viewOn         
      pipeline       

  public abstract void createView(com.mongodb.client.ClientSession, java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.CreateViewOptions);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/client/model/CreateViewOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/CreateViewOptions;)V
    MethodParameters:
                   Name  Flags
      clientSession      
      viewName           
      viewOn             
      pipeline           
      createViewOptions  

  public abstract com.mongodb.client.ChangeStreamIterable<org.bson.Document> watch();
    descriptor: ()Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/client/ChangeStreamIterable<Lorg/bson/Document;>;

  public abstract <TResult> com.mongodb.client.ChangeStreamIterable<TResult> watch(java.lang.Class<TResult>);
    descriptor: (Ljava/lang/Class;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  

  public abstract com.mongodb.client.ChangeStreamIterable<org.bson.Document> watch(java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/util/List;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
          Name  Flags
      pipeline  

  public abstract <TResult> com.mongodb.client.ChangeStreamIterable<TResult> watch(java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      pipeline     
      resultClass  

  public abstract com.mongodb.client.ChangeStreamIterable<org.bson.Document> watch(com.mongodb.client.ClientSession);
    descriptor: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;)Lcom/mongodb/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract <TResult> com.mongodb.client.ChangeStreamIterable<TResult> watch(com.mongodb.client.ClientSession, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/lang/Class;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      resultClass    

  public abstract com.mongodb.client.ChangeStreamIterable<org.bson.Document> watch(com.mongodb.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/util/List;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       

  public abstract <TResult> com.mongodb.client.ChangeStreamIterable<TResult> watch(com.mongodb.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       
      resultClass    

  public abstract com.mongodb.client.AggregateIterable<org.bson.Document> aggregate(java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/util/List;)Lcom/mongodb/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/client/AggregateIterable<Lorg/bson/Document;>;
    MethodParameters:
          Name  Flags
      pipeline  

  public abstract <TResult> com.mongodb.client.AggregateIterable<TResult> aggregate(java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/AggregateIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      pipeline     
      resultClass  

  public abstract com.mongodb.client.AggregateIterable<org.bson.Document> aggregate(com.mongodb.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/util/List;)Lcom/mongodb/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/client/AggregateIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       

  public abstract <TResult> com.mongodb.client.AggregateIterable<TResult> aggregate(com.mongodb.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/client/ClientSession;Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/client/AggregateIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       
      resultClass    
}
SourceFile: "MongoDatabase.java"
    RuntimeVisibleAnnotations: 
      com.mongodb.annotations.ThreadSafe()