/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ package dev.plexapi.sdk.models.operations; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import dev.plexapi.sdk.utils.Response; import dev.plexapi.sdk.utils.Utils; import java.io.InputStream; import java.lang.Integer; import java.lang.Override; import java.lang.String; import java.lang.SuppressWarnings; import java.net.http.HttpResponse; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; public class GetThumbImageResponse implements Response { /** * HTTP response content type for this operation */ private String contentType; /** * HTTP response status code for this operation */ private int statusCode; /** * Raw HTTP response; suitable for custom response parsing */ private HttpResponse rawResponse; /** * Successful response returning an image */ private Optional responseStream; private Map> headers; @JsonCreator public GetThumbImageResponse( String contentType, int statusCode, HttpResponse rawResponse, Optional responseStream, Map> headers) { Utils.checkNotNull(contentType, "contentType"); Utils.checkNotNull(statusCode, "statusCode"); Utils.checkNotNull(rawResponse, "rawResponse"); Utils.checkNotNull(responseStream, "responseStream"); headers = Utils.emptyMapIfNull(headers); this.contentType = contentType; this.statusCode = statusCode; this.rawResponse = rawResponse; this.responseStream = responseStream; this.headers = headers; } public GetThumbImageResponse( String contentType, int statusCode, HttpResponse rawResponse, Map> headers) { this(contentType, statusCode, rawResponse, Optional.empty(), headers); } /** * HTTP response content type for this operation */ @JsonIgnore public String contentType() { return contentType; } /** * HTTP response status code for this operation */ @JsonIgnore public int statusCode() { return statusCode; } /** * Raw HTTP response; suitable for custom response parsing */ @JsonIgnore public HttpResponse rawResponse() { return rawResponse; } /** * Successful response returning an image */ @SuppressWarnings("unchecked") @JsonIgnore public Optional responseStream() { return (Optional) responseStream; } @JsonIgnore public Map> headers() { return headers; } public final static Builder builder() { return new Builder(); } /** * HTTP response content type for this operation */ public GetThumbImageResponse withContentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; } /** * HTTP response status code for this operation */ public GetThumbImageResponse withStatusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; } /** * Raw HTTP response; suitable for custom response parsing */ public GetThumbImageResponse withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; } /** * Successful response returning an image */ public GetThumbImageResponse withResponseStream(InputStream responseStream) { Utils.checkNotNull(responseStream, "responseStream"); this.responseStream = Optional.ofNullable(responseStream); return this; } /** * Successful response returning an image */ public GetThumbImageResponse withResponseStream(Optional responseStream) { Utils.checkNotNull(responseStream, "responseStream"); this.responseStream = responseStream; return this; } public GetThumbImageResponse withHeaders(Map> headers) { Utils.checkNotNull(headers, "headers"); this.headers = headers; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetThumbImageResponse other = (GetThumbImageResponse) o; return Objects.deepEquals(this.contentType, other.contentType) && Objects.deepEquals(this.statusCode, other.statusCode) && Objects.deepEquals(this.rawResponse, other.rawResponse) && Objects.deepEquals(this.responseStream, other.responseStream) && Objects.deepEquals(this.headers, other.headers); } @Override public int hashCode() { return Objects.hash( contentType, statusCode, rawResponse, responseStream, headers); } @Override public String toString() { return Utils.toString(GetThumbImageResponse.class, "contentType", contentType, "statusCode", statusCode, "rawResponse", rawResponse, "responseStream", responseStream, "headers", headers); } public final static class Builder { private String contentType; private Integer statusCode; private HttpResponse rawResponse; private Optional responseStream = Optional.empty(); private Map> headers; private Builder() { // force use of static builder() method } /** * HTTP response content type for this operation */ public Builder contentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; } /** * HTTP response status code for this operation */ public Builder statusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; } /** * Raw HTTP response; suitable for custom response parsing */ public Builder rawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; } /** * Successful response returning an image */ public Builder responseStream(InputStream responseStream) { Utils.checkNotNull(responseStream, "responseStream"); this.responseStream = Optional.ofNullable(responseStream); return this; } /** * Successful response returning an image */ public Builder responseStream(Optional responseStream) { Utils.checkNotNull(responseStream, "responseStream"); this.responseStream = responseStream; return this; } public Builder headers(Map> headers) { Utils.checkNotNull(headers, "headers"); this.headers = headers; return this; } public GetThumbImageResponse build() { return new GetThumbImageResponse( contentType, statusCode, rawResponse, responseStream, headers); } } }