Class Pager

  • All Implemented Interfaces:

    
    public abstract class Pager<T>
    
                        

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

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Constructor Detail

    • 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 - 待分页 List
        pageSize - 页大小
        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 - 待分页 Set
        pageSize - 页大小
        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 - 待分页 Map
        pageSize - 页大小
        Returns:

        分页工具

      • fromMutableList

         static <T> Pager<T> fromMutableList(@NonNull() List<T> handle, int pageSize)

        根据一个可变 List 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 List 的任何修改将即时反应于已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 List
        pageSize - 页大小
        Returns:

        分页工具

      • fromMutableNavSet

         static <T> Pager<T> fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize)

        根据一个可变 NavigableSet 创建分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableSet 的任何修改将即时反应于已创建的分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 Set
        pageSize - 页大小
        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 - 待分页 Map
        pageSize - 页大小
        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开始)

      • hasNextPage

         abstract boolean hasNextPage()

        检查是否存在下一页

      • hasPrevPage

         abstract boolean hasPrevPage()

        检查是否存在上一页