package com.tresorit.zerokit.call;
public class Response<T, S> {
private T result;
private S error;
public static <T, S> Response<T, S> fromValue(T value){
Response<T, S> response = new Response<>();
response.setResult(value);
return response;
}
public static <T, S> Response<T, S> fromError(S error){
Response<T, S> response = new Response<>();
response.setError(error);
return response;
}
public static <T, S> Response<T, S> from(T value, S error){
Response<T, S> response = new Response<>();
response.setResult(value);
response.setError(error);
return response;
}
private Response(){}
private void setError(S error) {
this.error = error;
}
void setResult(T result) {
this.result = result;
}
public boolean isError() {
return error != null;
}
public T getResult() {
return result;
}
public S getError() {
return error;
}
}