package yuku.afw.rpc; import yuku.afw.rpc.Request.Method; public class Response { public static final String TAG = Response.class.getSimpleName(); public enum Validity { Ok, Cancelled, JsonError, IoError, ProcessError, } public Validity validity; public final int code; public final Request request; public final String message; public final byte[] data; public Response(Request request, Validity validity, String message) { this.request = request; this.validity = validity; this.code = 0; this.message = message; this.data = null; } /** for {@link Method#GET_RAW} */ public Response(Request request, byte[] raw, int code) { this.request = request; this.validity = Validity.Ok; this.code = 0; this.message = null; this.data = raw; } @SuppressWarnings("unchecked") public <T> T getData() { return (T) data; } @Override public String toString() { return "Response{" + validity + " " + code + " message=" + message + " data=" + (data == null? "null": "len " + data.length) + "}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } }