/***************************************************************************** * * * This file is part of the tna framework distribution. * * Documentation and updates may be get from biaoping.yin the author of * * this framework * * * * Sun Public License Notice: * * * * The contents of this file are subject to the Sun Public License Version * * 1.0 (the "License"); you may not use this file except in compliance with * * the License. A copy of the License is available at http://www.sun.com * * * * The Original Code is tag. The Initial Developer of the Original * * Code is biaoping yin. Portions created by biaoping yin are Copyright * * (C) 2000. All Rights Reserved. * * * * GNU Public License Notice: * * * * Alternatively, the contents of this file may be used under the terms of * * the GNU Lesser General Public License (the "LGPL"), in which case the * * provisions of LGPL are applicable instead of those above. If you wish to * * allow use of your version of this file only under the terms of the LGPL * * and not to allow others to use your version of this file under the SPL, * * indicate your decision by deleting the provisions above and replace * * them with the notice and other provisions required by the LGPL. If you * * do not delete the provisions above, a recipient may use your version of * * this file under either the SPL or the LGPL. * * * * biaoping.yin (yin-bp@163.com) * * Author of Learning Java * * * *****************************************************************************/ package com.frameworkset.common.tag.pager; import com.frameworkset.common.poolman.SQLParams; import java.io.Serializable; import javax.servlet.http.HttpServletRequest; /** * 业务组件必须实现的3个接口用来获取具体业务的数据集合,为分页Tag提供数据 * 获取值对象的Class句柄 * @author biaoping.yin * 2005-3-25 * version 1.0 */ public interface DataInfo { /** * 初始化获取分页/列表数据的必要参数 * @param sortKey 排序字段 * @param desc 排序顺序,true表示降序,false表示升序 * @param offSet 获取分页数据时,用该参数设置获取数据的起点 * @param pageItemsize 获取分页数据时,用该参数设置获取数据的条数 */ public void initial(String sortKey, boolean desc, long offSet, int pageItemsize, boolean isList, HttpServletRequest request); /** * 初始化获取分页/列表数据的必要参数 * @param sql 数据库查询语句 * @param dbName 数据库连接池名称 * @param offSet 获取分页数据时,用该参数设置获取数据的起点 * @param pageItemsize 获取分页数据时,用该参数设置获取数据的条数 */ public void initial(String sql, String dbName, long offSet, int pageItemsize, // String sortKey, // boolean desc, boolean isList, HttpServletRequest request); /** * 如果分页tag只是作为列表来实现时,调用该方法获取 * 要显示的列表数据 * @return Object */ public Object getListItems(); /** * 分页显示时从数据库获取每页的数据项 * @return Hashtable[] */ public Object[] getPageItemsFromDB(); /** * 如果分页tag只是作为列表来实现时,调用该方法从数据库中获取 * 要显示的列表数据 * @return java.util.List */ public Object[] getListItemsFromDB(); /** * 分页显示时获取每页的数据项 * @return Object */ public Object getPageItems(); /** * 获取值对象的Class句柄 * @return java.lang.Class */ public Class getVOClass(); /** * 获取数据源中数据的总数,分页时调用 * @return int */ public long getItemCount(); /** * 获取当前页面记录数 * @return 当前页面记录数 */ public int getDataSize(); public int getDataResultSize(); /** * 获取对象类型的数据 * @return */ public Object getObjectData(); public void initial(String sql, String dbName, long offSet, int pageItemsize, boolean listMode, // String sortKey, // boolean desc, HttpServletRequest request,SQLParams params); /** * 识别当前查询是否是more分页,如果是more分页则标签库无需设置总记录数信息 * @return */ public boolean isMore(); // public boolean isdbdata(); }