github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/jersey2-experimental/ApiResponse.mustache (about) 1 {{>licenseInfo}} 2 3 package {{invokerPackage}}; 4 5 import java.util.List; 6 import java.util.Map; 7 {{#caseInsensitiveResponseHeaders}} 8 import java.util.Map.Entry; 9 import java.util.TreeMap; 10 {{/caseInsensitiveResponseHeaders}} 11 12 /** 13 * API response returned by API call. 14 * 15 * @param <T> The type of data that is deserialized from response body 16 */ 17 public class ApiResponse<T> { 18 private final int statusCode; 19 private final Map<String, List<String>> headers; 20 private final T data; 21 22 /** 23 * @param statusCode The status code of HTTP response 24 * @param headers The headers of HTTP response 25 */ 26 public ApiResponse(int statusCode, Map<String, List<String>> headers) { 27 this(statusCode, headers, null); 28 } 29 30 /** 31 * @param statusCode The status code of HTTP response 32 * @param headers The headers of HTTP response 33 * @param data The object deserialized from response bod 34 */ 35 public ApiResponse(int statusCode, Map<String, List<String>> headers, T data) { 36 this.statusCode = statusCode; 37 {{#caseInsensitiveResponseHeaders}} 38 Map<String, List<String>> responseHeaders = new TreeMap<String, List<String>>(String.CASE_INSENSITIVE_ORDER); 39 for(Entry<String, List<String>> entry : headers.entrySet()){ 40 responseHeaders.put(entry.getKey().toLowerCase(), entry.getValue()); 41 } 42 {{/caseInsensitiveResponseHeaders}} 43 this.headers = {{#caseInsensitiveResponseHeaders}}responseHeaders{{/caseInsensitiveResponseHeaders}}{{^caseInsensitiveResponseHeaders}}headers{{/caseInsensitiveResponseHeaders}}; 44 this.data = data; 45 } 46 47 /** 48 * Get the status code 49 * 50 * @return status code 51 */ 52 public int getStatusCode() { 53 return statusCode; 54 } 55 56 /** 57 * Get the headers 58 * 59 * @return map of headers 60 */ 61 public Map<String, List<String>> getHeaders() { 62 return headers; 63 } 64 65 /** 66 * Get the data 67 * 68 * @return data 69 */ 70 public T getData() { 71 return data; 72 } 73 }