1 /**
2 *
3 */
4 package ar.com.jiji.kaya.dao;
5
6 import java.util.List;
7
8 import ar.com.jiji.kaya.query.Query;
9
10 /**
11 * Representa un dao que puede devolver su informacion en paginas.
12 *
13 * @author lparra
14 * @version $Revision$ $Date$
15 */
16 public interface PageableTableDAO<DATA> {
17 /**
18 * Devuelve la cantidad total de filas.
19 */
20 int getSize();
21
22 int getSize(Query query);
23
24 /**
25 * Devuelve una pagina de datos.
26 *
27 * @param nFirst
28 * El offset del primer elemento a devolver (0 es el primero).
29 * @param nPageSize
30 * La cantidad de elementos a devolver.
31 * @param objSortColumn
32 * El nombre de la columna por la cual se ordenan los datos.
33 * Puede ser null si no desea ordenar por ninguna columna.
34 * @param bSortOrder
35 * Si el ordenamiento es ascendente o descendente.
36 * @return La pagina de datos, nunca es null.
37 */
38
39
40 List<DATA> getPage(int nFirst, int nPageSize, String sortColumn,
41 boolean bSortOrder);
42
43 List<DATA> getPage(int nFirst, int nPageSize, String sortColumn,
44 boolean bSortOrder, Query query);
45 }