summaryrefslogblamecommitdiffstats
path: root/src/main/java/nu/xss/jpa/dao/Dao.java
blob: 86444f441f31293c79422b98c31b6262235fc8ee (plain) (tree)
1
2
3
4
5
6
7
8
9



                       



                                      
                            
                        
                         
                          
    
                     



                                
                      







                                                                        
 
 
package nu.xss.jpa.dao;

import java.util.List;

import nu.xss.jpa.query.Pagination;
import nu.xss.jpa.query.Sort;
import nu.xss.jpa.query.filter.Filter;

public interface Dao<E, K> {
    void save(E entity);
    void merge(E entity);
    void delete(E entity);
    
    E findById(K id);
    
    int count();
    int count(Filter... filter);
    
    List<E> findAll();
    List<E> findAll(Sort sort);
    List<E> findAll(Pagination pagination);
    List<E> findAll(Sort sort, Pagination pagination);

    List<E> findAll(Filter... filter);
    List<E> findAll(Sort sort, Filter... filter);
    List<E> findAll(Pagination pagination, Filter... filter);
    List<E> findAll(Sort sort, Pagination pagination, Filter... filter);

}