123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- /**
- * 文件名:@OnePage.java <br/>
- * 包名:cn.efunbox.afw.core.domain.page <br/>
- * 项目名:afw-core <br/>
- * @author xtwin <br/>
- */
- package cn.efunbox.base.page;
- import java.io.Serializable;
- import java.util.Collections;
- import java.util.List;
- /**
- * 类名:OnePage <br />
- *
- * 功能:分页,一页
- *
- * @author xtwin <br />
- * 创建时间:2016年7月28日 上午11:26:12 <br />
- * @version 2016年7月28日
- */
- public class OnePage<E> implements Pageable<List<E>> ,Serializable {
- private static final long serialVersionUID = 1L;
- // 默认分页数据条数
- public final static int DEFAULT_PAGE_SIZE = 10;
-
- // 当前页
- private int pageNo = 1;
-
- // 当前页大小
- private int pageSize = DEFAULT_PAGE_SIZE;
-
- // 总条数
- private long totalSize;
-
- // 数据内容
- private List<E> list;
- /**
- * 构造方法
- */
- protected OnePage() {
- // 默认构造方法
- }
-
- /**
- * 构造方法
- */
- public OnePage(Long totalSize) {
- this(totalSize, null, null);
- }
-
- /**
- * 构造方法
- */
- public OnePage(Long totalSize, Integer pageNo) {
- this(totalSize, pageNo, null);
- }
-
- /**
- * 构造方法
- */
- public OnePage(Long totalSize, Integer pageNo, Integer pageSize) {
- // 总记录数
- if (null != totalSize) {
- if (totalSize < 0) {
- throw new RuntimeException("totalSize must be not less than zero!");
- }
- this.totalSize = totalSize;
- }
-
- // 当前页码
- if (null != pageNo) {
- if (pageNo < 0) {
- throw new RuntimeException("pageNo must be not less than zero!");
- }
- this.pageNo = pageNo;
- }
-
- // 当前页数据条数
- 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 totalSize == 0 ? 1 : (int) ((totalSize / pageSize) + (totalSize % pageSize == 0 ? 0 : 1));
- }
- /**
- * 功能: <br/>
- *
- * 重写:xtwin <br/>
- *
- * @version :2016年7月31日 上午9:27:27<br/>
- *
- * @return <br/>
- */
- @Override
- public long getTotalSize() {
- return totalSize;
- }
- /**
- * 功能: <br/>
- *
- * 重写:xtwin <br/>
- *
- * @version :2016年7月31日 上午9:27:27<br/>
- *
- * @return <br/>
- */
- @Override
- public int getPageNo() {
- return pageNo;
- }
- /**
- * 功能: <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 getPageNo() < getTotalNo();
- }
- /**
- * 功能: <br/>
- *
- * 重写:xtwin <br/>
- *
- * @version :2016年7月31日 上午9:27:27<br/>
- *
- * @return <br/>
- */
- @Override
- public boolean hasPrevious() {
- return getPageNo() > 1;
- }
- /**
- * @version 2016年7月31日-上午10:57:49
- */
- public void setPageNo(int pageNo) {
- this.pageNo = pageNo;
- }
- /**
- * @version 2016年7月31日-上午10:57:49
- */
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- /**
- * @version 2016年7月31日-上午10:57:49
- */
- public void setTotalSize(int totalSize) {
- /*if (totalSize < 0) {
- throw new AfwRuntimeException("totalSize must be not less than zero!");
- }*/
- this.totalSize = totalSize;
- }
-
- /**
- * 功能: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 long getStart() {
- return (getPageNo() - 1) * getPageSize();
- }
- }
|