package org.langke.common.server.resp; import java.io.Serializable; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; import org.langke.common.Strings; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; public class Resp implements Serializable { private static final long serialVersionUID = 34543654757L; protected transient List<String> warningList = null; private RespData respData = new RespData(); public Resp() { } public Resp(String content) { super(); respData.setContent(content); } public Resp(RespData data) { respData = data; } public RespData getRespData() { return respData; } public void setRespData(RespData respData) { this.respData = respData; } public ChannelBuffer body(){ return ChannelBuffers.copiedBuffer(JSONObject.toJSONString(respData.getContent(), SerializerFeature.BrowserCompatible), Charset.forName("UTF-8")); } public ChannelBuffer toJson() { return ChannelBuffers.copiedBuffer(JSONObject.toJSONString(respData, SerializerFeature.BrowserCompatible), Charset.forName("UTF-8")); } public void addWarning(String s) { if (s == null || s.trim().equals("")) { return; } if (warningList == null) { warningList = new ArrayList<String>(4); } warningList.add(s); } protected void addWarnings(StringBuilder sb) { if (this.warningList != null && warningList.size() > 0) { Strings.quoteSafeJson(sb, "warnings"); sb.append(":["); for (String s : warningList) { if (s != null) { Strings.quoteSafeJson(sb, s); sb.append(","); } } sb.setCharAt(sb.length() - 1, ']'); } } public String toString() { return this.toJson().toString(Charset.forName("UTF-8")); } }