Class ScrollPager

  • All Implemented Interfaces:

    
    public abstract class ScrollPager<T>
    
                        

    滚动分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)

    • Constructor Detail

    • 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 - 待分页 Iterable
        pageSize - 页大小
        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 - 待分页 List
        pageSize - 页大小
        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 - 待分页 Set
        pageSize - 页大小
        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 - 待分页 Map
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • getPageSize

         final int getPageSize()

        获取分页大小

        Returns:

        分页大小

      • toFinalOffset

         abstract void toFinalOffset()

        将偏移调整至最后一位

      • moveOffset

         abstract void moveOffset(int delta)

        移动偏移

        Parameters:
        delta - 偏移移动量
      • moveOffsetByFilter

         abstract void moveOffsetByFilter(int delta)

        根据过滤器移动偏移, 从当前偏移开始向前推进, 直至满足过滤器条件

        Parameters:
        delta - 偏移移动量
      • nextPage

         abstract boolean nextPage()

        跳转到下一页(如果存在)

        Returns:

        是否存在下一页

      • prevPage

         abstract boolean prevPage()

        跳转到上一页(如果存在)

        Returns:

        是否存在上一页

      • hasNextPage

         abstract boolean hasNextPage()

        检查是否存在下一页

      • hasPrevPage

         abstract boolean hasPrevPage()

        检查是否存在上一页