package com.ddtkj.common.page;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @描述:翻页类
* @作者:xinggenwang@ddtkj.com
* @创建时间: 2015年1月24日
*/
public class PageModel<T> implements Serializable {
/** 默认分页容量 */
public static final int DEFAULT_PAGE_SIZE = 10;
/* 翻页开始行 */
public final static String KEY_START_ROW = "startRow";
/* 每页显示大小 */
public final static String KEY_PAGE_SIZE = "pageSize";
private int page;// 当前页
private transient int pageSize = DEFAULT_PAGE_SIZE;// 每页条数
private long totalPage;
private transient int startRow;
private transient int endRow;
private long total;// 总记录数
private List<T> dataList = new ArrayList<T>();
public PageModel() {
super();
}
public PageModel(String pageSize, String page, long totalRecord) {
if (pageSize != null && !"".equals(pageSize)) {
try {
this.pageSize = Integer.parseInt(pageSize);
} catch (Exception e) {
// 设置默认值
}
}
this.total = totalRecord;
setTotalPage(totalRecord);
setPage(page);
this.startRow = (this.page - 1) * this.pageSize;
this.endRow = this.page * this.pageSize;
}
/**
* 获取总页数(=总记录数/每页显示条数)
*
* **/
private void setTotalPage(long totalRecord) {
if (totalRecord % pageSize == 0) {
this.totalPage = totalRecord / pageSize;
} else {
this.totalPage = totalRecord / pageSize + 1;
}
}
/**
* 设置当前请求页
*
* **/
private void setPage(String page) {
try {
this.page = Integer.parseInt(page);
} catch (NumberFormatException e) {
this.page = 1;
}
if (this.page <= 0) {
this.page = 1;
}
}
public long getTotalPage() {
return totalPage;
}
public long getPage() {
return page;
}
public List<T> getDataList() {
return dataList;
}
public void setDataList(List<T> dataList) {
this.dataList = dataList;
}
public long getStartRow() {
return startRow;
}
public long getEndRow() {
return endRow;
}
public long getTotal() {
return total;
}
public long getPageSize() {
return pageSize;
}
}