importjava.io.UnsupportedEncodingException;importjava.net.URLEncoder;importjava.util.Iterator;importjava.util.List;importnet.sf.json.JSONObject;/*** 分页类
*@authorrubekid
*
*@param*/
public class Page extendsQueryParameter {public static final int PAGE_SIZE = 20;private List result = null;private long totalCount = -1;private JSONObject queryParams = newJSONObject();publicPage() {
setPageSize(PAGE_SIZE);
}public Page(intpageSize) {
setPageSize(pageSize);
}public Page(int pageSize, booleanautoCount) {
setPageSize(pageSize);this.autoCount =autoCount;
}/*** 获取反向排序
*@return
*/
publicString getInverseOrder() {if (order.endsWith("desc")){return "asc";
}return "desc";
}public ListgetResult() {returnresult;
}public void setResult(Listresult) {this.result =result;
}public longgetTotalCount() {return this.totalCount;
}public void setTotalCount(longtotalCount) {this.totalCount =totalCount;
}public longgetTotalPages() {if (totalCount < 0){return -1;
}long count = totalCount /pageSize;if (totalCount % pageSize > 0){
count++;
}returncount;
}public booleanisHasNext() {return (pageNo + 1 <=getTotalPages());
}public intgetNextPage() {if(isHasNext()){return pageNo + 1;
}return this.pageNo;
}public booleanisHasPre() {return (pageNo - 1 >= 1);
}public intgetPrePage() {if(isHasPre()){return pageNo - 1;
}returnpageNo;
}public voidaddQueryParam(String key, Object value) {
queryParams.put(key, value);
}
@SuppressWarnings("unchecked")public String getQueryString() throwsUnsupportedEncodingException{
String result= "";for (Iterator iterator =queryParams.keys(); iterator.hasNext();) {
String key=iterator.next();
result+= key + "=" + URLEncoder.encode(queryParams.getString(key), "utf-8") + "&";
}if (result.length() > 0){
result= result.substring(0, result.length() - 1);
}returnresult;
}publicString getQueryParamString() {returnqueryParams.toString();
}public voidsetQueryString(String queryString) {
queryParams=JSONObject.fromObject(queryString);
}publicJSONObject getQueryParams() {returnqueryParams;
}
}