/* * 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 com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; import java.lang.Boolean; import java.lang.Override; import java.lang.String; import java.util.Objects; import java.util.Optional; public class GetMediaArtsMetadata { /** * The URL of the artwork. */ @JsonProperty("key") private String key; /** * The provider of the artwork. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("provider") private Optional provider; /** * The URL of the artwork. */ @JsonProperty("ratingKey") private String ratingKey; /** * Whether this is the selected artwork. */ @JsonProperty("selected") private boolean selected; /** * The URL of the artwork thumbnail. */ @JsonProperty("thumb") private String thumb; @JsonCreator public GetMediaArtsMetadata( @JsonProperty("key") String key, @JsonProperty("provider") Optional provider, @JsonProperty("ratingKey") String ratingKey, @JsonProperty("selected") boolean selected, @JsonProperty("thumb") String thumb) { Utils.checkNotNull(key, "key"); Utils.checkNotNull(provider, "provider"); Utils.checkNotNull(ratingKey, "ratingKey"); Utils.checkNotNull(selected, "selected"); Utils.checkNotNull(thumb, "thumb"); this.key = key; this.provider = provider; this.ratingKey = ratingKey; this.selected = selected; this.thumb = thumb; } public GetMediaArtsMetadata( String key, String ratingKey, boolean selected, String thumb) { this(key, Optional.empty(), ratingKey, selected, thumb); } /** * The URL of the artwork. */ @JsonIgnore public String key() { return key; } /** * The provider of the artwork. */ @JsonIgnore public Optional provider() { return provider; } /** * The URL of the artwork. */ @JsonIgnore public String ratingKey() { return ratingKey; } /** * Whether this is the selected artwork. */ @JsonIgnore public boolean selected() { return selected; } /** * The URL of the artwork thumbnail. */ @JsonIgnore public String thumb() { return thumb; } public final static Builder builder() { return new Builder(); } /** * The URL of the artwork. */ public GetMediaArtsMetadata withKey(String key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } /** * The provider of the artwork. */ public GetMediaArtsMetadata withProvider(String provider) { Utils.checkNotNull(provider, "provider"); this.provider = Optional.ofNullable(provider); return this; } /** * The provider of the artwork. */ public GetMediaArtsMetadata withProvider(Optional provider) { Utils.checkNotNull(provider, "provider"); this.provider = provider; return this; } /** * The URL of the artwork. */ public GetMediaArtsMetadata withRatingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } /** * Whether this is the selected artwork. */ public GetMediaArtsMetadata withSelected(boolean selected) { Utils.checkNotNull(selected, "selected"); this.selected = selected; return this; } /** * The URL of the artwork thumbnail. */ public GetMediaArtsMetadata withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetMediaArtsMetadata other = (GetMediaArtsMetadata) o; return Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.provider, other.provider) && Objects.deepEquals(this.ratingKey, other.ratingKey) && Objects.deepEquals(this.selected, other.selected) && Objects.deepEquals(this.thumb, other.thumb); } @Override public int hashCode() { return Objects.hash( key, provider, ratingKey, selected, thumb); } @Override public String toString() { return Utils.toString(GetMediaArtsMetadata.class, "key", key, "provider", provider, "ratingKey", ratingKey, "selected", selected, "thumb", thumb); } public final static class Builder { private String key; private Optional provider = Optional.empty(); private String ratingKey; private Boolean selected; private String thumb; private Builder() { // force use of static builder() method } /** * The URL of the artwork. */ public Builder key(String key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } /** * The provider of the artwork. */ public Builder provider(String provider) { Utils.checkNotNull(provider, "provider"); this.provider = Optional.ofNullable(provider); return this; } /** * The provider of the artwork. */ public Builder provider(Optional provider) { Utils.checkNotNull(provider, "provider"); this.provider = provider; return this; } /** * The URL of the artwork. */ public Builder ratingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } /** * Whether this is the selected artwork. */ public Builder selected(boolean selected) { Utils.checkNotNull(selected, "selected"); this.selected = selected; return this; } /** * The URL of the artwork thumbnail. */ public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetMediaArtsMetadata build() { return new GetMediaArtsMetadata( key, provider, ratingKey, selected, thumb); } } }