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 { PaginationWithSearchEnityDAO getPaginationDao(); default List all() { return getPaginationDao().all() .stream() .collect(Collectors.toList()); } default List findAll(S searchEntity) { return getPaginationDao().findAllBySearchEntity(searchEntity) .stream() .collect(Collectors.toList()); } default List 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); } }