package com.github.dandelion.datatables.repository; import java.util.List; import com.github.dandelion.datatables.core.ajax.DatatablesCriterias; import com.github.dandelion.datatables.model.Person; /** * Repository interface for the <code>Person</code> domain object. * * @author Thibault Duchateau */ public interface PersonRepository { /** * @return the complete list of persons. */ public List<Person> findAll(); /** * @param maxResult * Max number of persons. * @return a maxResult limited list of persons. */ public List<Person> findLimited(int maxResult); /** * <p> * Query used to populate the DataTables that display the list of persons. * * @param criterias * The DataTables criterias used to filter the persons. * (maxResult, filtering, paging, ...) * @return a filtered list of persons. */ public List<Person> findPersonWithDatatablesCriterias(DatatablesCriterias criterias); /** * <p> * Query used to return the number of filtered persons. * * @param criterias * The DataTables criterias used to filter the persons. * (maxResult, filtering, paging, ...) * @return the number of filtered persons. */ public Long getFilteredCount(DatatablesCriterias criterias); /** * @return the total count of persons. */ public Long getTotalCount(); }