/* * 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 GetMyPlexAccountResponse 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; /** * MyPlex Account */ private Optional object; @JsonCreator public GetMyPlexAccountResponse( 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 GetMyPlexAccountResponse( 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; } /** * MyPlex Account */ @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 GetMyPlexAccountResponse withContentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; } /** * HTTP response status code for this operation */ public GetMyPlexAccountResponse withStatusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; } /** * Raw HTTP response; suitable for custom response parsing */ public GetMyPlexAccountResponse withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; } /** * MyPlex Account */ public GetMyPlexAccountResponse withObject(GetMyPlexAccountResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; } /** * MyPlex Account */ public GetMyPlexAccountResponse 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; } GetMyPlexAccountResponse other = (GetMyPlexAccountResponse) 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(GetMyPlexAccountResponse.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; } /** * MyPlex Account */ public Builder object(GetMyPlexAccountResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; } /** * MyPlex Account */ public Builder object(Optional object) { Utils.checkNotNull(object, "object"); this.object = object; return this; } public GetMyPlexAccountResponse build() { return new GetMyPlexAccountResponse( contentType, statusCode, rawResponse, object); } } }