
org.nutz.spring.boot.service.entity.Pagination Maven / Gradle / Ivy
package org.nutz.spring.boot.service.entity;
import java.io.Serializable;
import java.util.List;
import org.nutz.lang.Lang;
import org.nutz.lang.util.NutMap;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
*
* @author Kerbores([email protected])
*
* @param
* 实体类型
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false, of = {"paras", "dataList"})
public class Pagination extends org.nutz.dao.pager.Pager {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 分页参数(带有一堆参数的分页)
*/
private NutMap paras;
/**
* 数据列表
*/
@NotNull(message = "数据列表非空,没有数据时为空列表")
@Default
private List dataList = Lang.list();
/**
* @param page
* 页面
* @param pageSize
* 页面大小
*/
public Pagination(int page, int pageSize) {
super(page, pageSize);
}
public static Pagination instance() {
return Pagination. builder()
.build();
}
public static Pagination instance(int page, int pageSize) {
return Pagination. builder()
.build()
.page(page)
.size(pageSize);
}
public static Pagination instance(List dataList) {
return Pagination. builder()
.dataList(dataList)
.build();
}
public Pagination dataList(List dataList) {
setDataList(dataList);
return this;
}
public Pagination page(int page) {
setPageNumber(page);
return this;
}
public Pagination size(int size) {
setPageSize(size);
return this;
}
public Pagination recordCount(int recordCount) {
setRecordCount(recordCount);
return this;
}
/**
* 添加参数
*
* @param key
* 参数key
* @param value
* 参数值
* @return 当前分页对象
*/
public Pagination addParam(String key, Object value) {
if (this.paras == null) {
this.paras = NutMap.NEW();
}
this.paras.addv(key, value);
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy