|
|
@@ -1,6 +1,6 @@
|
|
|
package cn.reghao.jutil.jdk.db;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
@@ -11,83 +11,74 @@ import java.util.List;
|
|
|
*/
|
|
|
public class PageList<T> {
|
|
|
// 当前页
|
|
|
+ private final int pageNumber;
|
|
|
+ // 每页大小
|
|
|
+ private final int pageSize;
|
|
|
+ // 总页数
|
|
|
+ private final int totalPages;
|
|
|
+ // 总记录数量
|
|
|
+ private final int totalSize;
|
|
|
+ // 是否最后一页
|
|
|
+ private final boolean hasNext;
|
|
|
+ // 当前页元素
|
|
|
+ private final List<T> list;
|
|
|
+
|
|
|
+ // 当前页
|
|
|
+ @Deprecated
|
|
|
private int page;
|
|
|
// 当前页大小
|
|
|
+ @Deprecated
|
|
|
private int size;
|
|
|
// 根据当前页大小计算得出的总页数
|
|
|
- private int pages;
|
|
|
- // 总记录数量
|
|
|
- private int total;
|
|
|
- // 每页大小
|
|
|
@Deprecated
|
|
|
- private int pageSize;
|
|
|
+ private int pages;
|
|
|
// 总数量
|
|
|
@Deprecated
|
|
|
- private long totalSize;
|
|
|
- // 总页数
|
|
|
- @Deprecated
|
|
|
- private int totalPages;
|
|
|
- // 是否最后一页
|
|
|
- private boolean hasNext;
|
|
|
- private List<T> list;
|
|
|
-
|
|
|
- public int getPageSize() {
|
|
|
- return pageSize;
|
|
|
- }
|
|
|
+ private int total;
|
|
|
|
|
|
- public void setPageSize(int pageSize) {
|
|
|
+ private PageList(int pageNumber, int pageSize, int totalSize, List<T> list) {
|
|
|
+ this.pageNumber = pageNumber;
|
|
|
this.pageSize = pageSize;
|
|
|
+ this.totalSize = totalSize;
|
|
|
+ this.totalPages = totalSize/pageSize + (totalSize%pageSize != 0 ? 1 : 0);
|
|
|
+ this.list = list;
|
|
|
+ this.hasNext = (total - pageSize*pageNumber > 0);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- public long getTotalSize() {
|
|
|
- return totalSize;
|
|
|
+ public int getPageNumber() {
|
|
|
+ return pageNumber;
|
|
|
}
|
|
|
|
|
|
- public void setTotalSize(long totalSize) {
|
|
|
- this.totalSize = totalSize;
|
|
|
+ public int getPageSize() {
|
|
|
+ return pageSize;
|
|
|
}
|
|
|
|
|
|
public int getTotalPages() {
|
|
|
return totalPages;
|
|
|
}
|
|
|
|
|
|
- public void setTotalPages(int totalPages) {
|
|
|
- this.totalPages = totalPages;
|
|
|
+ public long getTotalSize() {
|
|
|
+ return totalSize;
|
|
|
}
|
|
|
|
|
|
- public boolean isHasNext() {
|
|
|
+ public boolean hasNext() {
|
|
|
return hasNext;
|
|
|
}
|
|
|
|
|
|
- public void setHasNext(boolean hasNext) {
|
|
|
- this.hasNext = hasNext;
|
|
|
- }
|
|
|
-
|
|
|
public List<T> getList() {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- public void setList(List<T> list) {
|
|
|
- this.list = list;
|
|
|
- }
|
|
|
-
|
|
|
public static <T> PageList<T> empty() {
|
|
|
- PageList<T> pageList = new PageList<>();
|
|
|
- pageList.setPageSize(0);
|
|
|
- pageList.setTotalSize(0);
|
|
|
- pageList.setTotalPages(0);
|
|
|
- pageList.setHasNext(false);
|
|
|
- pageList.setList(new ArrayList<>());
|
|
|
- return pageList;
|
|
|
+ return new PageList<>(1, 0, 0, Collections.emptyList());
|
|
|
}
|
|
|
|
|
|
public static <T> PageList<T> pageList(List<T> list) {
|
|
|
- PageList<T> pageList = new PageList<>();
|
|
|
- pageList.setPageSize(list.size());
|
|
|
- pageList.setTotalSize(list.size());
|
|
|
- pageList.setTotalPages(list.size());
|
|
|
- pageList.setHasNext(true);
|
|
|
- pageList.setList(list);
|
|
|
- return pageList;
|
|
|
+ return new PageList<>(1, 0, 0, Collections.emptyList());
|
|
|
+ }
|
|
|
+
|
|
|
+ public static <T> PageList<T> pageList(int pageNumber, int pageSize, int total, List<T> list) {
|
|
|
+ return new PageList<>(pageNumber, pageSize, total, list);
|
|
|
}
|
|
|
}
|