package com.appleframework.model.page; import java.io.Serializable; /** * 简单分页类 * * @author xusm * */ public class SimplePage implements Paginable, Serializable { private static final long serialVersionUID = -5755581162278120462L; public static final long DEF_COUNT = 20; protected long totalCount = 0; protected long pageSize = 20; protected long pageNo = 1; /** * 检查页码 checkPageNo * * @param pageNo * @return if pageNo==null or pageNo<1 then return 1 else return pageNo */ public static long cpn(Integer pageNo) { return (pageNo == null || pageNo < 1) ? 1 : pageNo; } public SimplePage() { } /** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */ public SimplePage(long pageNo, long pageSize, long totalCount) { setTotalCount(totalCount); setPageSize(pageSize); setPageNo(pageNo); adjustPageNo(); } /** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */ public SimplePage(long pageNo, long pageSize) { setPageSize(pageSize); setPageNo(pageNo); } /** * 调整页码,使不超过最大页数 */ public void adjustPageNo() { if (pageNo == 1) { return; } long tp = getTotalPage(); if (pageNo > tp) { pageNo = tp; } } /** * 获得页码 */ public long getPageNo() { return pageNo; } /** * 每页几条数据 */ public long getPageSize() { return pageSize; } /** * 总共几条数据 */ public long getTotalCount() { return totalCount; } /** * 总共几页 */ public long getTotalPage() { long totalPage = totalCount / pageSize; if (totalPage == 0 || totalCount % pageSize != 0) { totalPage++; } return totalPage; } /** * 是否第一页 */ public boolean isFirstPage() { return pageNo <= 1; } /** * 是否最后一页 */ public boolean isLastPage() { return pageNo >= getTotalPage(); } /** * 下一页页码 */ public long getNextPage() { if (isLastPage()) { return pageNo; } else { return pageNo + 1; } } /** * 上一页页码 */ public long getPrePage() { if (isFirstPage()) { return pageNo; } else { return pageNo - 1; } } /** * if totalCount<0 then totalCount=0 * * @param totalCount */ public void setTotalCount(long totalCount) { if (totalCount < 0) { this.totalCount = 0; } else { this.totalCount = totalCount; } } /** * if pageSize< 1 then pageSize=DEF_COUNT * * @param pageSize */ public void setPageSize(long pageSize) { if (pageSize < 1) { this.pageSize = DEF_COUNT; } else { this.pageSize = pageSize; } } /** * if pageNo < 1 then pageNo=1 * * @param pageNo */ public void setPageNo(long pageNo) { if (pageNo < 1) { this.pageNo = 1; } else { this.pageNo = pageNo; } } }