package com.megatim.fdxconsultation.core.ifaces.abtracts;
|
|
import com.megatim.fdxconsultation.dao.ifaces.abstracts.PaginationWithSearchEnityDAO;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
public interface PaginationWithSearchEntity<T extends Object, ID, S> {
|
|
PaginationWithSearchEnityDAO<T, ID, S> getPaginationDao();
|
|
default List<T> all() {
|
return getPaginationDao().all()
|
.stream()
|
.collect(Collectors.toList());
|
}
|
|
default List<T> findAll(S searchEntity) {
|
return getPaginationDao().findAllBySearchEntity(searchEntity)
|
.stream()
|
.collect(Collectors.toList());
|
}
|
|
default List<T> findWithPagination(int pageNumber, int pagesize, S searchEntity) {
|
return getPaginationDao().findAllBySearchEntity(pageNumber, pagesize, searchEntity)
|
.stream()
|
.collect(Collectors.toList());
|
}
|
|
default Long count(S searchEntity) {
|
return getPaginationDao().countBySearchEntity(searchEntity);
|
}
|
|
}
|