summaryrefslogtreecommitdiffstats
path: root/src/main/java/nu/xss/jpa/dao/Dao.java
blob: 86444f441f31293c79422b98c31b6262235fc8ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);

}