/* * 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 GetGeoDataResponse 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; /** * Gets the geo location data of the user */ private Optional geoData; @JsonCreator public GetGeoDataResponse( String contentType, int statusCode, HttpResponse rawResponse, Optional geoData) { Utils.checkNotNull(contentType, "contentType"); Utils.checkNotNull(statusCode, "statusCode"); Utils.checkNotNull(rawResponse, "rawResponse"); Utils.checkNotNull(geoData, "geoData"); this.contentType = contentType; this.statusCode = statusCode; this.rawResponse = rawResponse; this.geoData = geoData; } public GetGeoDataResponse( 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; } /** * Gets the geo location data of the user */ @SuppressWarnings("unchecked") @JsonIgnore public Optional geoData() { return (Optional) geoData; } public final static Builder builder() { return new Builder(); } /** * HTTP response content type for this operation */ public GetGeoDataResponse withContentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; } /** * HTTP response status code for this operation */ public GetGeoDataResponse withStatusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; } /** * Raw HTTP response; suitable for custom response parsing */ public GetGeoDataResponse withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; } /** * Gets the geo location data of the user */ public GetGeoDataResponse withGeoData(GetGeoDataGeoData geoData) { Utils.checkNotNull(geoData, "geoData"); this.geoData = Optional.ofNullable(geoData); return this; } /** * Gets the geo location data of the user */ public GetGeoDataResponse withGeoData(Optional geoData) { Utils.checkNotNull(geoData, "geoData"); this.geoData = geoData; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetGeoDataResponse other = (GetGeoDataResponse) o; return Objects.deepEquals(this.contentType, other.contentType) && Objects.deepEquals(this.statusCode, other.statusCode) && Objects.deepEquals(this.rawResponse, other.rawResponse) && Objects.deepEquals(this.geoData, other.geoData); } @Override public int hashCode() { return Objects.hash( contentType, statusCode, rawResponse, geoData); } @Override public String toString() { return Utils.toString(GetGeoDataResponse.class, "contentType", contentType, "statusCode", statusCode, "rawResponse", rawResponse, "geoData", geoData); } public final static class Builder { private String contentType; private Integer statusCode; private HttpResponse rawResponse; private Optional geoData = 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; } /** * Gets the geo location data of the user */ public Builder geoData(GetGeoDataGeoData geoData) { Utils.checkNotNull(geoData, "geoData"); this.geoData = Optional.ofNullable(geoData); return this; } /** * Gets the geo location data of the user */ public Builder geoData(Optional geoData) { Utils.checkNotNull(geoData, "geoData"); this.geoData = geoData; return this; } public GetGeoDataResponse build() { return new GetGeoDataResponse( contentType, statusCode, rawResponse, geoData); } } }