1 package com.moiseum.wolnelektury.connection;
3 import android.util.Log;
6 import retrofit2.Response;
8 public abstract class RestClientCallback<T, S> implements retrofit2.Callback<T> {
10 private static final String TAG = RestClientCallback.class.getSimpleName();
13 public void onResponse(Call<T> call, Response<T> response) {
14 if (response.isSuccessful()) {
15 onSuccess(response.body());
18 ErrorHandler<T> errorHandler = new ErrorHandler<>(response);
19 errorHandler.handle();
20 } catch (Exception e) {
27 public void onFailure(Call<T> call, Throwable t) {
28 Log.e(TAG, t.getMessage(), t);
29 if (!call.isCanceled()) {
30 onFailure(new Exception(t));
37 public abstract void onSuccess(T data);
39 public abstract void onFailure(Exception e);
41 public abstract void onCancel();
43 public abstract Call<T> execute(S service);