Class Pager
-
- All Implemented Interfaces:
public abstract class Pager<T>分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)
-
-
Method Summary
Modifier and Type Method Description static <T> Pager<T>fromImmutableList(@NonNull() List<T> handle, int pageSize, boolean clone)根据一个不可变 List 创建分页工具. static <T> Pager<T>fromImmutableArray(Array<T> handle, int pageSize)根据一个不可变数组创建分页工具. static <T> Pager<T>fromImmutableSet(@NonNull() Set<T> handle, int pageSize)根据一个不可变 Set 创建分页工具. static <K, V> Pager<Map.Entry<K, V>>fromImmutableMap(@NonNull() Map<K, V> handle, int pageSize)根据一个不可变 Map 创建分页工具. static <T> Pager<T>fromMutableList(@NonNull() List<T> handle, int pageSize)根据一个可变 List 创建分页工具. static <T> Pager<T>fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize)根据一个可变 NavigableSet 创建分页工具. static <K, V> Pager<Map.Entry<K, V>>fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize)根据一个可变 NavigableMap 创建分页工具. intgetPageSize()获取分页大小 booleanfirstPage()跳转到第一页(如果存在) booleanlastPage()跳转到最后一页(如果存在) abstract booleannextPage()跳转到下一页(如果存在) abstract booleanprevPage()跳转到上一页(如果存在) abstract booleangoToPage(int page)跳转到指定页 abstract intgetCurrentPage()获取当前页码(从1开始) abstract List<T>getCurrentPageElements()获取当前页的元素列表 abstract booleanhasNextPage()检查是否存在下一页 abstract booleanhasPrevPage()检查是否存在上一页 intgetTotalPages()获取总页数 abstract intgetTotalElements()获取总元素数 -
-
Method Detail
-
fromImmutableList
static <T> Pager<T> fromImmutableList(@NonNull() List<T> handle, int pageSize, boolean clone)
根据一个不可变 List 创建分页工具. 元素顺序为迭代器遍历顺序. 如果 clone 项为 true, 此后对该 List 的任何修改将无法反应到已创建的分页工具中. 如果 clone 项为 false, 此后对该 List 的任何修改将导致不可预知的错误. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 ListpageSize- 页大小clone- 是否对传入的 List 进行复制- Returns:
分页工具
-
fromImmutableArray
static <T> Pager<T> fromImmutableArray(Array<T> handle, int pageSize)
根据一个不可变数组创建分页工具. 元素顺序为数组顺序. 此后对该数组的任何修改将无法反应到已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页数组pageSize- 页大小- Returns:
分页工具
-
fromImmutableSet
static <T> Pager<T> fromImmutableSet(@NonNull() Set<T> handle, int pageSize)
根据一个不可变 Set 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 Set 的任何修改将无法反应到已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 SetpageSize- 页大小- Returns:
分页工具
-
fromImmutableMap
static <K, V> Pager<Map.Entry<K, V>> fromImmutableMap(@NonNull() Map<K, V> handle, int pageSize)
根据一个不可变 Map 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 Map 的任何修改将无法反应到已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 MappageSize- 页大小- Returns:
分页工具
-
fromMutableList
static <T> Pager<T> fromMutableList(@NonNull() List<T> handle, int pageSize)
根据一个可变 List 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 List 的任何修改将即时反应于已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 ListpageSize- 页大小- Returns:
分页工具
-
fromMutableNavSet
static <T> Pager<T> fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize)
根据一个可变 NavigableSet 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableSet 的任何修改将即时反应于已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 SetpageSize- 页大小- Returns:
分页工具
-
fromMutableNavMap
static <K, V> Pager<Map.Entry<K, V>> fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize)
根据一个可变 NavigableMap 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableMap 的任何修改将即时反应于已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle- 待分页 MappageSize- 页大小- Returns:
分页工具
-
getPageSize
int getPageSize()
获取分页大小
- Returns:
分页大小
-
firstPage
boolean firstPage()
跳转到第一页(如果存在)
- Returns:
是否存在任意元素
-
lastPage
boolean lastPage()
跳转到最后一页(如果存在)
- Returns:
是否存在任意元素
-
nextPage
abstract boolean nextPage()
跳转到下一页(如果存在)
- Returns:
是否存在下一页
-
prevPage
abstract boolean prevPage()
跳转到上一页(如果存在)
- Returns:
是否存在上一页
-
goToPage
abstract boolean goToPage(int page)
跳转到指定页
- Parameters:
page- 目标页码(从1开始)- Returns:
页码是否有效
-
getCurrentPage
abstract int getCurrentPage()
获取当前页码(从1开始)
-
getCurrentPageElements
@NonNull() abstract List<T> getCurrentPageElements()
获取当前页的元素列表
-
hasNextPage
abstract boolean hasNextPage()
检查是否存在下一页
-
hasPrevPage
abstract boolean hasPrevPage()
检查是否存在上一页
-
getTotalPages
int getTotalPages()
获取总页数
-
getTotalElements
abstract int getTotalElements()
获取总元素数
-
-
-
-