/* * 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.Integer; import java.lang.Override; import java.lang.String; import java.lang.SuppressWarnings; import java.util.List; import java.util.Objects; import java.util.Optional; public class GetSessionsMetadata { @JsonInclude(Include.NON_ABSENT) @JsonProperty("addedAt") private Optional addedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("art") private Optional art; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentArt") private Optional grandparentArt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentGuid") private Optional grandparentGuid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentKey") private Optional grandparentKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentRatingKey") private Optional grandparentRatingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentThumb") private Optional grandparentThumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentTitle") private Optional grandparentTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("guid") private Optional guid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("index") private Optional index; @JsonInclude(Include.NON_ABSENT) @JsonProperty("key") private Optional key; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionID") private Optional librarySectionID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionKey") private Optional librarySectionKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionTitle") private Optional librarySectionTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("musicAnalysisVersion") private Optional musicAnalysisVersion; /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("originalTitle") private Optional originalTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentGuid") private Optional parentGuid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentIndex") private Optional parentIndex; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentKey") private Optional parentKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentRatingKey") private Optional parentRatingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentStudio") private Optional parentStudio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentThumb") private Optional parentThumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentTitle") private Optional parentTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentYear") private Optional parentYear; @JsonInclude(Include.NON_ABSENT) @JsonProperty("ratingCount") private Optional ratingCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("ratingKey") private Optional ratingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("sessionKey") private Optional sessionKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("title") private Optional title; @JsonInclude(Include.NON_ABSENT) @JsonProperty("titleSort") private Optional titleSort; @JsonInclude(Include.NON_ABSENT) @JsonProperty("type") private Optional type; @JsonInclude(Include.NON_ABSENT) @JsonProperty("updatedAt") private Optional updatedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewOffset") private Optional viewOffset; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Media") private Optional> media; @JsonInclude(Include.NON_ABSENT) @JsonProperty("User") private Optional user; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Player") private Optional player; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Session") private Optional session; @JsonCreator public GetSessionsMetadata( @JsonProperty("addedAt") Optional addedAt, @JsonProperty("art") Optional art, @JsonProperty("duration") Optional duration, @JsonProperty("grandparentArt") Optional grandparentArt, @JsonProperty("grandparentGuid") Optional grandparentGuid, @JsonProperty("grandparentKey") Optional grandparentKey, @JsonProperty("grandparentRatingKey") Optional grandparentRatingKey, @JsonProperty("grandparentThumb") Optional grandparentThumb, @JsonProperty("grandparentTitle") Optional grandparentTitle, @JsonProperty("guid") Optional guid, @JsonProperty("index") Optional index, @JsonProperty("key") Optional key, @JsonProperty("librarySectionID") Optional librarySectionID, @JsonProperty("librarySectionKey") Optional librarySectionKey, @JsonProperty("librarySectionTitle") Optional librarySectionTitle, @JsonProperty("musicAnalysisVersion") Optional musicAnalysisVersion, @JsonProperty("originalTitle") Optional originalTitle, @JsonProperty("parentGuid") Optional parentGuid, @JsonProperty("parentIndex") Optional parentIndex, @JsonProperty("parentKey") Optional parentKey, @JsonProperty("parentRatingKey") Optional parentRatingKey, @JsonProperty("parentStudio") Optional parentStudio, @JsonProperty("parentThumb") Optional parentThumb, @JsonProperty("parentTitle") Optional parentTitle, @JsonProperty("parentYear") Optional parentYear, @JsonProperty("ratingCount") Optional ratingCount, @JsonProperty("ratingKey") Optional ratingKey, @JsonProperty("sessionKey") Optional sessionKey, @JsonProperty("thumb") Optional thumb, @JsonProperty("title") Optional title, @JsonProperty("titleSort") Optional titleSort, @JsonProperty("type") Optional type, @JsonProperty("updatedAt") Optional updatedAt, @JsonProperty("viewOffset") Optional viewOffset, @JsonProperty("Media") Optional> media, @JsonProperty("User") Optional user, @JsonProperty("Player") Optional player, @JsonProperty("Session") Optional session) { Utils.checkNotNull(addedAt, "addedAt"); Utils.checkNotNull(art, "art"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(grandparentArt, "grandparentArt"); Utils.checkNotNull(grandparentGuid, "grandparentGuid"); Utils.checkNotNull(grandparentKey, "grandparentKey"); Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); Utils.checkNotNull(grandparentThumb, "grandparentThumb"); Utils.checkNotNull(grandparentTitle, "grandparentTitle"); Utils.checkNotNull(guid, "guid"); Utils.checkNotNull(index, "index"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(librarySectionID, "librarySectionID"); Utils.checkNotNull(librarySectionKey, "librarySectionKey"); Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); Utils.checkNotNull(musicAnalysisVersion, "musicAnalysisVersion"); Utils.checkNotNull(originalTitle, "originalTitle"); Utils.checkNotNull(parentGuid, "parentGuid"); Utils.checkNotNull(parentIndex, "parentIndex"); Utils.checkNotNull(parentKey, "parentKey"); Utils.checkNotNull(parentRatingKey, "parentRatingKey"); Utils.checkNotNull(parentStudio, "parentStudio"); Utils.checkNotNull(parentThumb, "parentThumb"); Utils.checkNotNull(parentTitle, "parentTitle"); Utils.checkNotNull(parentYear, "parentYear"); Utils.checkNotNull(ratingCount, "ratingCount"); Utils.checkNotNull(ratingKey, "ratingKey"); Utils.checkNotNull(sessionKey, "sessionKey"); Utils.checkNotNull(thumb, "thumb"); Utils.checkNotNull(title, "title"); Utils.checkNotNull(titleSort, "titleSort"); Utils.checkNotNull(type, "type"); Utils.checkNotNull(updatedAt, "updatedAt"); Utils.checkNotNull(viewOffset, "viewOffset"); Utils.checkNotNull(media, "media"); Utils.checkNotNull(user, "user"); Utils.checkNotNull(player, "player"); Utils.checkNotNull(session, "session"); this.addedAt = addedAt; this.art = art; this.duration = duration; this.grandparentArt = grandparentArt; this.grandparentGuid = grandparentGuid; this.grandparentKey = grandparentKey; this.grandparentRatingKey = grandparentRatingKey; this.grandparentThumb = grandparentThumb; this.grandparentTitle = grandparentTitle; this.guid = guid; this.index = index; this.key = key; this.librarySectionID = librarySectionID; this.librarySectionKey = librarySectionKey; this.librarySectionTitle = librarySectionTitle; this.musicAnalysisVersion = musicAnalysisVersion; this.originalTitle = originalTitle; this.parentGuid = parentGuid; this.parentIndex = parentIndex; this.parentKey = parentKey; this.parentRatingKey = parentRatingKey; this.parentStudio = parentStudio; this.parentThumb = parentThumb; this.parentTitle = parentTitle; this.parentYear = parentYear; this.ratingCount = ratingCount; this.ratingKey = ratingKey; this.sessionKey = sessionKey; this.thumb = thumb; this.title = title; this.titleSort = titleSort; this.type = type; this.updatedAt = updatedAt; this.viewOffset = viewOffset; this.media = media; this.user = user; this.player = player; this.session = session; } public GetSessionsMetadata() { this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } @JsonIgnore public Optional addedAt() { return addedAt; } @JsonIgnore public Optional art() { return art; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional grandparentArt() { return grandparentArt; } @JsonIgnore public Optional grandparentGuid() { return grandparentGuid; } @JsonIgnore public Optional grandparentKey() { return grandparentKey; } @JsonIgnore public Optional grandparentRatingKey() { return grandparentRatingKey; } @JsonIgnore public Optional grandparentThumb() { return grandparentThumb; } @JsonIgnore public Optional grandparentTitle() { return grandparentTitle; } @JsonIgnore public Optional guid() { return guid; } @JsonIgnore public Optional index() { return index; } @JsonIgnore public Optional key() { return key; } @JsonIgnore public Optional librarySectionID() { return librarySectionID; } @JsonIgnore public Optional librarySectionKey() { return librarySectionKey; } @JsonIgnore public Optional librarySectionTitle() { return librarySectionTitle; } @JsonIgnore public Optional musicAnalysisVersion() { return musicAnalysisVersion; } /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ @JsonIgnore public Optional originalTitle() { return originalTitle; } @JsonIgnore public Optional parentGuid() { return parentGuid; } @JsonIgnore public Optional parentIndex() { return parentIndex; } @JsonIgnore public Optional parentKey() { return parentKey; } @JsonIgnore public Optional parentRatingKey() { return parentRatingKey; } @JsonIgnore public Optional parentStudio() { return parentStudio; } @JsonIgnore public Optional parentThumb() { return parentThumb; } @JsonIgnore public Optional parentTitle() { return parentTitle; } @JsonIgnore public Optional parentYear() { return parentYear; } @JsonIgnore public Optional ratingCount() { return ratingCount; } @JsonIgnore public Optional ratingKey() { return ratingKey; } @JsonIgnore public Optional sessionKey() { return sessionKey; } @JsonIgnore public Optional thumb() { return thumb; } @JsonIgnore public Optional title() { return title; } @JsonIgnore public Optional titleSort() { return titleSort; } @JsonIgnore public Optional type() { return type; } @JsonIgnore public Optional updatedAt() { return updatedAt; } @JsonIgnore public Optional viewOffset() { return viewOffset; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> media() { return (Optional>) media; } @SuppressWarnings("unchecked") @JsonIgnore public Optional user() { return (Optional) user; } @SuppressWarnings("unchecked") @JsonIgnore public Optional player() { return (Optional) player; } @SuppressWarnings("unchecked") @JsonIgnore public Optional session() { return (Optional) session; } public final static Builder builder() { return new Builder(); } public GetSessionsMetadata withAddedAt(int addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = Optional.ofNullable(addedAt); return this; } public GetSessionsMetadata withAddedAt(Optional addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } public GetSessionsMetadata withArt(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public GetSessionsMetadata withArt(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public GetSessionsMetadata withDuration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetSessionsMetadata withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetSessionsMetadata withGrandparentArt(String grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = Optional.ofNullable(grandparentArt); return this; } public GetSessionsMetadata withGrandparentArt(Optional grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = grandparentArt; return this; } public GetSessionsMetadata withGrandparentGuid(String grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = Optional.ofNullable(grandparentGuid); return this; } public GetSessionsMetadata withGrandparentGuid(Optional grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = grandparentGuid; return this; } public GetSessionsMetadata withGrandparentKey(String grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = Optional.ofNullable(grandparentKey); return this; } public GetSessionsMetadata withGrandparentKey(Optional grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = grandparentKey; return this; } public GetSessionsMetadata withGrandparentRatingKey(String grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = Optional.ofNullable(grandparentRatingKey); return this; } public GetSessionsMetadata withGrandparentRatingKey(Optional grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = grandparentRatingKey; return this; } public GetSessionsMetadata withGrandparentThumb(String grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = Optional.ofNullable(grandparentThumb); return this; } public GetSessionsMetadata withGrandparentThumb(Optional grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = grandparentThumb; return this; } public GetSessionsMetadata withGrandparentTitle(String grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = Optional.ofNullable(grandparentTitle); return this; } public GetSessionsMetadata withGrandparentTitle(Optional grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = grandparentTitle; return this; } public GetSessionsMetadata withGuid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = Optional.ofNullable(guid); return this; } public GetSessionsMetadata withGuid(Optional guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public GetSessionsMetadata withIndex(int index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } public GetSessionsMetadata withIndex(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; return this; } public GetSessionsMetadata withKey(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public GetSessionsMetadata withKey(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public GetSessionsMetadata withLibrarySectionID(String librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetSessionsMetadata withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetSessionsMetadata withLibrarySectionKey(String librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = Optional.ofNullable(librarySectionKey); return this; } public GetSessionsMetadata withLibrarySectionKey(Optional librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = librarySectionKey; return this; } public GetSessionsMetadata withLibrarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public GetSessionsMetadata withLibrarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public GetSessionsMetadata withMusicAnalysisVersion(String musicAnalysisVersion) { Utils.checkNotNull(musicAnalysisVersion, "musicAnalysisVersion"); this.musicAnalysisVersion = Optional.ofNullable(musicAnalysisVersion); return this; } public GetSessionsMetadata withMusicAnalysisVersion(Optional musicAnalysisVersion) { Utils.checkNotNull(musicAnalysisVersion, "musicAnalysisVersion"); this.musicAnalysisVersion = musicAnalysisVersion; return this; } /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ public GetSessionsMetadata withOriginalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ public GetSessionsMetadata withOriginalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; return this; } public GetSessionsMetadata withParentGuid(String parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = Optional.ofNullable(parentGuid); return this; } public GetSessionsMetadata withParentGuid(Optional parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = parentGuid; return this; } public GetSessionsMetadata withParentIndex(int parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = Optional.ofNullable(parentIndex); return this; } public GetSessionsMetadata withParentIndex(Optional parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = parentIndex; return this; } public GetSessionsMetadata withParentKey(String parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = Optional.ofNullable(parentKey); return this; } public GetSessionsMetadata withParentKey(Optional parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = parentKey; return this; } public GetSessionsMetadata withParentRatingKey(String parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = Optional.ofNullable(parentRatingKey); return this; } public GetSessionsMetadata withParentRatingKey(Optional parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = parentRatingKey; return this; } public GetSessionsMetadata withParentStudio(String parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = Optional.ofNullable(parentStudio); return this; } public GetSessionsMetadata withParentStudio(Optional parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = parentStudio; return this; } public GetSessionsMetadata withParentThumb(String parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = Optional.ofNullable(parentThumb); return this; } public GetSessionsMetadata withParentThumb(Optional parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = parentThumb; return this; } public GetSessionsMetadata withParentTitle(String parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = Optional.ofNullable(parentTitle); return this; } public GetSessionsMetadata withParentTitle(Optional parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = parentTitle; return this; } public GetSessionsMetadata withParentYear(int parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = Optional.ofNullable(parentYear); return this; } public GetSessionsMetadata withParentYear(Optional parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = parentYear; return this; } public GetSessionsMetadata withRatingCount(int ratingCount) { Utils.checkNotNull(ratingCount, "ratingCount"); this.ratingCount = Optional.ofNullable(ratingCount); return this; } public GetSessionsMetadata withRatingCount(Optional ratingCount) { Utils.checkNotNull(ratingCount, "ratingCount"); this.ratingCount = ratingCount; return this; } public GetSessionsMetadata withRatingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = Optional.ofNullable(ratingKey); return this; } public GetSessionsMetadata withRatingKey(Optional ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public GetSessionsMetadata withSessionKey(String sessionKey) { Utils.checkNotNull(sessionKey, "sessionKey"); this.sessionKey = Optional.ofNullable(sessionKey); return this; } public GetSessionsMetadata withSessionKey(Optional sessionKey) { Utils.checkNotNull(sessionKey, "sessionKey"); this.sessionKey = sessionKey; return this; } public GetSessionsMetadata withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public GetSessionsMetadata withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetSessionsMetadata withTitle(String title) { Utils.checkNotNull(title, "title"); this.title = Optional.ofNullable(title); return this; } public GetSessionsMetadata withTitle(Optional title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public GetSessionsMetadata withTitleSort(String titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = Optional.ofNullable(titleSort); return this; } public GetSessionsMetadata withTitleSort(Optional titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = titleSort; return this; } public GetSessionsMetadata withType(String type) { Utils.checkNotNull(type, "type"); this.type = Optional.ofNullable(type); return this; } public GetSessionsMetadata withType(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public GetSessionsMetadata withUpdatedAt(int updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } public GetSessionsMetadata withUpdatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public GetSessionsMetadata withViewOffset(int viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = Optional.ofNullable(viewOffset); return this; } public GetSessionsMetadata withViewOffset(Optional viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = viewOffset; return this; } public GetSessionsMetadata withMedia(List media) { Utils.checkNotNull(media, "media"); this.media = Optional.ofNullable(media); return this; } public GetSessionsMetadata withMedia(Optional> media) { Utils.checkNotNull(media, "media"); this.media = media; return this; } public GetSessionsMetadata withUser(GetSessionsUser user) { Utils.checkNotNull(user, "user"); this.user = Optional.ofNullable(user); return this; } public GetSessionsMetadata withUser(Optional user) { Utils.checkNotNull(user, "user"); this.user = user; return this; } public GetSessionsMetadata withPlayer(Player player) { Utils.checkNotNull(player, "player"); this.player = Optional.ofNullable(player); return this; } public GetSessionsMetadata withPlayer(Optional player) { Utils.checkNotNull(player, "player"); this.player = player; return this; } public GetSessionsMetadata withSession(Session session) { Utils.checkNotNull(session, "session"); this.session = Optional.ofNullable(session); return this; } public GetSessionsMetadata withSession(Optional session) { Utils.checkNotNull(session, "session"); this.session = session; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetSessionsMetadata other = (GetSessionsMetadata) o; return Objects.deepEquals(this.addedAt, other.addedAt) && Objects.deepEquals(this.art, other.art) && Objects.deepEquals(this.duration, other.duration) && Objects.deepEquals(this.grandparentArt, other.grandparentArt) && Objects.deepEquals(this.grandparentGuid, other.grandparentGuid) && Objects.deepEquals(this.grandparentKey, other.grandparentKey) && Objects.deepEquals(this.grandparentRatingKey, other.grandparentRatingKey) && Objects.deepEquals(this.grandparentThumb, other.grandparentThumb) && Objects.deepEquals(this.grandparentTitle, other.grandparentTitle) && Objects.deepEquals(this.guid, other.guid) && Objects.deepEquals(this.index, other.index) && Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.librarySectionID, other.librarySectionID) && Objects.deepEquals(this.librarySectionKey, other.librarySectionKey) && Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && Objects.deepEquals(this.musicAnalysisVersion, other.musicAnalysisVersion) && Objects.deepEquals(this.originalTitle, other.originalTitle) && Objects.deepEquals(this.parentGuid, other.parentGuid) && Objects.deepEquals(this.parentIndex, other.parentIndex) && Objects.deepEquals(this.parentKey, other.parentKey) && Objects.deepEquals(this.parentRatingKey, other.parentRatingKey) && Objects.deepEquals(this.parentStudio, other.parentStudio) && Objects.deepEquals(this.parentThumb, other.parentThumb) && Objects.deepEquals(this.parentTitle, other.parentTitle) && Objects.deepEquals(this.parentYear, other.parentYear) && Objects.deepEquals(this.ratingCount, other.ratingCount) && Objects.deepEquals(this.ratingKey, other.ratingKey) && Objects.deepEquals(this.sessionKey, other.sessionKey) && Objects.deepEquals(this.thumb, other.thumb) && Objects.deepEquals(this.title, other.title) && Objects.deepEquals(this.titleSort, other.titleSort) && Objects.deepEquals(this.type, other.type) && Objects.deepEquals(this.updatedAt, other.updatedAt) && Objects.deepEquals(this.viewOffset, other.viewOffset) && Objects.deepEquals(this.media, other.media) && Objects.deepEquals(this.user, other.user) && Objects.deepEquals(this.player, other.player) && Objects.deepEquals(this.session, other.session); } @Override public int hashCode() { return Objects.hash( addedAt, art, duration, grandparentArt, grandparentGuid, grandparentKey, grandparentRatingKey, grandparentThumb, grandparentTitle, guid, index, key, librarySectionID, librarySectionKey, librarySectionTitle, musicAnalysisVersion, originalTitle, parentGuid, parentIndex, parentKey, parentRatingKey, parentStudio, parentThumb, parentTitle, parentYear, ratingCount, ratingKey, sessionKey, thumb, title, titleSort, type, updatedAt, viewOffset, media, user, player, session); } @Override public String toString() { return Utils.toString(GetSessionsMetadata.class, "addedAt", addedAt, "art", art, "duration", duration, "grandparentArt", grandparentArt, "grandparentGuid", grandparentGuid, "grandparentKey", grandparentKey, "grandparentRatingKey", grandparentRatingKey, "grandparentThumb", grandparentThumb, "grandparentTitle", grandparentTitle, "guid", guid, "index", index, "key", key, "librarySectionID", librarySectionID, "librarySectionKey", librarySectionKey, "librarySectionTitle", librarySectionTitle, "musicAnalysisVersion", musicAnalysisVersion, "originalTitle", originalTitle, "parentGuid", parentGuid, "parentIndex", parentIndex, "parentKey", parentKey, "parentRatingKey", parentRatingKey, "parentStudio", parentStudio, "parentThumb", parentThumb, "parentTitle", parentTitle, "parentYear", parentYear, "ratingCount", ratingCount, "ratingKey", ratingKey, "sessionKey", sessionKey, "thumb", thumb, "title", title, "titleSort", titleSort, "type", type, "updatedAt", updatedAt, "viewOffset", viewOffset, "media", media, "user", user, "player", player, "session", session); } public final static class Builder { private Optional addedAt = Optional.empty(); private Optional art = Optional.empty(); private Optional duration = Optional.empty(); private Optional grandparentArt = Optional.empty(); private Optional grandparentGuid = Optional.empty(); private Optional grandparentKey = Optional.empty(); private Optional grandparentRatingKey = Optional.empty(); private Optional grandparentThumb = Optional.empty(); private Optional grandparentTitle = Optional.empty(); private Optional guid = Optional.empty(); private Optional index = Optional.empty(); private Optional key = Optional.empty(); private Optional librarySectionID = Optional.empty(); private Optional librarySectionKey = Optional.empty(); private Optional librarySectionTitle = Optional.empty(); private Optional musicAnalysisVersion = Optional.empty(); private Optional originalTitle = Optional.empty(); private Optional parentGuid = Optional.empty(); private Optional parentIndex = Optional.empty(); private Optional parentKey = Optional.empty(); private Optional parentRatingKey = Optional.empty(); private Optional parentStudio = Optional.empty(); private Optional parentThumb = Optional.empty(); private Optional parentTitle = Optional.empty(); private Optional parentYear = Optional.empty(); private Optional ratingCount = Optional.empty(); private Optional ratingKey = Optional.empty(); private Optional sessionKey = Optional.empty(); private Optional thumb = Optional.empty(); private Optional title = Optional.empty(); private Optional titleSort = Optional.empty(); private Optional type = Optional.empty(); private Optional updatedAt = Optional.empty(); private Optional viewOffset = Optional.empty(); private Optional> media = Optional.empty(); private Optional user = Optional.empty(); private Optional player = Optional.empty(); private Optional session = Optional.empty(); private Builder() { // force use of static builder() method } public Builder addedAt(int addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = Optional.ofNullable(addedAt); return this; } public Builder addedAt(Optional addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } public Builder art(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public Builder art(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public Builder duration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public Builder duration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public Builder grandparentArt(String grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = Optional.ofNullable(grandparentArt); return this; } public Builder grandparentArt(Optional grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = grandparentArt; return this; } public Builder grandparentGuid(String grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = Optional.ofNullable(grandparentGuid); return this; } public Builder grandparentGuid(Optional grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = grandparentGuid; return this; } public Builder grandparentKey(String grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = Optional.ofNullable(grandparentKey); return this; } public Builder grandparentKey(Optional grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = grandparentKey; return this; } public Builder grandparentRatingKey(String grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = Optional.ofNullable(grandparentRatingKey); return this; } public Builder grandparentRatingKey(Optional grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = grandparentRatingKey; return this; } public Builder grandparentThumb(String grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = Optional.ofNullable(grandparentThumb); return this; } public Builder grandparentThumb(Optional grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = grandparentThumb; return this; } public Builder grandparentTitle(String grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = Optional.ofNullable(grandparentTitle); return this; } public Builder grandparentTitle(Optional grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = grandparentTitle; return this; } public Builder guid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = Optional.ofNullable(guid); return this; } public Builder guid(Optional guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public Builder index(int index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } public Builder index(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; 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 librarySectionID(String librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public Builder librarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public Builder librarySectionKey(String librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = Optional.ofNullable(librarySectionKey); return this; } public Builder librarySectionKey(Optional librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = librarySectionKey; return this; } public Builder librarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public Builder librarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public Builder musicAnalysisVersion(String musicAnalysisVersion) { Utils.checkNotNull(musicAnalysisVersion, "musicAnalysisVersion"); this.musicAnalysisVersion = Optional.ofNullable(musicAnalysisVersion); return this; } public Builder musicAnalysisVersion(Optional musicAnalysisVersion) { Utils.checkNotNull(musicAnalysisVersion, "musicAnalysisVersion"); this.musicAnalysisVersion = musicAnalysisVersion; return this; } /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ public Builder originalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } /** * The original untranslated name of the media item when non-english, or the track artist if an audio Item has an album artist */ public Builder originalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; return this; } public Builder parentGuid(String parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = Optional.ofNullable(parentGuid); return this; } public Builder parentGuid(Optional parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = parentGuid; return this; } public Builder parentIndex(int parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = Optional.ofNullable(parentIndex); return this; } public Builder parentIndex(Optional parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = parentIndex; return this; } public Builder parentKey(String parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = Optional.ofNullable(parentKey); return this; } public Builder parentKey(Optional parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = parentKey; return this; } public Builder parentRatingKey(String parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = Optional.ofNullable(parentRatingKey); return this; } public Builder parentRatingKey(Optional parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = parentRatingKey; return this; } public Builder parentStudio(String parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = Optional.ofNullable(parentStudio); return this; } public Builder parentStudio(Optional parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = parentStudio; return this; } public Builder parentThumb(String parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = Optional.ofNullable(parentThumb); return this; } public Builder parentThumb(Optional parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = parentThumb; return this; } public Builder parentTitle(String parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = Optional.ofNullable(parentTitle); return this; } public Builder parentTitle(Optional parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = parentTitle; return this; } public Builder parentYear(int parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = Optional.ofNullable(parentYear); return this; } public Builder parentYear(Optional parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = parentYear; return this; } public Builder ratingCount(int ratingCount) { Utils.checkNotNull(ratingCount, "ratingCount"); this.ratingCount = Optional.ofNullable(ratingCount); return this; } public Builder ratingCount(Optional ratingCount) { Utils.checkNotNull(ratingCount, "ratingCount"); this.ratingCount = ratingCount; return this; } public Builder ratingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = Optional.ofNullable(ratingKey); return this; } public Builder ratingKey(Optional ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public Builder sessionKey(String sessionKey) { Utils.checkNotNull(sessionKey, "sessionKey"); this.sessionKey = Optional.ofNullable(sessionKey); return this; } public Builder sessionKey(Optional sessionKey) { Utils.checkNotNull(sessionKey, "sessionKey"); this.sessionKey = sessionKey; 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 Builder title(String title) { Utils.checkNotNull(title, "title"); this.title = Optional.ofNullable(title); return this; } public Builder title(Optional title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public Builder titleSort(String titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = Optional.ofNullable(titleSort); return this; } public Builder titleSort(Optional titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = titleSort; return this; } public Builder type(String type) { Utils.checkNotNull(type, "type"); this.type = Optional.ofNullable(type); return this; } public Builder type(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public Builder updatedAt(int updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } public Builder updatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public Builder viewOffset(int viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = Optional.ofNullable(viewOffset); return this; } public Builder viewOffset(Optional viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = viewOffset; return this; } public Builder media(List media) { Utils.checkNotNull(media, "media"); this.media = Optional.ofNullable(media); return this; } public Builder media(Optional> media) { Utils.checkNotNull(media, "media"); this.media = media; return this; } public Builder user(GetSessionsUser user) { Utils.checkNotNull(user, "user"); this.user = Optional.ofNullable(user); return this; } public Builder user(Optional user) { Utils.checkNotNull(user, "user"); this.user = user; return this; } public Builder player(Player player) { Utils.checkNotNull(player, "player"); this.player = Optional.ofNullable(player); return this; } public Builder player(Optional player) { Utils.checkNotNull(player, "player"); this.player = player; return this; } public Builder session(Session session) { Utils.checkNotNull(session, "session"); this.session = Optional.ofNullable(session); return this; } public Builder session(Optional session) { Utils.checkNotNull(session, "session"); this.session = session; return this; } public GetSessionsMetadata build() { return new GetSessionsMetadata( addedAt, art, duration, grandparentArt, grandparentGuid, grandparentKey, grandparentRatingKey, grandparentThumb, grandparentTitle, guid, index, key, librarySectionID, librarySectionKey, librarySectionTitle, musicAnalysisVersion, originalTitle, parentGuid, parentIndex, parentKey, parentRatingKey, parentStudio, parentThumb, parentTitle, parentYear, ratingCount, ratingKey, sessionKey, thumb, title, titleSort, type, updatedAt, viewOffset, media, user, player, session); } } }