package com.baidu.dsp.common.form; import java.io.Serializable; import javax.validation.Valid; import com.baidu.dsp.common.constant.FrontEndInterfaceConstant; import com.baidu.dsp.common.constraint.PageOrderConstraint; import com.baidu.dsp.common.constraint.validation.PageOrderValidator; import com.baidu.ub.common.commons.ThreadContext; /** * 所有的List请求的基类 * * @author liaoqiqi * @version 2013-12-4 */ public abstract class RequestListBase implements Serializable { /** * */ private static final long serialVersionUID = 7999737352570996142L; @Valid private Page page = new Page(); public Page getPage() { return page; } public void setPage(Page page) { this.page = page; } public int getPageNo() { return page.pageNo; } public int getPageSize() { return page.pageSize; } public String getOrderBy() { return page.orderBy; } public String getOrder() { return page.order; } /** * Page对象,通过ThreadContext存储FE传进来的参数数据 * * @author liaoqiqi * @version 2013-12-4 */ public class Page implements Serializable { /** * */ private static final long serialVersionUID = -5120153163445183415L; public static final String ORDER_TOKEN = ","; private int pageNo = 0; private int pageSize = 99999999; private String orderBy = null; @PageOrderConstraint private String order = PageOrderValidator.DESC; public boolean isAsc() { return order.equals(PageOrderValidator.ASC); } public int getPageNo() { return pageNo; } public void setPageNo(int pageNo) { this.pageNo = pageNo; ThreadContext.putContext(FrontEndInterfaceConstant.PAGE_NO, pageNo); } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; ThreadContext.putContext(FrontEndInterfaceConstant.PAGE_SIZE, pageSize); } public String getOrderBy() { return orderBy; } public void setOrderBy(String orderBy) { this.orderBy = orderBy; ThreadContext.putContext(FrontEndInterfaceConstant.PAGE_ORDER_BY, orderBy); } public String getOrder() { return order; } public void setOrder(String order) { this.order = order; ThreadContext.putContext(FrontEndInterfaceConstant.PAGE_ORDER, order); } } }