package cn.jeesoft.core.model; import java.util.Date; import java.util.List; import cn.jeesoft.core.model.BaseBean.Sort; import cn.jeesoft.core.utils.ClassUtils; import cn.jeesoft.core.utils.DateUtils; import cn.jeesoft.mvc.Config; /** * 分页模型 * @author king * @param <M> 返回数据类型 * @param <Q> 查询条件类型 */ public class PagerModel<M extends BaseBean, Q extends BaseBean> implements ClearBean { private int total; // 总数 private int pageSize = Config.PAGE_SIZE;// 每页显示记录数 private int pageCount;// 总页数 private int offset; // 偏移量 private Q query; // 查询条件 private String orderby; // 排序条件 private Sort sort; // 排序方式 private Date startTime; private Date endTime; private List<M> list; // 分页数据集合 public void clear() { total = 0; pageSize = Config.PAGE_SIZE; pageCount = 0; offset = 0; query = null; list = null; orderby = null; sort = null; startTime = null; endTime = null; } @Override public String toString() { return "total="+total+",offset="+offset+",query="+query+",orderby="+orderby+",sort="+sort +", startTime="+DateUtils.format(startTime)+", endTime="+DateUtils.format(endTime) +",list="+(list==null?"null":list.size()); } @SuppressWarnings("unchecked") public Q createQueryBean() { Q bean = null; try { bean = (Q) ClassUtils.newInstance(ClassUtils.getGenericSuperclass(getClass())[1]); } catch (Exception e) { } return bean; } /* * getter\setter */ public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getOffset() { return offset; } public void setOffset(int offset) { this.offset = offset; } public List<M> getList() { return list; } public void setList(List<M> list) { this.list = list; } public Q getQuery() { return query; } public String getOrderby() { return orderby; } public void setOrderby(String orderby) { this.orderby = orderby; } public Sort getSort() { return sort; } public void setSort(Sort sort) { this.sort = sort; } public void setQuery(Q query) { this.query = query; } }