Class CircularPager
-
- All Implemented Interfaces:
public abstract class CircularPager<T>
循环分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)
-
-
Method Summary
Modifier and Type Method Description static <T> CircularPager<T>
fromImmutableIterable(@NonNull() Iterable<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变 Iterable 创建循环分页工具. static <T> CircularPager<T>
fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变数组创建循环分页工具. static <T> CircularPager<T>
fromMutableList(@NonNull() List<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 List 创建循环分页工具. static <T> CircularPager<T>
fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个可变 NavigableSet 创建循环分页工具. static <K, V> CircularPager<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
moveOffset(int delta)
移动偏移 abstract List<T>
getCurrentPageElements()
获取当前页的元素列表 int
getTotalPages()
获取总页数 abstract int
getTotalElements()
获取总元素数 -
-
Method Detail
-
fromImmutableIterable
static <T> CircularPager<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> CircularPager<T> fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)
根据一个不可变数组创建循环分页工具. 元素顺序为数组顺序. 此后对该数组的任何修改将无法反应到已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.
- Parameters:
handle
- 待分页数组pageSize
- 页大小filter
- 元素过滤器- Returns:
分页工具
-
fromMutableList
static <T> CircularPager<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> CircularPager<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> CircularPager<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()
重置偏移
-
moveOffset
abstract void moveOffset(int delta)
移动偏移
- Parameters:
delta
- 偏移移动量
-
getCurrentPageElements
@NonNull() abstract List<T> getCurrentPageElements()
获取当前页的元素列表
-
getTotalPages
int getTotalPages()
获取总页数
-
getTotalElements
abstract int getTotalElements()
获取总元素数
-
-
-
-