|
@@ -0,0 +1,248 @@
|
|
|
+/**
|
|
|
+ * 文件名:@OnePage.java <br/>
|
|
|
+ * 包名:cn.efunbox.afw.core.domain.page <br/>
|
|
|
+ * 项目名:afw-core <br/>
|
|
|
+ * @author xtwin <br/>
|
|
|
+ */
|
|
|
+package cn.efunbox.audio.page;
|
|
|
+
|
|
|
+import java.io.Serializable;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+public class ResOnePage<E> implements ResPageable<List<E>> ,Serializable {
|
|
|
+
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+ // 默认分页数据条数
|
|
|
+ public final static int DEFAULT_PAGE_SIZE = 10;
|
|
|
+
|
|
|
+ // 当前页
|
|
|
+ private int pageNum = 1;
|
|
|
+
|
|
|
+ // 当前页大小
|
|
|
+ private int pageSize = DEFAULT_PAGE_SIZE;
|
|
|
+
|
|
|
+ // 总条数
|
|
|
+ private long pageTotal;
|
|
|
+
|
|
|
+ // 数据内容
|
|
|
+ private List<E> list;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 构造方法
|
|
|
+ */
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int getTotalNo() {
|
|
|
+ return pageTotal == 0 ? 1 : (int) ((pageTotal / pageSize) + (pageTotal % pageSize == 0 ? 0 : 1));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public long getPageTotal() {
|
|
|
+ return pageTotal;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int getPageNum() {
|
|
|
+ return pageNum;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int getPageSize() {
|
|
|
+ return pageSize;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean hasNext() {
|
|
|
+ return getPageNum() < getTotalNo();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年7月31日 上午9:27:27<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ */
|
|
|
+ @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规范 <br/>
|
|
|
+ *
|
|
|
+ * @author xtwin <br/>
|
|
|
+ * @version 2016年7月31日 下午12:54:59 <br/>
|
|
|
+ */
|
|
|
+ public boolean isHasNext() {
|
|
|
+ return hasNext();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能:bean规范 <br/>
|
|
|
+ *
|
|
|
+ * @author xtwin <br/>
|
|
|
+ * @version 2016年7月31日 下午12:55:22 <br/>
|
|
|
+ */
|
|
|
+ public boolean isHasPrevious() {
|
|
|
+ return hasPrevious();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @version 2016年8月1日-上午10:00:32
|
|
|
+ */
|
|
|
+ public void setList(List<E> list) {
|
|
|
+ this.list = list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年8月1日 上午9:49:32<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ * @see Pageable#getList()
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<E> getList() {
|
|
|
+ return null == list ? Collections.emptyList() : list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能: <br/>
|
|
|
+ *
|
|
|
+ * 重写:xtwin <br/>
|
|
|
+ *
|
|
|
+ * @version :2016年8月1日 上午10:05:48<br/>
|
|
|
+ *
|
|
|
+ * @return <br/>
|
|
|
+ * @see Pageable#getStart()
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int getStart() {
|
|
|
+ return (getPageNum() - 1) * getPageSize();
|
|
|
+ }
|
|
|
+}
|