/* * 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.Integer; import java.lang.Override; import java.lang.String; import java.util.Objects; import java.util.Optional; public class Account { @JsonInclude(Include.NON_ABSENT) @JsonProperty("id") private Optional id; @JsonInclude(Include.NON_ABSENT) @JsonProperty("key") private Optional key; @JsonInclude(Include.NON_ABSENT) @JsonProperty("name") private Optional name; @JsonInclude(Include.NON_ABSENT) @JsonProperty("defaultAudioLanguage") private Optional defaultAudioLanguage; @JsonInclude(Include.NON_ABSENT) @JsonProperty("autoSelectAudio") private Optional autoSelectAudio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("defaultSubtitleLanguage") private Optional defaultSubtitleLanguage; @JsonInclude(Include.NON_ABSENT) @JsonProperty("subtitleMode") private Optional subtitleMode; @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonCreator public Account( @JsonProperty("id") Optional id, @JsonProperty("key") Optional key, @JsonProperty("name") Optional name, @JsonProperty("defaultAudioLanguage") Optional defaultAudioLanguage, @JsonProperty("autoSelectAudio") Optional autoSelectAudio, @JsonProperty("defaultSubtitleLanguage") Optional defaultSubtitleLanguage, @JsonProperty("subtitleMode") Optional subtitleMode, @JsonProperty("thumb") Optional thumb) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(name, "name"); Utils.checkNotNull(defaultAudioLanguage, "defaultAudioLanguage"); Utils.checkNotNull(autoSelectAudio, "autoSelectAudio"); Utils.checkNotNull(defaultSubtitleLanguage, "defaultSubtitleLanguage"); Utils.checkNotNull(subtitleMode, "subtitleMode"); Utils.checkNotNull(thumb, "thumb"); this.id = id; this.key = key; this.name = name; this.defaultAudioLanguage = defaultAudioLanguage; this.autoSelectAudio = autoSelectAudio; this.defaultSubtitleLanguage = defaultSubtitleLanguage; this.subtitleMode = subtitleMode; this.thumb = thumb; } public Account() { this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } @JsonIgnore public Optional id() { return id; } @JsonIgnore public Optional key() { return key; } @JsonIgnore public Optional name() { return name; } @JsonIgnore public Optional defaultAudioLanguage() { return defaultAudioLanguage; } @JsonIgnore public Optional autoSelectAudio() { return autoSelectAudio; } @JsonIgnore public Optional defaultSubtitleLanguage() { return defaultSubtitleLanguage; } @JsonIgnore public Optional subtitleMode() { return subtitleMode; } @JsonIgnore public Optional thumb() { return thumb; } public final static Builder builder() { return new Builder(); } public Account withId(int id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public Account withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public Account withKey(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public Account withKey(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public Account withName(String name) { Utils.checkNotNull(name, "name"); this.name = Optional.ofNullable(name); return this; } public Account withName(Optional name) { Utils.checkNotNull(name, "name"); this.name = name; return this; } public Account withDefaultAudioLanguage(String defaultAudioLanguage) { Utils.checkNotNull(defaultAudioLanguage, "defaultAudioLanguage"); this.defaultAudioLanguage = Optional.ofNullable(defaultAudioLanguage); return this; } public Account withDefaultAudioLanguage(Optional defaultAudioLanguage) { Utils.checkNotNull(defaultAudioLanguage, "defaultAudioLanguage"); this.defaultAudioLanguage = defaultAudioLanguage; return this; } public Account withAutoSelectAudio(boolean autoSelectAudio) { Utils.checkNotNull(autoSelectAudio, "autoSelectAudio"); this.autoSelectAudio = Optional.ofNullable(autoSelectAudio); return this; } public Account withAutoSelectAudio(Optional autoSelectAudio) { Utils.checkNotNull(autoSelectAudio, "autoSelectAudio"); this.autoSelectAudio = autoSelectAudio; return this; } public Account withDefaultSubtitleLanguage(String defaultSubtitleLanguage) { Utils.checkNotNull(defaultSubtitleLanguage, "defaultSubtitleLanguage"); this.defaultSubtitleLanguage = Optional.ofNullable(defaultSubtitleLanguage); return this; } public Account withDefaultSubtitleLanguage(Optional defaultSubtitleLanguage) { Utils.checkNotNull(defaultSubtitleLanguage, "defaultSubtitleLanguage"); this.defaultSubtitleLanguage = defaultSubtitleLanguage; return this; } public Account withSubtitleMode(int subtitleMode) { Utils.checkNotNull(subtitleMode, "subtitleMode"); this.subtitleMode = Optional.ofNullable(subtitleMode); return this; } public Account withSubtitleMode(Optional subtitleMode) { Utils.checkNotNull(subtitleMode, "subtitleMode"); this.subtitleMode = subtitleMode; return this; } public Account withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public Account withThumb(Optional 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; } Account other = (Account) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.name, other.name) && Objects.deepEquals(this.defaultAudioLanguage, other.defaultAudioLanguage) && Objects.deepEquals(this.autoSelectAudio, other.autoSelectAudio) && Objects.deepEquals(this.defaultSubtitleLanguage, other.defaultSubtitleLanguage) && Objects.deepEquals(this.subtitleMode, other.subtitleMode) && Objects.deepEquals(this.thumb, other.thumb); } @Override public int hashCode() { return Objects.hash( id, key, name, defaultAudioLanguage, autoSelectAudio, defaultSubtitleLanguage, subtitleMode, thumb); } @Override public String toString() { return Utils.toString(Account.class, "id", id, "key", key, "name", name, "defaultAudioLanguage", defaultAudioLanguage, "autoSelectAudio", autoSelectAudio, "defaultSubtitleLanguage", defaultSubtitleLanguage, "subtitleMode", subtitleMode, "thumb", thumb); } public final static class Builder { private Optional id = Optional.empty(); private Optional key = Optional.empty(); private Optional name = Optional.empty(); private Optional defaultAudioLanguage = Optional.empty(); private Optional autoSelectAudio = Optional.empty(); private Optional defaultSubtitleLanguage = Optional.empty(); private Optional subtitleMode = Optional.empty(); private Optional thumb = Optional.empty(); private Builder() { // force use of static builder() method } public Builder id(int id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public Builder id(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public Builder key(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public Builder key(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public Builder name(String name) { Utils.checkNotNull(name, "name"); this.name = Optional.ofNullable(name); return this; } public Builder name(Optional name) { Utils.checkNotNull(name, "name"); this.name = name; return this; } public Builder defaultAudioLanguage(String defaultAudioLanguage) { Utils.checkNotNull(defaultAudioLanguage, "defaultAudioLanguage"); this.defaultAudioLanguage = Optional.ofNullable(defaultAudioLanguage); return this; } public Builder defaultAudioLanguage(Optional defaultAudioLanguage) { Utils.checkNotNull(defaultAudioLanguage, "defaultAudioLanguage"); this.defaultAudioLanguage = defaultAudioLanguage; return this; } public Builder autoSelectAudio(boolean autoSelectAudio) { Utils.checkNotNull(autoSelectAudio, "autoSelectAudio"); this.autoSelectAudio = Optional.ofNullable(autoSelectAudio); return this; } public Builder autoSelectAudio(Optional autoSelectAudio) { Utils.checkNotNull(autoSelectAudio, "autoSelectAudio"); this.autoSelectAudio = autoSelectAudio; return this; } public Builder defaultSubtitleLanguage(String defaultSubtitleLanguage) { Utils.checkNotNull(defaultSubtitleLanguage, "defaultSubtitleLanguage"); this.defaultSubtitleLanguage = Optional.ofNullable(defaultSubtitleLanguage); return this; } public Builder defaultSubtitleLanguage(Optional defaultSubtitleLanguage) { Utils.checkNotNull(defaultSubtitleLanguage, "defaultSubtitleLanguage"); this.defaultSubtitleLanguage = defaultSubtitleLanguage; return this; } public Builder subtitleMode(int subtitleMode) { Utils.checkNotNull(subtitleMode, "subtitleMode"); this.subtitleMode = Optional.ofNullable(subtitleMode); return this; } public Builder subtitleMode(Optional subtitleMode) { Utils.checkNotNull(subtitleMode, "subtitleMode"); this.subtitleMode = subtitleMode; return this; } public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public Builder thumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public Account build() { return new Account( id, key, name, defaultAudioLanguage, autoSelectAudio, defaultSubtitleLanguage, subtitleMode, thumb); } } }