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 创建分页工具. int
getPageSize()
获取分页大小 boolean
firstPage()
跳转到第一页(如果存在) boolean
lastPage()
跳转到最后一页(如果存在) abstract boolean
nextPage()
跳转到下一页(如果存在) abstract boolean
prevPage()
跳转到上一页(如果存在) abstract boolean
goToPage(int page)
跳转到指定页 abstract int
getCurrentPage()
获取当前页码(从1开始) abstract List<T>
getCurrentPageElements()
获取当前页的元素列表 abstract boolean
hasNextPage()
检查是否存在下一页 abstract boolean
hasPrevPage()
检查是否存在上一页 int
getTotalPages()
获取总页数 abstract int
getTotalElements()
获取总元素数 -
-
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()
获取总元素数
-
-
-
-