package cn.pdsu;

import java.util.List;

/**
 * 类说明:分页方法封装
 * 
 * @author 作者: LiuJunGuang
 * @version 创建时间:2011-11-9 下午02:22:35
 */
public class Page<T> {
	/**
	 * 总页数,通过总记录数和每页显示记录条数计算获得
	 */
	private int countPage;
	/**
	 * 总记录数
	 */
	private int countRecord;
	/**
	 * 当前页,默认是第一页
	 */
	private int currentPage = 1;
	/**
	 * 结果列表
	 */
	private List<T> list = null;
	/**
	 * 每页显示记录条数 ,默认是每页显示13条记录
	 */
	private int onePageCount = 3;
	/**
	 * 开始索引,通过当前页和每页显示记录条数计算获得
	 */
	private int startIndex;

	public Page() {
	}

	/**
	 * 两个参数的构造方法,调用该构造方法需要另行设置结果list
	 * 
	 * @param currentPage
	 *            当前页
	 * @param countRecord
	 *            总页数
	 */
	public Page(int currentPage, int countRecord) {
		this.currentPage = currentPage;
		this.countRecord = countRecord;
		calculate();
	}

	/**
	 * 能够设置一页显示多少条记录的构造方法
	 * 
	 * @param currentPage
	 *            当前页
	 * @param countRecord
	 *            总记录数
	 * @param onePageCount
	 *            每页最多显示的记录条数
	 */
	public Page(int currentPage, int countRecord, int onePageCount) {
		super();
		this.countRecord = countRecord;
		this.currentPage = currentPage;
		this.onePageCount = onePageCount;
		calculate();
	}

	/**
	 * 计算开始索引和总页数
	 */
	private void calculate() {
		// 计算开始索引
		this.startIndex = (currentPage - 1) * onePageCount;
		// 计算总页数
		this.countPage = (countRecord % onePageCount == 0) ? (countRecord / onePageCount)
				: (countRecord / onePageCount + 1);
	}

	public int getCountPage() {
		return countPage;
	}

	public int getCountRecord() {
		return countRecord;
	}

	public int getCurrentPage() {
		return currentPage;
	}

	public List<T> getList() {
		return list;
	}

	public int getOnePageCount() {
		return onePageCount;
	}

	public int getStartIndex() {
		return startIndex;
	}

	public void setCountPage(int countPage) {
		this.countPage = countPage;
	}

	public void setCountRecord(int countRecord) {
		this.countRecord = countRecord;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public void setList(List<T> list) {
		this.list = list;
	}

	public void setOnePageCount(int onePageCount) {
		this.onePageCount = onePageCount;
	}

	public void setStartIndex(int startIndex) {
		this.startIndex = startIndex;
	}
}
最近下载更多
asddwh  LV12 2023年12月29日
wuge123  LV8 2023年6月12日
1719863922  LV11 2022年6月17日
刚刚vv谭v  LV4 2022年1月4日
微信网友_5768552477921280  LV6 2022年1月2日
17771013609  LV4 2021年12月31日
fesdfs  LV1 2021年12月20日
3089559272  LV11 2021年12月17日
龙门客栈  LV9 2021年12月16日
 LV5 2021年12月15日
最近浏览更多
沈从文  LV2 2023年12月31日
asddwh  LV12 2023年12月25日
wodewode  LV1 2023年12月23日
微信网友_6786215447367680  LV4 2023年12月23日
好哇好哇还是 2023年12月20日
暂无贡献等级
颜菜菜  LV2 2023年12月19日
fff2003  LV6 2023年11月20日
sunshine9920  LV12 2023年11月7日
卢本伟不开挂  LV4 2023年10月22日
zdfxcv  LV1 2023年10月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友