package ua.kpi.ecampus.api.response; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; /** * Represent a single data type for using it as response in loaders. * This type can persists a query result. If its necessary to do something * for a particular query, the new class must be inherited from this class * and override / add methods. * <p> * Created by Administrator on 09.02.2016. */ public class BaseResponse { @Nullable private Object mAnswer; private RequestResult mRequestResult; private int mStatusCode; public BaseResponse() { mRequestResult = RequestResult.ERROR; } @NonNull public RequestResult getRequestResult() { return mRequestResult; } public BaseResponse setRequestResult(RequestResult requestResult) { mRequestResult = requestResult; return this; } @Nullable public <T> T getTypedAnswer() { if (mAnswer == null) { return null; } //noinspection unchecked return (T) mAnswer; } public BaseResponse setAnswer(@Nullable Object answer) { mAnswer = answer; return this; } public int getStatusCode() { return mStatusCode; } public BaseResponse setStatusCode(int code) { mStatusCode = code; return this; } public void save(Context context) { } }