/**
* 文件名:@OnePage.java
* 包名:cn.efunbox.afw.core.domain.page
* 项目名:afw-core
* @author xtwin
*/
package cn.efunbox.audio.page;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
public class ResOnePage implements ResPageable> ,Serializable {
private static final long serialVersionUID = 1L;
// 默认分页数据条数
public final static int DEFAULT_PAGE_SIZE = 20;
// 当前页
private int pageNum = 1;
// 当前页大小
private int pageSize = DEFAULT_PAGE_SIZE;
// 总条数
private long pageTotal;
// 数据内容
private List list;
// 数据内容
private List contentList;
//数据内容
private List chapterList;
/**
* 构造方法
*/
protected ResOnePage() {
// 默认构造方法
}
/**
* 构造方法
*/
public ResOnePage(Long pageTotal) {
this(pageTotal, null, null);
}
/**
* 构造方法
*/
public ResOnePage(Long pageTotal, Integer pageNum) {
this(pageTotal, pageNum, null);
}
/**
* 构造方法
*/
public ResOnePage(Long pageTotal, Integer pageNum, Integer pageSize) {
// 总记录数
if (null != pageTotal) {
if (pageTotal < 0) {
throw new RuntimeException("pageTotal must be not less than zero!");
}
this.pageTotal = pageTotal;
}
// 当前页码
if (null != pageNum) {
if (pageNum < 0) {
throw new RuntimeException("pageNum must be not less than zero!");
}
this.pageNum = pageNum;
}
// 当前页数据条数
if (null != pageSize) {
if (pageSize < 0) {
throw new RuntimeException("pageSize must be not less than zero!");
}
this.pageSize = pageSize;
}
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public int getTotalNo() {
return pageTotal == 0 ? 1 : (int) ((pageTotal / pageSize) + (pageTotal % pageSize == 0 ? 0 : 1));
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public long getPageTotal() {
return pageTotal;
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public int getPageNum() {
return pageNum;
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public int getPageSize() {
return pageSize;
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public boolean hasNext() {
return getPageNum() < getTotalNo();
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年7月31日 上午9:27:27
*
* @return
*/
@Override
public boolean hasPrevious() {
return getPageNum() > 1;
}
/**
* @version 2016年7月31日-上午10:57:49
*/
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
/**
* @version 2016年7月31日-上午10:57:49
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @version 2016年7月31日-上午10:57:49
*/
public void setPageTotal(int pageTotal) {
/*if (pageTotal < 0) {
throw new AfwRuntimeException("pageTotal must be not less than zero!");
}*/
this.pageTotal = pageTotal;
}
/**
* 功能:bean规范
*
* @author xtwin
* @version 2016年7月31日 下午12:54:59
*/
public boolean isHasNext() {
return hasNext();
}
/**
* 功能:bean规范
*
* @author xtwin
* @version 2016年7月31日 下午12:55:22
*/
public boolean isHasPrevious() {
return hasPrevious();
}
/**
* @version 2016年8月1日-上午10:00:32
*/
public void setList(List list) {
this.list = list;
}
public List getContentList() {
return null == contentList ? Collections.emptyList() : contentList;
}
public void setContentList(List contentList) {
this.contentList = contentList;
}
public List getChapterList() {
return null == chapterList ? Collections.emptyList() : chapterList;
}
public void setChapterList(List chapterList) {
this.chapterList = chapterList;
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年8月1日 上午9:49:32
*
* @return
* @see Pageable#getList()
*/
@Override
public List getList() {
return null == list ? Collections.emptyList() : list;
}
/**
* 功能:
*
* 重写:xtwin
*
* @version :2016年8月1日 上午10:05:48
*
* @return
* @see Pageable#getStart()
*/
@Override
public int getStart() {
return (getPageNum() - 1) * getPageSize();
}
}