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 { void save(E entity); void merge(E entity); void delete(E entity); E findById(K id); int count(); int count(Filter... filter); List findAll(); List findAll(Sort sort); List findAll(Pagination pagination); List findAll(Sort sort, Pagination pagination); List findAll(Filter... filter); List findAll(Sort sort, Filter... filter); List findAll(Pagination pagination, Filter... filter); List findAll(Sort sort, Pagination pagination, Filter... filter); }