Class ScrollPager
-
- All Implemented Interfaces:
public abstract class ScrollPager<T>
滚动分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)
-
-
Method Summary
Modifier and Type Method Description static <T> ScrollPager<T>
fromImmutableIterable(@NonNull() Iterable<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变 Iterable 创建滚动分页工具. static <T> ScrollPager<T>
fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变数组创建滚动分页工具. static <T> ScrollPager<T>
fromMutableList(@NonNull() List<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 List 创建滚动分页工具. static <T> ScrollPager<T>
fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 NavigableSet 创建滚动分页工具. static <K, V> ScrollPager<Map.Entry<K, V>>
fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize, @Nullable() Predicate<Map.Entry<K, V>> filter)
根据一个可变 NavigableMap 创建滚动分页工具. final int
getPageSize()
获取分页大小 abstract void
resetOffset()
重置偏移 abstract void
toFinalOffset()
将偏移调整至最后一位 abstract void
moveOffset(int delta)
移动偏移 abstract void
moveOffsetByFilter(int delta)
根据过滤器移动偏移, 从当前偏移开始向前推进, 直至满足过滤器条件 abstract List<T>
getCurrentPageElements()
获取当前页的元素列表 int
getTotalPages()
获取总页数 abstract int
getTotalElements()
获取总元素数 abstract boolean
nextPage()
跳转到下一页(如果存在) abstract boolean
prevPage()
跳转到上一页(如果存在) abstract boolean
hasNextPage()
检查是否存在下一页 abstract boolean
hasPrevPage()
检查是否存在上一页 -
-
Method Detail
-
fromImmutableIterable
static <T> ScrollPager<T> fromImmutableIterable(@NonNull() Iterable<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变 Iterable 创建滚动分页工具. 元素顺序为迭代器遍历顺序. 此后对该 Iterable 的任何修改将无法反应到已创建的滚动分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页 IterablepageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
fromImmutableArray
static <T> ScrollPager<T> fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变数组创建滚动分页工具. 元素顺序为数组顺序. 此后对该数组的任何修改将无法反应到已创建的滚动分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页数组pageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
fromMutableList
static <T> ScrollPager<T> fromMutableList(@NonNull() List<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 List 创建滚动分页工具. 元素顺序为迭代器遍历顺序. 此后对该 List 的任何修改将即时反应于已创建的滚动分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页 ListpageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
fromMutableNavSet
static <T> ScrollPager<T> fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 NavigableSet 创建滚动分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableSet 的任何修改将即时反应于已创建的滚动分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页 SetpageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
fromMutableNavMap
static <K, V> ScrollPager<Map.Entry<K, V>> fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize, @Nullable() Predicate<Map.Entry<K, V>> filter)
根据一个可变 NavigableMap 创建滚动分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableMap 的任何修改将即时反应于已创建的滚动分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页 MappageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
getPageSize
final int getPageSize()
获取分页大小
- Returns:
分页大小
-
resetOffset
abstract void resetOffset()
重置偏移
-
toFinalOffset
abstract void toFinalOffset()
将偏移调整至最后一位
-
moveOffset
abstract void moveOffset(int delta)
移动偏移
- Parameters:
delta
- 偏移移动量
-
moveOffsetByFilter
abstract void moveOffsetByFilter(int delta)
根据过滤器移动偏移, 从当前偏移开始向前推进, 直至满足过滤器条件
- Parameters:
delta
- 偏移移动量
-
getCurrentPageElements
@NonNull() abstract List<T> getCurrentPageElements()
获取当前页的元素列表
-
getTotalPages
int getTotalPages()
获取总页数
-
getTotalElements
abstract int getTotalElements()
获取总元素数
-
nextPage
abstract boolean nextPage()
跳转到下一页(如果存在)
- Returns:
是否存在下一页
-
prevPage
abstract boolean prevPage()
跳转到上一页(如果存在)
- Returns:
是否存在上一页
-
hasNextPage
abstract boolean hasNextPage()
检查是否存在下一页
-
hasPrevPage
abstract boolean hasPrevPage()
检查是否存在上一页
-
-
-
-