package com.bimoku.persistence.bean; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * * @Intro 分页类 * @author Lee * @Date 2013-8-19 */ public class PageBean<T> implements Serializable { private static final long serialVersionUID = 6295579614989910451L; private int pageNo; private int nextNo; private int priorNo; private int pageCount; private int rowCount; private int pageSize; private int startRow; private String orderBy; private String orderType; private List<String> pageList; private int pageListSize = 10; private List<T> list; private String groupby; public PageBean() { pageSize = 10; pageNo = 1; startRow = 0; rowCount = 0; } public int getNextNo() { nextNo=this.getPageNo()+1; if(nextNo>pageCount)return pageCount; return nextNo; } public int getPriorNo() { priorNo=this.getPageNo()-1; if(priorNo<1)return 1; return priorNo; } public int getPageCount(int rowCounts) { if (rowCounts % pageSize == 0 && rowCounts > pageSize) { pageCount = rowCounts / pageSize; } else if (rowCounts % pageSize != 0 && rowCounts > pageSize) { pageCount = rowCounts / pageSize + 1; } else { pageCount = 1; } return pageCount; } public PageBean(int pageNo, int pageSize) { this.pageSize = pageSize; this.pageNo = pageNo; } public int getPageNo() { if (pageNo <= 0) { pageNo = 1; } return pageNo; } public void setPageNo(Integer pageNo) { if(pageNo==null) pageNo = 0; this.pageNo = pageNo; } public int getPageCount() { if (rowCount % pageSize == 0 && rowCount > pageSize) { pageCount = rowCount / pageSize; } else if (rowCount % pageSize != 0 && rowCount > pageSize) { pageCount = rowCount / pageSize + 1; } else { pageCount = 1; } return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getRowCount() { return rowCount; } public void setRowCount(int rowCount) { this.rowCount = rowCount; if (pageSize <= 0) { pageSize = 10; } pageCount = (rowCount + pageSize - 1) / pageSize; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { if (pageSize > 100) this.pageSize = 100; else this.pageSize = pageSize; } public int getStartRow() { startRow = (pageNo - 1) * pageSize; if (startRow < 0) { startRow = 0; } return startRow; } public void setStartRow(int startRow) { this.startRow = startRow; } public List<String> getPageList() { if (pageCount > 0) { pageList = new ArrayList<String>(); int startNo = 1; int endNo = 0; if (pageNo - pageListSize / 2 > 0) { startNo = pageNo - pageListSize / 2; } if (pageNo + pageListSize / 2 < pageCount) { endNo = pageNo + pageListSize / 2; } else { endNo = pageCount; } for (int i = startNo; i <= endNo; i++) { pageList.add(Integer.toString(i)); } return pageList; } else { return new ArrayList<String>(); } } public int getPageListSize() { return pageListSize; } public void setPageListSize(int pageListSize) { this.pageListSize = pageListSize; } public List<T> getList() { return list; } public void setList(List<T> reList) { this.list = reList; } public String getOrderBy() { return orderBy; } public void setOrderBy(String orderBy) { this.orderBy = orderBy; } public String getOrderType() { return orderType; } public void setOrderType(String orderType) { this.orderType = orderType; } public String getGroupby() { return groupby; } public void setGroupby(String groupby) { this.groupby = groupby; } @Override public String toString() { return "PageBean [pageNo=" + pageNo + ", nextNo=" + nextNo + ", priorNo=" + priorNo + ", pageCount=" + pageCount + ", rowCount=" + rowCount + ", pageSize=" + pageSize + ", startRow=" + startRow + ", orderBy=" + orderBy + ", orderType=" + orderType + ", pageList=" + pageList + ", pageListSize=" + pageListSize + ", list=" + list + ", groupby=" + groupby + "]"; } }