Java.libraries.okhttp-gson.ApiResponse.mustache Maven / Gradle / Ivy
{{>licenseInfo}}
package {{invokerPackage}};
import java.util.List;
import java.util.Map;
{{#caseInsensitiveResponseHeaders}}
import java.util.Map.Entry;
import java.util.TreeMap;
{{/caseInsensitiveResponseHeaders}}
/**
* API response returned by API call.
*/
public class ApiResponse {
final private int statusCode;
final private Map> headers;
final private T data;
/**
* Constructor for ApiResponse.
*
* @param statusCode The status code of HTTP response
* @param headers The headers of HTTP response
*/
public ApiResponse(int statusCode, Map> headers) {
this(statusCode, headers, null);
}
/**
* Constructor for ApiResponse.
*
* @param statusCode The status code of HTTP response
* @param headers The headers of HTTP response
* @param data The object deserialized from response bod
*/
public ApiResponse(int statusCode, Map> headers, T data) {
this.statusCode = statusCode;
{{#caseInsensitiveResponseHeaders}}
Map> responseHeaders = new TreeMap>(String.CASE_INSENSITIVE_ORDER);
for(Entry> entry : headers.entrySet()){
responseHeaders.put(entry.getKey().toLowerCase(), entry.getValue());
}
{{/caseInsensitiveResponseHeaders}}
this.headers = {{#caseInsensitiveResponseHeaders}}responseHeaders{{/caseInsensitiveResponseHeaders}}{{^caseInsensitiveResponseHeaders}}headers{{/caseInsensitiveResponseHeaders}};
this.data = data;
}
/**
* Get the status code
.
*
* @return the status code
*/
public int getStatusCode() {
return statusCode;
}
/**
* Get the headers
.
*
* @return a {@link java.util.Map} of headers
*/
public Map> getHeaders() {
return headers;
}
/**
* Get the data
.
*
* @return the data
*/
public T getData() {
return data;
}
}