View Javadoc

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  	// TODO: objSortColumn si no esta ordenado por nada, esto seria null?
39  	// TODO: bSortOrder cuando es false = asc ; true = desc?
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  }