package cn.com.basic.face.discern.common; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.xutils.http.annotation.HttpResponse; import cn.com.basic.face.base.BaseApplication; @HttpResponse(parser = JsonResponseParser.class) public class ResultBean { public static final String OK = "0"; public static final String APPLICATION_EXCEPTION = "-1"; private String code; private String message; private Object data; private int totalPages; private int pageNum; private Object extraData; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { if (data == null) { data = new ArrayList<>(); } return data; } public void setData(Object data) { this.data = data; } public T getBeanOfType(Class requiredType) { if (data != null) { if (data instanceof JSONObject) { JSONObject jsonObj = (JSONObject) data; return JSON.parseObject(jsonObj.toJSONString(), requiredType); } } return null; } public List getList(Class requiredType) { if (BaseApplication.getInstance().networkAvailable()) { if (data != null) { if (data instanceof JSONArray) { JSONArray jsonArray = (JSONArray) data; return JSON.parseArray(jsonArray.toJSONString(), requiredType); } } } else { List list = (List)getData(); if (list == null) { list = new ArrayList<>(); } return list; } return new ArrayList<>(); } public boolean isSuccess() { if (OK.equals(getCode())) { return true; } else { return false; } } public List getDataObject(Class requiredType) { return null; } public int getTotalPages() { return totalPages; } public void setTotalPages(int totalPages) { this.totalPages = totalPages; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageNum() { return pageNum; } public boolean hasMorePages() { return getPageNum() < getTotalPages(); } public Object getExtraData() { return extraData; } public void setExtraData(Object extraData) { this.extraData = extraData; } }