public interface org.mongodb.morphia.Datastore
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.mongodb.morphia.Datastore
  super_class: java.lang.Object
{
  public abstract org.mongodb.morphia.aggregation.AggregationPipeline createAggregation(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/aggregation/AggregationPipeline;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  public abstract <T> org.mongodb.morphia.query.Query<T> createQuery(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/mongodb/morphia/query/Query<TT;>;
    MethodParameters:
            Name  Flags
      collection  

  public abstract <T> org.mongodb.morphia.query.UpdateOperations<T> createUpdateOperations(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/query/UpdateOperations;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/mongodb/morphia/query/UpdateOperations<TT;>;
    MethodParameters:
       Name  Flags
      clazz  

  public abstract <T, V> com.mongodb.WriteResult delete(java.lang.Class<T>, V);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TV;)Lcom/mongodb/WriteResult;
    MethodParameters:
       Name  Flags
      clazz  
      id     

  public abstract <T, V> com.mongodb.WriteResult delete(java.lang.Class<T>, V, org.mongodb.morphia.DeleteOptions);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TV;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    MethodParameters:
         Name  Flags
      clazz    
      id       
      options  

  public abstract <T, V> com.mongodb.WriteResult delete(java.lang.Class<T>, java.lang.Iterable<V>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Iterable;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Iterable<TV;>;)Lcom/mongodb/WriteResult;
    MethodParameters:
       Name  Flags
      clazz  
      ids    

  public abstract <T, V> com.mongodb.WriteResult delete(java.lang.Class<T>, java.lang.Iterable<V>, org.mongodb.morphia.DeleteOptions);
    descriptor: (Ljava/lang/Class;Ljava/lang/Iterable;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Iterable<TV;>;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    MethodParameters:
         Name  Flags
      clazz    
      ids      
      options  

  public abstract <T> com.mongodb.WriteResult delete(org.mongodb.morphia.query.Query<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;)Lcom/mongodb/WriteResult;
    MethodParameters:
       Name  Flags
      query  

  public abstract <T> com.mongodb.WriteResult delete(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.DeleteOptions);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    MethodParameters:
         Name  Flags
      query    
      options  

  public abstract <T> com.mongodb.WriteResult delete(org.mongodb.morphia.query.Query<T>, com.mongodb.WriteConcern);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lcom/mongodb/WriteConcern;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lcom/mongodb/WriteConcern;)Lcom/mongodb/WriteResult;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      query  
      wc     

  public abstract <T> com.mongodb.WriteResult delete(T);
    descriptor: (Ljava/lang/Object;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)Lcom/mongodb/WriteResult;
    MethodParameters:
        Name  Flags
      entity  

  public abstract <T> com.mongodb.WriteResult delete(T, org.mongodb.morphia.DeleteOptions);
    descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/mongodb/morphia/DeleteOptions;)Lcom/mongodb/WriteResult;
    MethodParameters:
         Name  Flags
      entity   
      options  

  public abstract <T> com.mongodb.WriteResult delete(T, com.mongodb.WriteConcern);
    descriptor: (Ljava/lang/Object;Lcom/mongodb/WriteConcern;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lcom/mongodb/WriteConcern;)Lcom/mongodb/WriteResult;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      entity  
      wc      

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

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

  public abstract <T> void ensureIndex(java.lang.Class<T>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      clazz   
      fields  

  public abstract <T> void ensureIndex(java.lang.Class<T>, java.lang.String, java.lang.String, boolean, );
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ZZ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;Ljava/lang/String;ZZ)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                  Name  Flags
      clazz             
      name              
      fields            
      unique            
      dropDupsOnCreate  

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

  public abstract void ensureIndexes(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      background  

  public abstract <T> void ensureIndexes(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)V
    MethodParameters:
       Name  Flags
      clazz  

  public abstract <T> void ensureIndexes(java.lang.Class<T>, );
    descriptor: (Ljava/lang/Class;Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Z)V
    MethodParameters:
            Name  Flags
      clazz       
      background  

  public abstract org.mongodb.morphia.Key<?> exists();
    descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key<*>;
    MethodParameters:
             Name  Flags
      keyOrEntity  

  public abstract <T> org.mongodb.morphia.query.Query<T> find(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/mongodb/morphia/query/Query<TT;>;
    MethodParameters:
       Name  Flags
      clazz  

  public abstract <T, V> org.mongodb.morphia.query.Query<T> find(java.lang.Class<T>, java.lang.String, V);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;TV;)Lorg/mongodb/morphia/query/Query<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      clazz     
      property  
      value     

  public abstract <T, V> org.mongodb.morphia.query.Query<T> find(java.lang.Class<T>, java.lang.String, V, int, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;II)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/String;TV;II)Lorg/mongodb/morphia/query/Query<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      clazz     
      property  
      value     
      offset    
      size      

  public abstract <T> T findAndDelete(org.mongodb.morphia.query.Query<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;)TT;
    MethodParameters:
       Name  Flags
      query  

  public abstract <T> T findAndDelete(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.FindAndModifyOptions);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/FindAndModifyOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/FindAndModifyOptions;)TT;
    MethodParameters:
         Name  Flags
      query    
      options  

  public abstract <T> T findAndModify(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, org.mongodb.morphia.FindAndModifyOptions);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;Lorg/mongodb/morphia/FindAndModifyOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;Lorg/mongodb/morphia/FindAndModifyOptions;)TT;
    MethodParameters:
            Name  Flags
      query       
      operations  
      options     

  public abstract <T> T findAndModify(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)TT;
    MethodParameters:
            Name  Flags
      query       
      operations  

  public abstract <T> T findAndModify(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, );
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;Z)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;Z)TT;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      query       
      operations  
      oldVersion  

  public abstract <T> T findAndModify(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, boolean, );
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;ZZ)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;ZZ)TT;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      query            
      operations       
      oldVersion       
      createIfMissing  

  public abstract <T, V> org.mongodb.morphia.query.Query<T> get(java.lang.Class<T>, java.lang.Iterable<V>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Iterable;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Iterable<TV;>;)Lorg/mongodb/morphia/query/Query<TT;>;
    MethodParameters:
       Name  Flags
      clazz  
      ids    

  public abstract <T, V> T get(java.lang.Class<T>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;TV;)TT;
    MethodParameters:
       Name  Flags
      clazz  
      id     

  public abstract <T> T get();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
        Name  Flags
      entity  

  public abstract <T> T getByKey(java.lang.Class<T>, org.mongodb.morphia.Key<T>);
    descriptor: (Ljava/lang/Class;Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/mongodb/morphia/Key<TT;>;)TT;
    MethodParameters:
       Name  Flags
      clazz  
      key    

  public abstract <T> java.util.List<T> getByKeys(java.lang.Class<T>, java.lang.Iterable<org.mongodb.morphia.Key<T>>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Iterable;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;)Ljava/util/List<TT;>;
    MethodParameters:
       Name  Flags
      clazz  
      keys   

  public abstract <T> java.util.List<T> getByKeys(java.lang.Iterable<org.mongodb.morphia.Key<T>>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      keys  

  public abstract com.mongodb.DBCollection getCollection(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/mongodb/DBCollection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Lcom/mongodb/DBCollection;
    MethodParameters:
       Name  Flags
      clazz  

  public abstract <T> long getCount();
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)J
    MethodParameters:
        Name  Flags
      entity  

  public abstract <T> long getCount(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)J
    MethodParameters:
       Name  Flags
      clazz  

  public abstract <T> long getCount(org.mongodb.morphia.query.Query<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;)J
    MethodParameters:
       Name  Flags
      query  

  public abstract <T> long getCount(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.CountOptions);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/CountOptions;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/CountOptions;)J
    MethodParameters:
         Name  Flags
      query    
      options  

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

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

  public abstract void setDefaultWriteConcern(com.mongodb.WriteConcern);
    descriptor: (Lcom/mongodb/WriteConcern;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      wc    

  public abstract <T> org.mongodb.morphia.Key<T> getKey(T);
    descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
        Name  Flags
      entity  

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

  public abstract org.mongodb.morphia.query.QueryFactory getQueryFactory();
    descriptor: ()Lorg/mongodb/morphia/query/QueryFactory;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setQueryFactory(org.mongodb.morphia.query.QueryFactory);
    descriptor: (Lorg/mongodb/morphia/query/QueryFactory;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      queryFactory  

  public abstract <T> org.mongodb.morphia.MapreduceResults<T> mapReduce(org.mongodb.morphia.MapReduceOptions<T>);
    descriptor: (Lorg/mongodb/morphia/MapReduceOptions;)Lorg/mongodb/morphia/MapreduceResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/MapReduceOptions<TT;>;)Lorg/mongodb/morphia/MapreduceResults<TT;>;
    MethodParameters:
         Name  Flags
      options  

  public abstract <T> org.mongodb.morphia.MapreduceResults<T> mapReduce(org.mongodb.morphia.MapreduceType, org.mongodb.morphia.query.Query, java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.Object>, java.lang.Class<T>);
    descriptor: (Lorg/mongodb/morphia/MapreduceType;Lorg/mongodb/morphia/query/Query;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Class;)Lorg/mongodb/morphia/MapreduceResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/MapreduceType;Lorg/mongodb/morphia/query/Query;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/Class<TT;>;)Lorg/mongodb/morphia/MapreduceResults<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      type         
      q            
      map          
      reduce       
      finalize     
      scopeFields  
      outputType   

  public abstract <T> org.mongodb.morphia.MapreduceResults<T> mapReduce(org.mongodb.morphia.MapreduceType, org.mongodb.morphia.query.Query, java.lang.Class<T>, com.mongodb.MapReduceCommand);
    descriptor: (Lorg/mongodb/morphia/MapreduceType;Lorg/mongodb/morphia/query/Query;Ljava/lang/Class;Lcom/mongodb/MapReduceCommand;)Lorg/mongodb/morphia/MapreduceResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/MapreduceType;Lorg/mongodb/morphia/query/Query;Ljava/lang/Class<TT;>;Lcom/mongodb/MapReduceCommand;)Lorg/mongodb/morphia/MapreduceResults<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      type         
      q            
      outputType   
      baseCommand  

  public abstract <T> org.mongodb.morphia.Key<T> merge(T);
    descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
        Name  Flags
      entity  

  public abstract <T> org.mongodb.morphia.Key<T> merge(T, com.mongodb.WriteConcern);
    descriptor: (Ljava/lang/Object;Lcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
        Name  Flags
      entity  
      wc      

  public abstract <T> org.mongodb.morphia.query.Query<T> queryByExample(T);
    descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)Lorg/mongodb/morphia/query/Query<TT;>;
    MethodParameters:
         Name  Flags
      example  

  public abstract <T> java.lang.Iterable<org.mongodb.morphia.Key<T>> save(java.lang.Iterable<T>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;)Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;
    MethodParameters:
          Name  Flags
      entities  

  public abstract <T> java.lang.Iterable<org.mongodb.morphia.Key<T>> save(java.lang.Iterable<T>, com.mongodb.WriteConcern);
    descriptor: (Ljava/lang/Iterable;Lcom/mongodb/WriteConcern;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Lcom/mongodb/WriteConcern;)Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      entities  
      wc        

  public abstract <T> java.lang.Iterable<org.mongodb.morphia.Key<T>> save(java.lang.Iterable<T>, org.mongodb.morphia.InsertOptions);
    descriptor: (Ljava/lang/Iterable;Lorg/mongodb/morphia/InsertOptions;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Lorg/mongodb/morphia/InsertOptions;)Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;
    MethodParameters:
          Name  Flags
      entities  
      options   

  public abstract <T> java.lang.Iterable<org.mongodb.morphia.Key<T>> save(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Iterable;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/lang/Iterable<Lorg/mongodb/morphia/Key<TT;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      entities  

  public abstract <T> org.mongodb.morphia.Key<T> save(T);
    descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
        Name  Flags
      entity  

  public abstract <T> org.mongodb.morphia.Key<T> save(T, com.mongodb.WriteConcern);
    descriptor: (Ljava/lang/Object;Lcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/Key<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      entity  
      wc      

  public abstract <T> org.mongodb.morphia.Key<T> save(T, org.mongodb.morphia.InsertOptions);
    descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/InsertOptions;)Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/mongodb/morphia/InsertOptions;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
         Name  Flags
      entity   
      options  

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(T, org.mongodb.morphia.query.UpdateOperations<T>);
    descriptor: (Ljava/lang/Object;Lorg/mongodb/morphia/query/UpdateOperations;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
            Name  Flags
      entity      
      operations  

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(org.mongodb.morphia.Key<T>, org.mongodb.morphia.query.UpdateOperations<T>);
    descriptor: (Lorg/mongodb/morphia/Key;Lorg/mongodb/morphia/query/UpdateOperations;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Key<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
            Name  Flags
      key         
      operations  

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
            Name  Flags
      query       
      operations  

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, org.mongodb.morphia.UpdateOptions);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;Lorg/mongodb/morphia/UpdateOptions;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;Lorg/mongodb/morphia/UpdateOptions;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
            Name  Flags
      query       
      operations  
      options     

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, boolean);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;Z)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;Z)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
                 Name  Flags
      query            
      operations       
      createIfMissing  

  public abstract <T> org.mongodb.morphia.query.UpdateResults update(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, boolean, com.mongodb.WriteConcern);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;ZLcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;ZLcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
                 Name  Flags
      query            
      operations       
      createIfMissing  
      wc               

  public abstract <T> org.mongodb.morphia.query.UpdateResults updateFirst(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
            Name  Flags
      query       
      operations  

  public abstract <T> org.mongodb.morphia.query.UpdateResults updateFirst(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, boolean);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;Z)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;Z)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
                 Name  Flags
      query            
      operations       
      createIfMissing  

  public abstract <T> org.mongodb.morphia.query.UpdateResults updateFirst(org.mongodb.morphia.query.Query<T>, org.mongodb.morphia.query.UpdateOperations<T>, boolean, com.mongodb.WriteConcern);
    descriptor: (Lorg/mongodb/morphia/query/Query;Lorg/mongodb/morphia/query/UpdateOperations;ZLcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;ZLcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
                 Name  Flags
      query            
      operations       
      createIfMissing  
      wc               

  public abstract <T> org.mongodb.morphia.query.UpdateResults updateFirst(org.mongodb.morphia.query.Query<T>, T, boolean);
    descriptor: (Lorg/mongodb/morphia/query/Query;Ljava/lang/Object;Z)Lorg/mongodb/morphia/query/UpdateResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/query/Query<TT;>;TT;Z)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
                 Name  Flags
      query            
      entity           
      createIfMissing  
}
SourceFile: "Datastore.java"