123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.jtgh.yjpt.common;
- import java.io.Serializable;
- import org.springframework.data.domain.PageRequest;
- import org.springframework.data.domain.Pageable;
- import org.springframework.data.domain.Sort;
- import org.springframework.data.domain.Sort.Direction;
- /**
- * 分页处理对象,单字段排序
- *
- * @author 袁晓冬
- *
- */
- public class SinglePageRequest implements Pageable, Serializable {
- /** serialVersionUID */
- private static final long serialVersionUID = -8842412227660495154L;
- /** 当前页码 */
- private int page;
- /** 每页条数 */
- private int size;
- /** 排序方向 */
- private String direction;
- /** 排序字段 */
- private String sortField;
- public SinglePageRequest() {
- }
- public SinglePageRequest(int page, int size, String direction,
- String sortField) {
- this.page = page;
- this.size = size;
- this.direction = direction;
- this.sortField = sortField;
- }
- @Override
- public Pageable first() {
- return new SinglePageRequest(0, size, direction, sortField);
- }
- public String getDirection() {
- return direction;
- }
- @Override
- public int getOffset() {
- return page * size;
- }
- public int getPage() {
- return page;
- }
- @Override
- public int getPageNumber() {
- return page;
- }
- @Override
- public int getPageSize() {
- return size;
- }
- public int getSize() {
- return size;
- }
- @Override
- public Sort getSort() {
- return new Sort(Direction.fromString(direction),
- new String[] { sortField });
- }
- public String getSortField() {
- return sortField;
- }
- @Override
- public boolean hasPrevious() {
- return page > 0;
- }
- @Override
- public Pageable next() {
- return new PageRequest(page + 1, size, getSort());
- }
- @Override
- public Pageable previousOrFirst() {
- return hasPrevious() ? new PageRequest(page - 1, size, getSort())
- : this;
- }
- public void setDirection(String direction) {
- this.direction = direction;
- }
- public void setPage(int page) {
- this.page = page;
- }
- public void setSize(int size) {
- this.size = size;
- }
- public void setSortField(String sortField) {
- this.sortField = sortField;
- }
- @Override
- public String toString() {
- return "SinglePageRequest [page=" + page + ", size=" + size
- + ", direction=" + direction + ", sortField=" + sortField + "]";
- }
- }
|