/* * 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.Objects; import java.util.Optional; public class GetGenresLibraryResponse 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 containing media container data. */ private Optional object; @JsonCreator public GetGenresLibraryResponse( String contentType, int statusCode, HttpResponse rawResponse, Optional object) { Utils.checkNotNull(contentType, "contentType"); Utils.checkNotNull(statusCode, "statusCode"); Utils.checkNotNull(rawResponse, "rawResponse"); Utils.checkNotNull(object, "object"); this.contentType = contentType; this.statusCode = statusCode; this.rawResponse = rawResponse; this.object = object; } public GetGenresLibraryResponse( String contentType, int statusCode, HttpResponse rawResponse) { this(contentType, statusCode, rawResponse, Optional.empty()); } /** * 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 containing media container data. */ @SuppressWarnings("unchecked") @JsonIgnore public Optional object() { return (Optional) object; } public final static Builder builder() { return new Builder(); } /** * HTTP response content type for this operation */ public GetGenresLibraryResponse withContentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; } /** * HTTP response status code for this operation */ public GetGenresLibraryResponse withStatusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; } /** * Raw HTTP response; suitable for custom response parsing */ public GetGenresLibraryResponse withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; } /** * Successful response containing media container data. */ public GetGenresLibraryResponse withObject(GetGenresLibraryResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; } /** * Successful response containing media container data. */ public GetGenresLibraryResponse withObject(Optional object) { Utils.checkNotNull(object, "object"); this.object = object; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetGenresLibraryResponse other = (GetGenresLibraryResponse) o; return Objects.deepEquals(this.contentType, other.contentType) && Objects.deepEquals(this.statusCode, other.statusCode) && Objects.deepEquals(this.rawResponse, other.rawResponse) && Objects.deepEquals(this.object, other.object); } @Override public int hashCode() { return Objects.hash( contentType, statusCode, rawResponse, object); } @Override public String toString() { return Utils.toString(GetGenresLibraryResponse.class, "contentType", contentType, "statusCode", statusCode, "rawResponse", rawResponse, "object", object); } public final static class Builder { private String contentType; private Integer statusCode; private HttpResponse rawResponse; private Optional object = Optional.empty(); 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 containing media container data. */ public Builder object(GetGenresLibraryResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; } /** * Successful response containing media container data. */ public Builder object(Optional object) { Utils.checkNotNull(object, "object"); this.object = object; return this; } public GetGenresLibraryResponse build() { return new GetGenresLibraryResponse( contentType, statusCode, rawResponse, object); } } }