package me.hao0.antares.store.util; import java.util.HashMap; import java.util.Map; /** * The paging util */ public class Paging<T> { private Integer offset; private Integer limit; public Paging() { this(1, 20); } public Paging(Integer pageNo, Integer pageSize) { this(pageNo, pageSize, Integer.MAX_VALUE); } public Paging(Integer pageNo, Integer pageSize, Integer maxPageSize) { pageNo = pageNo == null || pageNo < 0 ? 1 : pageNo; pageSize = pageSize == null || pageSize < 0 ? 20 : pageSize; pageSize = pageSize > maxPageSize ? maxPageSize : pageSize; limit = pageSize > 0 ? pageSize : 20; offset = (pageNo - 1) * pageSize; } public static Paging of(Integer pageNo, Integer pageSize) { return new Paging(pageNo, pageSize); } public Integer getOffset() { return offset; } public void setOffset(Integer offset) { this.offset = offset; } public Integer getLimit() { return limit; } public void setLimit(Integer limit) { this.limit = limit; } public Map<String, Integer> toMap() { Map<String, Integer> map = new HashMap<>(); map.put("offset", offset); map.put("limit", limit); return map; } }