import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; /** * 请求参数类 * */ public class QueryParameter { public static final String ASC = "asc"; public static final String DESC = "desc"; protected int pageNo = 1; protected int pageSize = 1; protected String orderBy = null; protected String order = "asc"; protected boolean autoCount = false; protected Map<String, String> alias = new HashMap<String, String>(); public int getPageSize() { return this.pageSize; } public void setPageSize(int pageSize) { if (pageSize < 1) { pageSize = 1; } this.pageSize = pageSize; } public boolean isPageSizeSetted() { return (this.pageSize > -1); } public int getPageNo() { return this.pageNo; } public void setPageNo(int pageNo) { if(pageNo < 1){ pageNo = 1; } this.pageNo = pageNo; } public int getFirst() { if ((this.pageNo < 1) || (this.pageSize < 1)){ return 1; } return ((this.pageNo - 1) * this.pageSize) + 1; } public boolean isFirstSetted() { return ((this.pageNo > 0) && (this.pageSize > 0)); } public String getOrderBy() { return this.orderBy; } public void setOrderBy(String orderBy) { this.orderBy = orderBy; } public boolean isOrderBySetted() { return StringUtils.isNotBlank(this.orderBy); } public String getOrder() { return this.order; } public void setOrder(String order) { order = StringUtils.lowerCase(order); String[] orders = StringUtils.split(order, ','); for (String orderStr : orders) { if (!StringUtils.equals(DESC, orderStr) && !StringUtils.equals(ASC, orderStr)) throw new IllegalArgumentException("排序方向" + orderStr + "不是合法值"); } this.order = order.trim(); } public boolean isAutoCount() { return this.autoCount; } public void setAutoCount(boolean autoCount) { this.autoCount = autoCount; } public void addAlias(String name, String alias) { this.alias.put(name, alias); } public boolean hasAlias() { return (!(this.alias.isEmpty())); } public Map<String, String> getAlias() { return this.alias; } }