public interface org.mongodb.morphia.dao.DAO<T, K>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.mongodb.morphia.dao.DAO
  super_class: java.lang.Object
{
  public abstract long count();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract long count(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      key    
      value  

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

  public abstract org.mongodb.morphia.query.Query<T> createQuery();
    descriptor: ()Lorg/mongodb/morphia/query/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/mongodb/morphia/query/Query<TT;>;

  public abstract org.mongodb.morphia.query.UpdateOperations<T> createUpdateOperations();
    descriptor: ()Lorg/mongodb/morphia/query/UpdateOperations;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/mongodb/morphia/query/UpdateOperations<TT;>;

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

  public abstract 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: (TT;Lcom/mongodb/WriteConcern;)Lcom/mongodb/WriteResult;
    MethodParameters:
        Name  Flags
      entity  
      wc      

  public abstract com.mongodb.WriteResult deleteById(K);
    descriptor: (Ljava/lang/Object;)Lcom/mongodb/WriteResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TK;)Lcom/mongodb/WriteResult;
    MethodParameters:
      Name  Flags
      id    

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

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

  public abstract boolean exists(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      key    
      value  

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

  public abstract org.mongodb.morphia.query.QueryResults<T> find();
    descriptor: ()Lorg/mongodb/morphia/query/QueryResults;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/mongodb/morphia/query/QueryResults<TT;>;

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

  public abstract java.util.List<K> findIds();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<TK;>;

  public abstract java.util.List<K> findIds(java.lang.String, );
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List<TK;>;
    MethodParameters:
       Name  Flags
      key    
      value  

  public abstract java.util.List<K> findIds(org.mongodb.morphia.query.Query<T>);
    descriptor: (Lorg/mongodb/morphia/query/Query;)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/mongodb/morphia/query/Query<TT;>;)Ljava/util/List<TK;>;
    MethodParameters:
       Name  Flags
      query  

  public abstract T findOne(java.lang.String, );
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/Object;)TT;
    MethodParameters:
       Name  Flags
      key    
      value  

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

  public abstract org.mongodb.morphia.Key<T> findOneId();
    descriptor: ()Lorg/mongodb/morphia/Key;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/mongodb/morphia/Key<TT;>;

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

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

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

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

  public abstract org.mongodb.morphia.Datastore getDatastore();
    descriptor: ()Lorg/mongodb/morphia/Datastore;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Class<T> getEntityClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<TT;>;

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

  public abstract 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: (TT;Lcom/mongodb/WriteConcern;)Lorg/mongodb/morphia/Key<TT;>;
    MethodParameters:
        Name  Flags
      entity  
      wc      

  public abstract 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: (Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
       Name  Flags
      query  
      ops    

  public abstract 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: (Lorg/mongodb/morphia/query/Query<TT;>;Lorg/mongodb/morphia/query/UpdateOperations<TT;>;)Lorg/mongodb/morphia/query/UpdateResults;
    MethodParameters:
       Name  Flags
      query  
      ops    
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "DAO.java"