View Javadoc

1   /**
2    * 
3    */
4   package sf.net.kayestry;
5   
6   import java.util.Iterator;
7   
8   import org.apache.tapestry.contrib.table.model.IBasicTableModel;
9   import org.apache.tapestry.contrib.table.model.ITableColumn;
10  
11  import ar.com.jiji.kaya.dao.PageableTableDAO;
12  import ar.com.jiji.kaya.utils.ValidateUtils;
13  
14  /**
15   * @author lparra
16   * @version $Revision$ $Date$ TODO: paginable no se escribe asi, no... ?
17   */
18  public class PageableTable implements IBasicTableModel {
19  
20  	private PageableTableDAO dao;
21  
22  	public PageableTable(PageableTableDAO dao) {
23  		ValidateUtils.argNotNull(dao, "dao");
24  		this.dao = dao;
25  	}
26  
27  	@SuppressWarnings("unchecked")
28  	public int getRowCount() {
29  		return dao.getSize();
30  	}
31  
32  	/**
33  	 * @param objSortColumn
34  	 *            La columna sobre la que se va a ordenar. Puede ser null.
35  	 */
36  	public Iterator getCurrentPageRows(int nFirst, int nPageSize,
37  			ITableColumn objSortColumn, boolean bSortOrder) {
38  		// TODO: con el getColumnName eso seria el label de la columna o el
39  		// nombre?
40  		String columnName = (objSortColumn == null ? null : objSortColumn
41  				.getColumnName());
42  		return dao.getPage(nFirst, nPageSize, columnName, bSortOrder)
43  				.iterator();
44  	}
45  
46  }