package com.hehenian.manager.commons;
import java.util.ArrayList;
import java.util.List;
/**
* 通用分页排序类
*/
public class NewPagination<T> {
private static final int DEFAULT_PAGE = 1;
public static int DEFAULT_PAGE_SIZE = 20;
private int rows = DEFAULT_PAGE_SIZE;
private int total;
private List<T> datas;
private int pageSize = DEFAULT_PAGE_SIZE;
private int page = DEFAULT_PAGE;
private String exceTime;
private String exceSql;
private String sortname;
private String sortorder;
public String getExceTime() {
return exceTime;
}
public void setExceTime(String exceTime) {
this.exceTime = exceTime;
}
public String getExceSql() {
return exceSql;
}
public void setExceSql(String exceSql) {
this.exceSql = exceSql;
}
public NewPagination(){
}
public NewPagination(int pageSize, int page) {
if (pageSize < 1) {
throw new IllegalArgumentException("Count should be greater than zero!");
} else if (page < 1) {
page = 1;
} else {
this.pageSize = pageSize;
this.page = page;
}
}
public String getCount(){
return this.getTotal()+"";
}
public void setPageSize(int pageSize) {
if(getRows()>0){
this.pageSize = getRows();
}else{
this.pageSize = pageSize;
}
}
public List<T> getDatas() {
if(null==this.datas)
this.datas=new ArrayList<T>();
return datas;
}
public int getTotal() {
return total;
}
public int getPageSize() {
return pageSize;
}
public void setDatas(List<T> datas) {
this.datas = datas;
}
public void setTotal(int totalCount) {
this.total = totalCount;
}
public int getPageCount() {
return (total == 0) ? 1 : ((total % pageSize == 0) ? (total / pageSize)
: (total / pageSize) + 1);
}
public int getPreviousPage() {
if(page > 1) return page - 1;
else return DEFAULT_PAGE;
}
public int getNextPage() {
if(page < getPageCount()) return page + 1;
else return getPageCount();
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getStart() {
return (this.page - 1) * pageSize ;//+ 1;
}
public String getSortname() {
return sortname;
}
public void setSortname(String sortname) {
this.sortname = sortname;
}
public String getSortorder() {
return sortorder;
}
public void setSortorder(String sortorder) {
this.sortorder = sortorder;
}
/**
* @return the rows
*/
public int getRows() {
return rows;
}
/**
* @param rows the rows to set
*/
public void setRows(int rows) {
this.rows = rows;
}
}