public class Paging implements Serializable {
private static final long serialVersionUID = 12312412312312312L;
private int records;
private int pageSize = 10;
private int pageCount;
private int currentPage = 1;
public Paging() {
}
public Paging(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = (currentPage < 1 ? 1 : currentPage);
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = Math.abs(pageSize);
}
public int getRecords() {
return records;
}
public void setRecords(int records) {
if (records == 0) {
return;
}
this.records = records;
if (pageSize > 0) {
pageCount = ((int) Math.ceil((records - 1) / pageSize) + 1);
if (currentPage < 1) {
currentPage = 1;
}
}
}
public int getFirstPage() {
return 1;
}
public int getPrePage() {
return currentPage - 1 >= 1 ? currentPage - 1 : 1;
}
public int getNextPage() {
return currentPage + 1 > pageCount ? pageCount : currentPage + 1;
}
public boolean isFirst() {
return currentPage == 1;
}
public boolean isLast() {
return currentPage == pageCount;
}
public int getStartRow() {
return (currentPage - 1) * pageSize;
}
}