SinglePageRequest.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.jtgh.yjpt.common;
  2. import java.io.Serializable;
  3. import org.springframework.data.domain.PageRequest;
  4. import org.springframework.data.domain.Pageable;
  5. import org.springframework.data.domain.Sort;
  6. import org.springframework.data.domain.Sort.Direction;
  7. /**
  8. * 分页处理对象,单字段排序
  9. *
  10. * @author 袁晓冬
  11. *
  12. */
  13. public class SinglePageRequest implements Pageable, Serializable {
  14. /** serialVersionUID */
  15. private static final long serialVersionUID = -8842412227660495154L;
  16. /** 当前页码 */
  17. private int page;
  18. /** 每页条数 */
  19. private int size;
  20. /** 排序方向 */
  21. private String direction;
  22. /** 排序字段 */
  23. private String sortField;
  24. public SinglePageRequest() {
  25. }
  26. public SinglePageRequest(int page, int size, String direction,
  27. String sortField) {
  28. this.page = page;
  29. this.size = size;
  30. this.direction = direction;
  31. this.sortField = sortField;
  32. }
  33. @Override
  34. public Pageable first() {
  35. return new SinglePageRequest(0, size, direction, sortField);
  36. }
  37. public String getDirection() {
  38. return direction;
  39. }
  40. @Override
  41. public int getOffset() {
  42. return page * size;
  43. }
  44. public int getPage() {
  45. return page;
  46. }
  47. @Override
  48. public int getPageNumber() {
  49. return page;
  50. }
  51. @Override
  52. public int getPageSize() {
  53. return size;
  54. }
  55. public int getSize() {
  56. return size;
  57. }
  58. @Override
  59. public Sort getSort() {
  60. return new Sort(Direction.fromString(direction),
  61. new String[] { sortField });
  62. }
  63. public String getSortField() {
  64. return sortField;
  65. }
  66. @Override
  67. public boolean hasPrevious() {
  68. return page > 0;
  69. }
  70. @Override
  71. public Pageable next() {
  72. return new PageRequest(page + 1, size, getSort());
  73. }
  74. @Override
  75. public Pageable previousOrFirst() {
  76. return hasPrevious() ? new PageRequest(page - 1, size, getSort())
  77. : this;
  78. }
  79. public void setDirection(String direction) {
  80. this.direction = direction;
  81. }
  82. public void setPage(int page) {
  83. this.page = page;
  84. }
  85. public void setSize(int size) {
  86. this.size = size;
  87. }
  88. public void setSortField(String sortField) {
  89. this.sortField = sortField;
  90. }
  91. @Override
  92. public String toString() {
  93. return "SinglePageRequest [page=" + page + ", size=" + size
  94. + ", direction=" + direction + ", sortField=" + sortField + "]";
  95. }
  96. }