Module bus.pager

Class Paginating<T>

java.lang.Object
org.miaixz.bus.pager.Serialize<T>
org.miaixz.bus.pager.Paginating<T>
Type Parameters:
T - 分页数据元素类型
All Implemented Interfaces:
Serializable

public class Paginating<T> extends Serialize<T>
对Page结果进行包装,新增分页相关属性以支持导航和页面信息展示。
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

    • DEFAULT_NAVIGATE_PAGES

      public static final int DEFAULT_NAVIGATE_PAGES
      默认导航页码数
      See Also:
  • Constructor Details

    • Paginating

      public Paginating()
      默认构造函数。
    • Paginating

      public Paginating(List<? extends T> list)
      构造函数,包装分页结果。
      Parameters:
      list - 分页结果列表
    • Paginating

      public Paginating(List<? extends T> list, int navigatePages)
      构造函数,包装分页结果并指定导航页码数。
      Parameters:
      list - 分页结果列表
      navigatePages - 导航页码数
  • Method Details

    • of

      public static <T> Paginating<T> of(List<? extends T> list)
      静态工厂方法,创建Paginating对象。
      Type Parameters:
      T - 分页数据元素类型
      Parameters:
      list - 分页结果列表
      Returns:
      Paginating对象
    • of

      public static <T> Paginating<T> of(long total, List<? extends T> list)
      静态工厂方法,创建Paginating对象并指定总记录数。
      Type Parameters:
      T - 分页数据元素类型
      Parameters:
      total - 总记录数
      list - 分页结果列表
      Returns:
      Paginating对象
    • of

      public static <T> Paginating<T> of(List<? extends T> list, int navigatePages)
      静态工厂方法,创建Paginating对象并指定导航页码数。
      Type Parameters:
      T - 分页数据元素类型
      Parameters:
      list - 分页结果列表
      navigatePages - 导航页码数
      Returns:
      Paginating对象
    • emptyPageInfo

      public static <T> Paginating<T> emptyPageInfo()
      静态工厂方法,返回空的Paginating对象。
      Type Parameters:
      T - 分页数据元素类型
      Returns:
      空的Paginating对象
    • calcByNavigatePages

      public void calcByNavigatePages(int navigatePages)
      根据导航页码数计算分页属性。
      Parameters:
      navigatePages - 导航页码数
    • convert

      public <E> Paginating<E> convert(org.miaixz.bus.core.center.function.FunctionX<T,E> function)
      转换分页数据类型。
      Type Parameters:
      E - 目标数据类型
      Parameters:
      function - 数据转换函数
      Returns:
      转换后的Paginating对象
    • hasContent

      public boolean hasContent()
      检查是否包含数据。
      Returns:
      若包含数据返回true,否则返回false
    • getPageNo

      public int getPageNo()
      获取当前页码。
      Returns:
      当前页码
    • setPageNo

      public void setPageNo(int pageNo)
      设置当前页码。
      Parameters:
      pageNo - 当前页码
    • getPageSize

      public int getPageSize()
      获取每页记录数。
      Returns:
      每页记录数
    • setPageSize

      public void setPageSize(int pageSize)
      设置每页记录数。
      Parameters:
      pageSize - 每页记录数
    • getSize

      public int getSize()
      获取当前页记录数。
      Returns:
      当前页记录数
    • setSize

      public void setSize(int size)
      设置当前页记录数。
      Parameters:
      size - 当前页记录数
    • getStartRow

      public long getStartRow()
      获取当前页面第一个元素的行号。
      Returns:
      第一个元素的行号
    • setStartRow

      public void setStartRow(long startRow)
      设置当前页面第一个元素的行号。
      Parameters:
      startRow - 第一个元素的行号
    • getEndRow

      public long getEndRow()
      获取当前页面最后一个元素的行号。
      Returns:
      最后一个元素的行号
    • setEndRow

      public void setEndRow(long endRow)
      设置当前页面最后一个元素的行号。
      Parameters:
      endRow - 最后一个元素的行号
    • getPages

      public int getPages()
      获取总页数。
      Returns:
      总页数
    • setPages

      public void setPages(int pages)
      设置总页数。
      Parameters:
      pages - 总页数
    • getPrePage

      public int getPrePage()
      获取前一页页码。
      Returns:
      前一页页码
    • setPrePage

      public void setPrePage(int prePage)
      设置前一页页码。
      Parameters:
      prePage - 前一页页码
    • getNextPage

      public int getNextPage()
      获取下一页页码。
      Returns:
      下一页页码
    • setNextPage

      public void setNextPage(int nextPage)
      设置下一页页码。
      Parameters:
      nextPage - 下一页页码
    • isIsFirstPage

      public boolean isIsFirstPage()
      是否为第一页。
      Returns:
      若为第一页返回true
    • setIsFirstPage

      public void setIsFirstPage(boolean isFirstPage)
      设置是否为第一页。
      Parameters:
      isFirstPage - 是否为第一页
    • isIsLastPage

      public boolean isIsLastPage()
      是否为最后一页。
      Returns:
      若为最后一页返回true
    • setIsLastPage

      public void setIsLastPage(boolean isLastPage)
      设置是否为最后一页。
      Parameters:
      isLastPage - 是否为最后一页
    • isHasPreviousPage

      public boolean isHasPreviousPage()
      是否有前一页。
      Returns:
      若有前一页返回true
    • setHasPreviousPage

      public void setHasPreviousPage(boolean hasPreviousPage)
      设置是否有前一页。
      Parameters:
      hasPreviousPage - 是否有前一页
    • isHasNextPage

      public boolean isHasNextPage()
      是否有下一页。
      Returns:
      若有下一页返回true
    • setHasNextPage

      public void setHasNextPage(boolean hasNextPage)
      设置是否有下一页。
      Parameters:
      hasNextPage - 是否有下一页
    • getNavigatePages

      public int getNavigatePages()
      获取导航页码数。
      Returns:
      导航页码数
    • setNavigatePages

      public void setNavigatePages(int navigatePages)
      设置导航页码数。
      Parameters:
      navigatePages - 导航页码数
    • getNavigatepageNo

      public int[] getNavigatepageNo()
      获取导航页码数组。
      Returns:
      导航页码数组
    • setNavigatepageNo

      public void setNavigatepageNo(int[] navigatepageNo)
      设置导航页码数组。
      Parameters:
      navigatepageNo - 导航页码数组
    • getNavigateFirstPage

      public int getNavigateFirstPage()
      获取导航条上的第一页。
      Returns:
      导航第一页
    • setNavigateFirstPage

      public void setNavigateFirstPage(int navigateFirstPage)
      设置导航条上的第一页。
      Parameters:
      navigateFirstPage - 导航第一页
    • getNavigateLastPage

      public int getNavigateLastPage()
      获取导航条上的最后一页。
      Returns:
      导航最后一页
    • setNavigateLastPage

      public void setNavigateLastPage(int navigateLastPage)
      设置导航条上的最后一页。
      Parameters:
      navigateLastPage - 导航最后一页
    • toString

      public String toString()
      返回Paginating对象的字符串表示。
      Overrides:
      toString in class Serialize<T>
      Returns:
      字符串表示