/* * 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.Double; import java.lang.Integer; import java.lang.Long; import java.lang.Override; import java.lang.String; import java.lang.SuppressWarnings; import java.time.LocalDate; import java.util.List; import java.util.Objects; import java.util.Optional; public class GetLibraryItemsMetadata { /** * The rating key (Media ID) of this media item. * Note: This is always an integer, but is represented as a string in the API. * */ @JsonProperty("ratingKey") private String ratingKey; @JsonProperty("key") private String key; @JsonProperty("guid") private String guid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("studio") private Optional studio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("skipChildren") private Optional skipChildren; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionID") private Optional librarySectionID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionTitle") private Optional librarySectionTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionKey") private Optional librarySectionKey; /** * The type of media content * */ @JsonProperty("type") private GetLibraryItemsLibraryType type; @JsonProperty("title") private String title; @JsonInclude(Include.NON_ABSENT) @JsonProperty("slug") private Optional slug; @JsonInclude(Include.NON_ABSENT) @JsonProperty("contentRating") private Optional contentRating; @JsonProperty("summary") private String summary; @JsonInclude(Include.NON_ABSENT) @JsonProperty("rating") private Optional rating; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audienceRating") private Optional audienceRating; @JsonInclude(Include.NON_ABSENT) @JsonProperty("year") private Optional year; @JsonInclude(Include.NON_ABSENT) @JsonProperty("seasonCount") private Optional seasonCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("tagline") private Optional tagline; /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("flattenSeasons") private Optional flattenSeasons; /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("episodeSort") private Optional episodeSort; /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("enableCreditsMarkerGeneration") private Optional enableCreditsMarkerGeneration; /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("showOrdering") private Optional showOrdering; @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("art") private Optional art; @JsonInclude(Include.NON_ABSENT) @JsonProperty("banner") private Optional banner; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("originallyAvailableAt") private Optional originallyAvailableAt; /** * Unix epoch datetime in seconds */ @JsonProperty("addedAt") private long addedAt; /** * Unix epoch datetime in seconds */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("updatedAt") private Optional updatedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audienceRatingImage") private Optional audienceRatingImage; @JsonInclude(Include.NON_ABSENT) @JsonProperty("chapterSource") private Optional chapterSource; @JsonInclude(Include.NON_ABSENT) @JsonProperty("primaryExtraKey") private Optional primaryExtraKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("ratingImage") private Optional ratingImage; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentRatingKey") private Optional grandparentRatingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentGuid") private Optional grandparentGuid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentKey") private Optional grandparentKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentTitle") private Optional grandparentTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentThumb") private Optional grandparentThumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentSlug") private Optional parentSlug; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentSlug") private Optional grandparentSlug; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentArt") private Optional grandparentArt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentTheme") private Optional grandparentTheme; /** * The Media object is only included when type query is `4` or higher. * */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("Media") private Optional> media; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Genre") private Optional> genre; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Country") private Optional> country; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Director") private Optional> director; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Writer") private Optional> writer; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Collection") private Optional> collection; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Role") private Optional> role; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Location") private Optional> location; /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("Guid") private Optional> mediaGuid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("UltraBlurColors") private Optional ultraBlurColors; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Rating") private Optional> metaDataRating; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Image") private Optional> image; @JsonInclude(Include.NON_ABSENT) @JsonProperty("titleSort") private Optional titleSort; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewCount") private Optional viewCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("lastViewedAt") private Optional lastViewedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("originalTitle") private Optional originalTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewOffset") private Optional viewOffset; @JsonInclude(Include.NON_ABSENT) @JsonProperty("skipCount") private Optional skipCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("index") private Optional index; @JsonInclude(Include.NON_ABSENT) @JsonProperty("theme") private Optional theme; @JsonInclude(Include.NON_ABSENT) @JsonProperty("leafCount") private Optional leafCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewedLeafCount") private Optional viewedLeafCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("childCount") private Optional childCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("hasPremiumExtras") private Optional hasPremiumExtras; @JsonInclude(Include.NON_ABSENT) @JsonProperty("hasPremiumPrimaryExtra") private Optional hasPremiumPrimaryExtra; /** * The rating key of the parent item. * */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentRatingKey") private Optional parentRatingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentGuid") private Optional parentGuid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentStudio") private Optional parentStudio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentKey") private Optional parentKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentTitle") private Optional parentTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentIndex") private Optional parentIndex; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentYear") private Optional parentYear; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentThumb") private Optional parentThumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentTheme") private Optional parentTheme; @JsonCreator public GetLibraryItemsMetadata( @JsonProperty("ratingKey") String ratingKey, @JsonProperty("key") String key, @JsonProperty("guid") String guid, @JsonProperty("studio") Optional studio, @JsonProperty("skipChildren") Optional skipChildren, @JsonProperty("librarySectionID") Optional librarySectionID, @JsonProperty("librarySectionTitle") Optional librarySectionTitle, @JsonProperty("librarySectionKey") Optional librarySectionKey, @JsonProperty("type") GetLibraryItemsLibraryType type, @JsonProperty("title") String title, @JsonProperty("slug") Optional slug, @JsonProperty("contentRating") Optional contentRating, @JsonProperty("summary") String summary, @JsonProperty("rating") Optional rating, @JsonProperty("audienceRating") Optional audienceRating, @JsonProperty("year") Optional year, @JsonProperty("seasonCount") Optional seasonCount, @JsonProperty("tagline") Optional tagline, @JsonProperty("flattenSeasons") Optional flattenSeasons, @JsonProperty("episodeSort") Optional episodeSort, @JsonProperty("enableCreditsMarkerGeneration") Optional enableCreditsMarkerGeneration, @JsonProperty("showOrdering") Optional showOrdering, @JsonProperty("thumb") Optional thumb, @JsonProperty("art") Optional art, @JsonProperty("banner") Optional banner, @JsonProperty("duration") Optional duration, @JsonProperty("originallyAvailableAt") Optional originallyAvailableAt, @JsonProperty("addedAt") long addedAt, @JsonProperty("updatedAt") Optional updatedAt, @JsonProperty("audienceRatingImage") Optional audienceRatingImage, @JsonProperty("chapterSource") Optional chapterSource, @JsonProperty("primaryExtraKey") Optional primaryExtraKey, @JsonProperty("ratingImage") Optional ratingImage, @JsonProperty("grandparentRatingKey") Optional grandparentRatingKey, @JsonProperty("grandparentGuid") Optional grandparentGuid, @JsonProperty("grandparentKey") Optional grandparentKey, @JsonProperty("grandparentTitle") Optional grandparentTitle, @JsonProperty("grandparentThumb") Optional grandparentThumb, @JsonProperty("parentSlug") Optional parentSlug, @JsonProperty("grandparentSlug") Optional grandparentSlug, @JsonProperty("grandparentArt") Optional grandparentArt, @JsonProperty("grandparentTheme") Optional grandparentTheme, @JsonProperty("Media") Optional> media, @JsonProperty("Genre") Optional> genre, @JsonProperty("Country") Optional> country, @JsonProperty("Director") Optional> director, @JsonProperty("Writer") Optional> writer, @JsonProperty("Collection") Optional> collection, @JsonProperty("Role") Optional> role, @JsonProperty("Location") Optional> location, @JsonProperty("Guid") Optional> mediaGuid, @JsonProperty("UltraBlurColors") Optional ultraBlurColors, @JsonProperty("Rating") Optional> metaDataRating, @JsonProperty("Image") Optional> image, @JsonProperty("titleSort") Optional titleSort, @JsonProperty("viewCount") Optional viewCount, @JsonProperty("lastViewedAt") Optional lastViewedAt, @JsonProperty("originalTitle") Optional originalTitle, @JsonProperty("viewOffset") Optional viewOffset, @JsonProperty("skipCount") Optional skipCount, @JsonProperty("index") Optional index, @JsonProperty("theme") Optional theme, @JsonProperty("leafCount") Optional leafCount, @JsonProperty("viewedLeafCount") Optional viewedLeafCount, @JsonProperty("childCount") Optional childCount, @JsonProperty("hasPremiumExtras") Optional hasPremiumExtras, @JsonProperty("hasPremiumPrimaryExtra") Optional hasPremiumPrimaryExtra, @JsonProperty("parentRatingKey") Optional parentRatingKey, @JsonProperty("parentGuid") Optional parentGuid, @JsonProperty("parentStudio") Optional parentStudio, @JsonProperty("parentKey") Optional parentKey, @JsonProperty("parentTitle") Optional parentTitle, @JsonProperty("parentIndex") Optional parentIndex, @JsonProperty("parentYear") Optional parentYear, @JsonProperty("parentThumb") Optional parentThumb, @JsonProperty("parentTheme") Optional parentTheme) { Utils.checkNotNull(ratingKey, "ratingKey"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(guid, "guid"); Utils.checkNotNull(studio, "studio"); Utils.checkNotNull(skipChildren, "skipChildren"); Utils.checkNotNull(librarySectionID, "librarySectionID"); Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); Utils.checkNotNull(librarySectionKey, "librarySectionKey"); Utils.checkNotNull(type, "type"); Utils.checkNotNull(title, "title"); Utils.checkNotNull(slug, "slug"); Utils.checkNotNull(contentRating, "contentRating"); Utils.checkNotNull(summary, "summary"); Utils.checkNotNull(rating, "rating"); Utils.checkNotNull(audienceRating, "audienceRating"); Utils.checkNotNull(year, "year"); Utils.checkNotNull(seasonCount, "seasonCount"); Utils.checkNotNull(tagline, "tagline"); Utils.checkNotNull(flattenSeasons, "flattenSeasons"); Utils.checkNotNull(episodeSort, "episodeSort"); Utils.checkNotNull(enableCreditsMarkerGeneration, "enableCreditsMarkerGeneration"); Utils.checkNotNull(showOrdering, "showOrdering"); Utils.checkNotNull(thumb, "thumb"); Utils.checkNotNull(art, "art"); Utils.checkNotNull(banner, "banner"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); Utils.checkNotNull(addedAt, "addedAt"); Utils.checkNotNull(updatedAt, "updatedAt"); Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); Utils.checkNotNull(chapterSource, "chapterSource"); Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); Utils.checkNotNull(ratingImage, "ratingImage"); Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); Utils.checkNotNull(grandparentGuid, "grandparentGuid"); Utils.checkNotNull(grandparentKey, "grandparentKey"); Utils.checkNotNull(grandparentTitle, "grandparentTitle"); Utils.checkNotNull(grandparentThumb, "grandparentThumb"); Utils.checkNotNull(parentSlug, "parentSlug"); Utils.checkNotNull(grandparentSlug, "grandparentSlug"); Utils.checkNotNull(grandparentArt, "grandparentArt"); Utils.checkNotNull(grandparentTheme, "grandparentTheme"); Utils.checkNotNull(media, "media"); Utils.checkNotNull(genre, "genre"); Utils.checkNotNull(country, "country"); Utils.checkNotNull(director, "director"); Utils.checkNotNull(writer, "writer"); Utils.checkNotNull(collection, "collection"); Utils.checkNotNull(role, "role"); Utils.checkNotNull(location, "location"); Utils.checkNotNull(mediaGuid, "mediaGuid"); Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); Utils.checkNotNull(metaDataRating, "metaDataRating"); Utils.checkNotNull(image, "image"); Utils.checkNotNull(titleSort, "titleSort"); Utils.checkNotNull(viewCount, "viewCount"); Utils.checkNotNull(lastViewedAt, "lastViewedAt"); Utils.checkNotNull(originalTitle, "originalTitle"); Utils.checkNotNull(viewOffset, "viewOffset"); Utils.checkNotNull(skipCount, "skipCount"); Utils.checkNotNull(index, "index"); Utils.checkNotNull(theme, "theme"); Utils.checkNotNull(leafCount, "leafCount"); Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); Utils.checkNotNull(childCount, "childCount"); Utils.checkNotNull(hasPremiumExtras, "hasPremiumExtras"); Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); Utils.checkNotNull(parentRatingKey, "parentRatingKey"); Utils.checkNotNull(parentGuid, "parentGuid"); Utils.checkNotNull(parentStudio, "parentStudio"); Utils.checkNotNull(parentKey, "parentKey"); Utils.checkNotNull(parentTitle, "parentTitle"); Utils.checkNotNull(parentIndex, "parentIndex"); Utils.checkNotNull(parentYear, "parentYear"); Utils.checkNotNull(parentThumb, "parentThumb"); Utils.checkNotNull(parentTheme, "parentTheme"); this.ratingKey = ratingKey; this.key = key; this.guid = guid; this.studio = studio; this.skipChildren = skipChildren; this.librarySectionID = librarySectionID; this.librarySectionTitle = librarySectionTitle; this.librarySectionKey = librarySectionKey; this.type = type; this.title = title; this.slug = slug; this.contentRating = contentRating; this.summary = summary; this.rating = rating; this.audienceRating = audienceRating; this.year = year; this.seasonCount = seasonCount; this.tagline = tagline; this.flattenSeasons = flattenSeasons; this.episodeSort = episodeSort; this.enableCreditsMarkerGeneration = enableCreditsMarkerGeneration; this.showOrdering = showOrdering; this.thumb = thumb; this.art = art; this.banner = banner; this.duration = duration; this.originallyAvailableAt = originallyAvailableAt; this.addedAt = addedAt; this.updatedAt = updatedAt; this.audienceRatingImage = audienceRatingImage; this.chapterSource = chapterSource; this.primaryExtraKey = primaryExtraKey; this.ratingImage = ratingImage; this.grandparentRatingKey = grandparentRatingKey; this.grandparentGuid = grandparentGuid; this.grandparentKey = grandparentKey; this.grandparentTitle = grandparentTitle; this.grandparentThumb = grandparentThumb; this.parentSlug = parentSlug; this.grandparentSlug = grandparentSlug; this.grandparentArt = grandparentArt; this.grandparentTheme = grandparentTheme; this.media = media; this.genre = genre; this.country = country; this.director = director; this.writer = writer; this.collection = collection; this.role = role; this.location = location; this.mediaGuid = mediaGuid; this.ultraBlurColors = ultraBlurColors; this.metaDataRating = metaDataRating; this.image = image; this.titleSort = titleSort; this.viewCount = viewCount; this.lastViewedAt = lastViewedAt; this.originalTitle = originalTitle; this.viewOffset = viewOffset; this.skipCount = skipCount; this.index = index; this.theme = theme; this.leafCount = leafCount; this.viewedLeafCount = viewedLeafCount; this.childCount = childCount; this.hasPremiumExtras = hasPremiumExtras; this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; this.parentRatingKey = parentRatingKey; this.parentGuid = parentGuid; this.parentStudio = parentStudio; this.parentKey = parentKey; this.parentTitle = parentTitle; this.parentIndex = parentIndex; this.parentYear = parentYear; this.parentThumb = parentThumb; this.parentTheme = parentTheme; } public GetLibraryItemsMetadata( String ratingKey, String key, String guid, GetLibraryItemsLibraryType type, String title, String summary, long addedAt) { this(ratingKey, key, guid, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), type, title, Optional.empty(), Optional.empty(), summary, 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(), addedAt, 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(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } /** * The rating key (Media ID) of this media item. * Note: This is always an integer, but is represented as a string in the API. * */ @JsonIgnore public String ratingKey() { return ratingKey; } @JsonIgnore public String key() { return key; } @JsonIgnore public String guid() { return guid; } @JsonIgnore public Optional studio() { return studio; } @JsonIgnore public Optional skipChildren() { return skipChildren; } @JsonIgnore public Optional librarySectionID() { return librarySectionID; } @JsonIgnore public Optional librarySectionTitle() { return librarySectionTitle; } @JsonIgnore public Optional librarySectionKey() { return librarySectionKey; } /** * The type of media content * */ @JsonIgnore public GetLibraryItemsLibraryType type() { return type; } @JsonIgnore public String title() { return title; } @JsonIgnore public Optional slug() { return slug; } @JsonIgnore public Optional contentRating() { return contentRating; } @JsonIgnore public String summary() { return summary; } @JsonIgnore public Optional rating() { return rating; } @JsonIgnore public Optional audienceRating() { return audienceRating; } @JsonIgnore public Optional year() { return year; } @JsonIgnore public Optional seasonCount() { return seasonCount; } @JsonIgnore public Optional tagline() { return tagline; } /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ @SuppressWarnings("unchecked") @JsonIgnore public Optional flattenSeasons() { return (Optional) flattenSeasons; } /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ @SuppressWarnings("unchecked") @JsonIgnore public Optional episodeSort() { return (Optional) episodeSort; } /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ @SuppressWarnings("unchecked") @JsonIgnore public Optional enableCreditsMarkerGeneration() { return (Optional) enableCreditsMarkerGeneration; } /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ @SuppressWarnings("unchecked") @JsonIgnore public Optional showOrdering() { return (Optional) showOrdering; } @JsonIgnore public Optional thumb() { return thumb; } @JsonIgnore public Optional art() { return art; } @JsonIgnore public Optional banner() { return banner; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional originallyAvailableAt() { return originallyAvailableAt; } /** * Unix epoch datetime in seconds */ @JsonIgnore public long addedAt() { return addedAt; } /** * Unix epoch datetime in seconds */ @JsonIgnore public Optional updatedAt() { return updatedAt; } @JsonIgnore public Optional audienceRatingImage() { return audienceRatingImage; } @JsonIgnore public Optional chapterSource() { return chapterSource; } @JsonIgnore public Optional primaryExtraKey() { return primaryExtraKey; } @JsonIgnore public Optional ratingImage() { return ratingImage; } @JsonIgnore public Optional grandparentRatingKey() { return grandparentRatingKey; } @JsonIgnore public Optional grandparentGuid() { return grandparentGuid; } @JsonIgnore public Optional grandparentKey() { return grandparentKey; } @JsonIgnore public Optional grandparentTitle() { return grandparentTitle; } @JsonIgnore public Optional grandparentThumb() { return grandparentThumb; } @JsonIgnore public Optional parentSlug() { return parentSlug; } @JsonIgnore public Optional grandparentSlug() { return grandparentSlug; } @JsonIgnore public Optional grandparentArt() { return grandparentArt; } @JsonIgnore public Optional grandparentTheme() { return grandparentTheme; } /** * The Media object is only included when type query is `4` or higher. * */ @SuppressWarnings("unchecked") @JsonIgnore public Optional> media() { return (Optional>) media; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> genre() { return (Optional>) genre; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> country() { return (Optional>) country; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> director() { return (Optional>) director; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> writer() { return (Optional>) writer; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> collection() { return (Optional>) collection; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> role() { return (Optional>) role; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> location() { return (Optional>) location; } /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ @SuppressWarnings("unchecked") @JsonIgnore public Optional> mediaGuid() { return (Optional>) mediaGuid; } @SuppressWarnings("unchecked") @JsonIgnore public Optional ultraBlurColors() { return (Optional) ultraBlurColors; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> metaDataRating() { return (Optional>) metaDataRating; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> image() { return (Optional>) image; } @JsonIgnore public Optional titleSort() { return titleSort; } @JsonIgnore public Optional viewCount() { return viewCount; } @JsonIgnore public Optional lastViewedAt() { return lastViewedAt; } @JsonIgnore public Optional originalTitle() { return originalTitle; } @JsonIgnore public Optional viewOffset() { return viewOffset; } @JsonIgnore public Optional skipCount() { return skipCount; } @JsonIgnore public Optional index() { return index; } @JsonIgnore public Optional theme() { return theme; } @JsonIgnore public Optional leafCount() { return leafCount; } @JsonIgnore public Optional viewedLeafCount() { return viewedLeafCount; } @JsonIgnore public Optional childCount() { return childCount; } @JsonIgnore public Optional hasPremiumExtras() { return hasPremiumExtras; } @JsonIgnore public Optional hasPremiumPrimaryExtra() { return hasPremiumPrimaryExtra; } /** * The rating key of the parent item. * */ @JsonIgnore public Optional parentRatingKey() { return parentRatingKey; } @JsonIgnore public Optional parentGuid() { return parentGuid; } @JsonIgnore public Optional parentStudio() { return parentStudio; } @JsonIgnore public Optional parentKey() { return parentKey; } @JsonIgnore public Optional parentTitle() { return parentTitle; } @JsonIgnore public Optional parentIndex() { return parentIndex; } @JsonIgnore public Optional parentYear() { return parentYear; } @JsonIgnore public Optional parentThumb() { return parentThumb; } @JsonIgnore public Optional parentTheme() { return parentTheme; } public final static Builder builder() { return new Builder(); } /** * The rating key (Media ID) of this media item. * Note: This is always an integer, but is represented as a string in the API. * */ public GetLibraryItemsMetadata withRatingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public GetLibraryItemsMetadata withKey(String key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public GetLibraryItemsMetadata withGuid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public GetLibraryItemsMetadata withStudio(String studio) { Utils.checkNotNull(studio, "studio"); this.studio = Optional.ofNullable(studio); return this; } public GetLibraryItemsMetadata withStudio(Optional studio) { Utils.checkNotNull(studio, "studio"); this.studio = studio; return this; } public GetLibraryItemsMetadata withSkipChildren(boolean skipChildren) { Utils.checkNotNull(skipChildren, "skipChildren"); this.skipChildren = Optional.ofNullable(skipChildren); return this; } public GetLibraryItemsMetadata withSkipChildren(Optional skipChildren) { Utils.checkNotNull(skipChildren, "skipChildren"); this.skipChildren = skipChildren; return this; } public GetLibraryItemsMetadata withLibrarySectionID(long librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetLibraryItemsMetadata withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetLibraryItemsMetadata withLibrarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public GetLibraryItemsMetadata withLibrarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public GetLibraryItemsMetadata withLibrarySectionKey(String librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = Optional.ofNullable(librarySectionKey); return this; } public GetLibraryItemsMetadata withLibrarySectionKey(Optional librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = librarySectionKey; return this; } /** * The type of media content * */ public GetLibraryItemsMetadata withType(GetLibraryItemsLibraryType type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public GetLibraryItemsMetadata withTitle(String title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public GetLibraryItemsMetadata withSlug(String slug) { Utils.checkNotNull(slug, "slug"); this.slug = Optional.ofNullable(slug); return this; } public GetLibraryItemsMetadata withSlug(Optional slug) { Utils.checkNotNull(slug, "slug"); this.slug = slug; return this; } public GetLibraryItemsMetadata withContentRating(String contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = Optional.ofNullable(contentRating); return this; } public GetLibraryItemsMetadata withContentRating(Optional contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = contentRating; return this; } public GetLibraryItemsMetadata withSummary(String summary) { Utils.checkNotNull(summary, "summary"); this.summary = summary; return this; } public GetLibraryItemsMetadata withRating(double rating) { Utils.checkNotNull(rating, "rating"); this.rating = Optional.ofNullable(rating); return this; } public GetLibraryItemsMetadata withRating(Optional rating) { Utils.checkNotNull(rating, "rating"); this.rating = rating; return this; } public GetLibraryItemsMetadata withAudienceRating(double audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = Optional.ofNullable(audienceRating); return this; } public GetLibraryItemsMetadata withAudienceRating(Optional audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = audienceRating; return this; } public GetLibraryItemsMetadata withYear(int year) { Utils.checkNotNull(year, "year"); this.year = Optional.ofNullable(year); return this; } public GetLibraryItemsMetadata withYear(Optional year) { Utils.checkNotNull(year, "year"); this.year = year; return this; } public GetLibraryItemsMetadata withSeasonCount(int seasonCount) { Utils.checkNotNull(seasonCount, "seasonCount"); this.seasonCount = Optional.ofNullable(seasonCount); return this; } public GetLibraryItemsMetadata withSeasonCount(Optional seasonCount) { Utils.checkNotNull(seasonCount, "seasonCount"); this.seasonCount = seasonCount; return this; } public GetLibraryItemsMetadata withTagline(String tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = Optional.ofNullable(tagline); return this; } public GetLibraryItemsMetadata withTagline(Optional tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = tagline; return this; } /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ public GetLibraryItemsMetadata withFlattenSeasons(GetLibraryItemsFlattenSeasons flattenSeasons) { Utils.checkNotNull(flattenSeasons, "flattenSeasons"); this.flattenSeasons = Optional.ofNullable(flattenSeasons); return this; } /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ public GetLibraryItemsMetadata withFlattenSeasons(Optional flattenSeasons) { Utils.checkNotNull(flattenSeasons, "flattenSeasons"); this.flattenSeasons = flattenSeasons; return this; } /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ public GetLibraryItemsMetadata withEpisodeSort(GetLibraryItemsEpisodeSort episodeSort) { Utils.checkNotNull(episodeSort, "episodeSort"); this.episodeSort = Optional.ofNullable(episodeSort); return this; } /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ public GetLibraryItemsMetadata withEpisodeSort(Optional episodeSort) { Utils.checkNotNull(episodeSort, "episodeSort"); this.episodeSort = episodeSort; return this; } /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ public GetLibraryItemsMetadata withEnableCreditsMarkerGeneration(GetLibraryItemsEnableCreditsMarkerGeneration enableCreditsMarkerGeneration) { Utils.checkNotNull(enableCreditsMarkerGeneration, "enableCreditsMarkerGeneration"); this.enableCreditsMarkerGeneration = Optional.ofNullable(enableCreditsMarkerGeneration); return this; } /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ public GetLibraryItemsMetadata withEnableCreditsMarkerGeneration(Optional enableCreditsMarkerGeneration) { Utils.checkNotNull(enableCreditsMarkerGeneration, "enableCreditsMarkerGeneration"); this.enableCreditsMarkerGeneration = enableCreditsMarkerGeneration; return this; } /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ public GetLibraryItemsMetadata withShowOrdering(GetLibraryItemsShowOrdering showOrdering) { Utils.checkNotNull(showOrdering, "showOrdering"); this.showOrdering = Optional.ofNullable(showOrdering); return this; } /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ public GetLibraryItemsMetadata withShowOrdering(Optional showOrdering) { Utils.checkNotNull(showOrdering, "showOrdering"); this.showOrdering = showOrdering; return this; } public GetLibraryItemsMetadata withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public GetLibraryItemsMetadata withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetLibraryItemsMetadata withArt(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public GetLibraryItemsMetadata withArt(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public GetLibraryItemsMetadata withBanner(String banner) { Utils.checkNotNull(banner, "banner"); this.banner = Optional.ofNullable(banner); return this; } public GetLibraryItemsMetadata withBanner(Optional banner) { Utils.checkNotNull(banner, "banner"); this.banner = banner; return this; } public GetLibraryItemsMetadata withDuration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetLibraryItemsMetadata withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetLibraryItemsMetadata withOriginallyAvailableAt(LocalDate originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); return this; } public GetLibraryItemsMetadata withOriginallyAvailableAt(Optional originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = originallyAvailableAt; return this; } /** * Unix epoch datetime in seconds */ public GetLibraryItemsMetadata withAddedAt(long addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } /** * Unix epoch datetime in seconds */ public GetLibraryItemsMetadata withUpdatedAt(long updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } /** * Unix epoch datetime in seconds */ public GetLibraryItemsMetadata withUpdatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public GetLibraryItemsMetadata withAudienceRatingImage(String audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); return this; } public GetLibraryItemsMetadata withAudienceRatingImage(Optional audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = audienceRatingImage; return this; } public GetLibraryItemsMetadata withChapterSource(String chapterSource) { Utils.checkNotNull(chapterSource, "chapterSource"); this.chapterSource = Optional.ofNullable(chapterSource); return this; } public GetLibraryItemsMetadata withChapterSource(Optional chapterSource) { Utils.checkNotNull(chapterSource, "chapterSource"); this.chapterSource = chapterSource; return this; } public GetLibraryItemsMetadata withPrimaryExtraKey(String primaryExtraKey) { Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); this.primaryExtraKey = Optional.ofNullable(primaryExtraKey); return this; } public GetLibraryItemsMetadata withPrimaryExtraKey(Optional primaryExtraKey) { Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); this.primaryExtraKey = primaryExtraKey; return this; } public GetLibraryItemsMetadata withRatingImage(String ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = Optional.ofNullable(ratingImage); return this; } public GetLibraryItemsMetadata withRatingImage(Optional ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = ratingImage; return this; } public GetLibraryItemsMetadata withGrandparentRatingKey(String grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = Optional.ofNullable(grandparentRatingKey); return this; } public GetLibraryItemsMetadata withGrandparentRatingKey(Optional grandparentRatingKey) { Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); this.grandparentRatingKey = grandparentRatingKey; return this; } public GetLibraryItemsMetadata withGrandparentGuid(String grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = Optional.ofNullable(grandparentGuid); return this; } public GetLibraryItemsMetadata withGrandparentGuid(Optional grandparentGuid) { Utils.checkNotNull(grandparentGuid, "grandparentGuid"); this.grandparentGuid = grandparentGuid; return this; } public GetLibraryItemsMetadata withGrandparentKey(String grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = Optional.ofNullable(grandparentKey); return this; } public GetLibraryItemsMetadata withGrandparentKey(Optional grandparentKey) { Utils.checkNotNull(grandparentKey, "grandparentKey"); this.grandparentKey = grandparentKey; return this; } public GetLibraryItemsMetadata withGrandparentTitle(String grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = Optional.ofNullable(grandparentTitle); return this; } public GetLibraryItemsMetadata withGrandparentTitle(Optional grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = grandparentTitle; return this; } public GetLibraryItemsMetadata withGrandparentThumb(String grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = Optional.ofNullable(grandparentThumb); return this; } public GetLibraryItemsMetadata withGrandparentThumb(Optional grandparentThumb) { Utils.checkNotNull(grandparentThumb, "grandparentThumb"); this.grandparentThumb = grandparentThumb; return this; } public GetLibraryItemsMetadata withParentSlug(String parentSlug) { Utils.checkNotNull(parentSlug, "parentSlug"); this.parentSlug = Optional.ofNullable(parentSlug); return this; } public GetLibraryItemsMetadata withParentSlug(Optional parentSlug) { Utils.checkNotNull(parentSlug, "parentSlug"); this.parentSlug = parentSlug; return this; } public GetLibraryItemsMetadata withGrandparentSlug(String grandparentSlug) { Utils.checkNotNull(grandparentSlug, "grandparentSlug"); this.grandparentSlug = Optional.ofNullable(grandparentSlug); return this; } public GetLibraryItemsMetadata withGrandparentSlug(Optional grandparentSlug) { Utils.checkNotNull(grandparentSlug, "grandparentSlug"); this.grandparentSlug = grandparentSlug; return this; } public GetLibraryItemsMetadata withGrandparentArt(String grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = Optional.ofNullable(grandparentArt); return this; } public GetLibraryItemsMetadata withGrandparentArt(Optional grandparentArt) { Utils.checkNotNull(grandparentArt, "grandparentArt"); this.grandparentArt = grandparentArt; return this; } public GetLibraryItemsMetadata withGrandparentTheme(String grandparentTheme) { Utils.checkNotNull(grandparentTheme, "grandparentTheme"); this.grandparentTheme = Optional.ofNullable(grandparentTheme); return this; } public GetLibraryItemsMetadata withGrandparentTheme(Optional grandparentTheme) { Utils.checkNotNull(grandparentTheme, "grandparentTheme"); this.grandparentTheme = grandparentTheme; return this; } /** * The Media object is only included when type query is `4` or higher. * */ public GetLibraryItemsMetadata withMedia(List media) { Utils.checkNotNull(media, "media"); this.media = Optional.ofNullable(media); return this; } /** * The Media object is only included when type query is `4` or higher. * */ public GetLibraryItemsMetadata withMedia(Optional> media) { Utils.checkNotNull(media, "media"); this.media = media; return this; } public GetLibraryItemsMetadata withGenre(List genre) { Utils.checkNotNull(genre, "genre"); this.genre = Optional.ofNullable(genre); return this; } public GetLibraryItemsMetadata withGenre(Optional> genre) { Utils.checkNotNull(genre, "genre"); this.genre = genre; return this; } public GetLibraryItemsMetadata withCountry(List country) { Utils.checkNotNull(country, "country"); this.country = Optional.ofNullable(country); return this; } public GetLibraryItemsMetadata withCountry(Optional> country) { Utils.checkNotNull(country, "country"); this.country = country; return this; } public GetLibraryItemsMetadata withDirector(List director) { Utils.checkNotNull(director, "director"); this.director = Optional.ofNullable(director); return this; } public GetLibraryItemsMetadata withDirector(Optional> director) { Utils.checkNotNull(director, "director"); this.director = director; return this; } public GetLibraryItemsMetadata withWriter(List writer) { Utils.checkNotNull(writer, "writer"); this.writer = Optional.ofNullable(writer); return this; } public GetLibraryItemsMetadata withWriter(Optional> writer) { Utils.checkNotNull(writer, "writer"); this.writer = writer; return this; } public GetLibraryItemsMetadata withCollection(List collection) { Utils.checkNotNull(collection, "collection"); this.collection = Optional.ofNullable(collection); return this; } public GetLibraryItemsMetadata withCollection(Optional> collection) { Utils.checkNotNull(collection, "collection"); this.collection = collection; return this; } public GetLibraryItemsMetadata withRole(List role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } public GetLibraryItemsMetadata withRole(Optional> role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } public GetLibraryItemsMetadata withLocation(List location) { Utils.checkNotNull(location, "location"); this.location = Optional.ofNullable(location); return this; } public GetLibraryItemsMetadata withLocation(Optional> location) { Utils.checkNotNull(location, "location"); this.location = location; return this; } /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ public GetLibraryItemsMetadata withMediaGuid(List mediaGuid) { Utils.checkNotNull(mediaGuid, "mediaGuid"); this.mediaGuid = Optional.ofNullable(mediaGuid); return this; } /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ public GetLibraryItemsMetadata withMediaGuid(Optional> mediaGuid) { Utils.checkNotNull(mediaGuid, "mediaGuid"); this.mediaGuid = mediaGuid; return this; } public GetLibraryItemsMetadata withUltraBlurColors(GetLibraryItemsUltraBlurColors ultraBlurColors) { Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); this.ultraBlurColors = Optional.ofNullable(ultraBlurColors); return this; } public GetLibraryItemsMetadata withUltraBlurColors(Optional ultraBlurColors) { Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); this.ultraBlurColors = ultraBlurColors; return this; } public GetLibraryItemsMetadata withMetaDataRating(List metaDataRating) { Utils.checkNotNull(metaDataRating, "metaDataRating"); this.metaDataRating = Optional.ofNullable(metaDataRating); return this; } public GetLibraryItemsMetadata withMetaDataRating(Optional> metaDataRating) { Utils.checkNotNull(metaDataRating, "metaDataRating"); this.metaDataRating = metaDataRating; return this; } public GetLibraryItemsMetadata withImage(List image) { Utils.checkNotNull(image, "image"); this.image = Optional.ofNullable(image); return this; } public GetLibraryItemsMetadata withImage(Optional> image) { Utils.checkNotNull(image, "image"); this.image = image; return this; } public GetLibraryItemsMetadata withTitleSort(String titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = Optional.ofNullable(titleSort); return this; } public GetLibraryItemsMetadata withTitleSort(Optional titleSort) { Utils.checkNotNull(titleSort, "titleSort"); this.titleSort = titleSort; return this; } public GetLibraryItemsMetadata withViewCount(int viewCount) { Utils.checkNotNull(viewCount, "viewCount"); this.viewCount = Optional.ofNullable(viewCount); return this; } public GetLibraryItemsMetadata withViewCount(Optional viewCount) { Utils.checkNotNull(viewCount, "viewCount"); this.viewCount = viewCount; return this; } public GetLibraryItemsMetadata withLastViewedAt(int lastViewedAt) { Utils.checkNotNull(lastViewedAt, "lastViewedAt"); this.lastViewedAt = Optional.ofNullable(lastViewedAt); return this; } public GetLibraryItemsMetadata withLastViewedAt(Optional lastViewedAt) { Utils.checkNotNull(lastViewedAt, "lastViewedAt"); this.lastViewedAt = lastViewedAt; return this; } public GetLibraryItemsMetadata withOriginalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } public GetLibraryItemsMetadata withOriginalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; return this; } public GetLibraryItemsMetadata withViewOffset(int viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = Optional.ofNullable(viewOffset); return this; } public GetLibraryItemsMetadata withViewOffset(Optional viewOffset) { Utils.checkNotNull(viewOffset, "viewOffset"); this.viewOffset = viewOffset; return this; } public GetLibraryItemsMetadata withSkipCount(int skipCount) { Utils.checkNotNull(skipCount, "skipCount"); this.skipCount = Optional.ofNullable(skipCount); return this; } public GetLibraryItemsMetadata withSkipCount(Optional skipCount) { Utils.checkNotNull(skipCount, "skipCount"); this.skipCount = skipCount; return this; } public GetLibraryItemsMetadata withIndex(int index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } public GetLibraryItemsMetadata withIndex(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; return this; } public GetLibraryItemsMetadata withTheme(String theme) { Utils.checkNotNull(theme, "theme"); this.theme = Optional.ofNullable(theme); return this; } public GetLibraryItemsMetadata withTheme(Optional theme) { Utils.checkNotNull(theme, "theme"); this.theme = theme; return this; } public GetLibraryItemsMetadata withLeafCount(int leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = Optional.ofNullable(leafCount); return this; } public GetLibraryItemsMetadata withLeafCount(Optional leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = leafCount; return this; } public GetLibraryItemsMetadata withViewedLeafCount(int viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = Optional.ofNullable(viewedLeafCount); return this; } public GetLibraryItemsMetadata withViewedLeafCount(Optional viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = viewedLeafCount; return this; } public GetLibraryItemsMetadata withChildCount(int childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = Optional.ofNullable(childCount); return this; } public GetLibraryItemsMetadata withChildCount(Optional childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = childCount; return this; } public GetLibraryItemsMetadata withHasPremiumExtras(String hasPremiumExtras) { Utils.checkNotNull(hasPremiumExtras, "hasPremiumExtras"); this.hasPremiumExtras = Optional.ofNullable(hasPremiumExtras); return this; } public GetLibraryItemsMetadata withHasPremiumExtras(Optional hasPremiumExtras) { Utils.checkNotNull(hasPremiumExtras, "hasPremiumExtras"); this.hasPremiumExtras = hasPremiumExtras; return this; } public GetLibraryItemsMetadata withHasPremiumPrimaryExtra(String hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = Optional.ofNullable(hasPremiumPrimaryExtra); return this; } public GetLibraryItemsMetadata withHasPremiumPrimaryExtra(Optional hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; return this; } /** * The rating key of the parent item. * */ public GetLibraryItemsMetadata withParentRatingKey(String parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = Optional.ofNullable(parentRatingKey); return this; } /** * The rating key of the parent item. * */ public GetLibraryItemsMetadata withParentRatingKey(Optional parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = parentRatingKey; return this; } public GetLibraryItemsMetadata withParentGuid(String parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = Optional.ofNullable(parentGuid); return this; } public GetLibraryItemsMetadata withParentGuid(Optional parentGuid) { Utils.checkNotNull(parentGuid, "parentGuid"); this.parentGuid = parentGuid; return this; } public GetLibraryItemsMetadata withParentStudio(String parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = Optional.ofNullable(parentStudio); return this; } public GetLibraryItemsMetadata withParentStudio(Optional parentStudio) { Utils.checkNotNull(parentStudio, "parentStudio"); this.parentStudio = parentStudio; return this; } public GetLibraryItemsMetadata withParentKey(String parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = Optional.ofNullable(parentKey); return this; } public GetLibraryItemsMetadata withParentKey(Optional parentKey) { Utils.checkNotNull(parentKey, "parentKey"); this.parentKey = parentKey; return this; } public GetLibraryItemsMetadata withParentTitle(String parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = Optional.ofNullable(parentTitle); return this; } public GetLibraryItemsMetadata withParentTitle(Optional parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = parentTitle; return this; } public GetLibraryItemsMetadata withParentIndex(int parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = Optional.ofNullable(parentIndex); return this; } public GetLibraryItemsMetadata withParentIndex(Optional parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = parentIndex; return this; } public GetLibraryItemsMetadata withParentYear(int parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = Optional.ofNullable(parentYear); return this; } public GetLibraryItemsMetadata withParentYear(Optional parentYear) { Utils.checkNotNull(parentYear, "parentYear"); this.parentYear = parentYear; return this; } public GetLibraryItemsMetadata withParentThumb(String parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = Optional.ofNullable(parentThumb); return this; } public GetLibraryItemsMetadata withParentThumb(Optional parentThumb) { Utils.checkNotNull(parentThumb, "parentThumb"); this.parentThumb = parentThumb; return this; } public GetLibraryItemsMetadata withParentTheme(String parentTheme) { Utils.checkNotNull(parentTheme, "parentTheme"); this.parentTheme = Optional.ofNullable(parentTheme); return this; } public GetLibraryItemsMetadata withParentTheme(Optional parentTheme) { Utils.checkNotNull(parentTheme, "parentTheme"); this.parentTheme = parentTheme; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetLibraryItemsMetadata other = (GetLibraryItemsMetadata) o; return Objects.deepEquals(this.ratingKey, other.ratingKey) && Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.guid, other.guid) && Objects.deepEquals(this.studio, other.studio) && Objects.deepEquals(this.skipChildren, other.skipChildren) && Objects.deepEquals(this.librarySectionID, other.librarySectionID) && Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && Objects.deepEquals(this.librarySectionKey, other.librarySectionKey) && Objects.deepEquals(this.type, other.type) && Objects.deepEquals(this.title, other.title) && Objects.deepEquals(this.slug, other.slug) && Objects.deepEquals(this.contentRating, other.contentRating) && Objects.deepEquals(this.summary, other.summary) && Objects.deepEquals(this.rating, other.rating) && Objects.deepEquals(this.audienceRating, other.audienceRating) && Objects.deepEquals(this.year, other.year) && Objects.deepEquals(this.seasonCount, other.seasonCount) && Objects.deepEquals(this.tagline, other.tagline) && Objects.deepEquals(this.flattenSeasons, other.flattenSeasons) && Objects.deepEquals(this.episodeSort, other.episodeSort) && Objects.deepEquals(this.enableCreditsMarkerGeneration, other.enableCreditsMarkerGeneration) && Objects.deepEquals(this.showOrdering, other.showOrdering) && Objects.deepEquals(this.thumb, other.thumb) && Objects.deepEquals(this.art, other.art) && Objects.deepEquals(this.banner, other.banner) && Objects.deepEquals(this.duration, other.duration) && Objects.deepEquals(this.originallyAvailableAt, other.originallyAvailableAt) && Objects.deepEquals(this.addedAt, other.addedAt) && Objects.deepEquals(this.updatedAt, other.updatedAt) && Objects.deepEquals(this.audienceRatingImage, other.audienceRatingImage) && Objects.deepEquals(this.chapterSource, other.chapterSource) && Objects.deepEquals(this.primaryExtraKey, other.primaryExtraKey) && Objects.deepEquals(this.ratingImage, other.ratingImage) && Objects.deepEquals(this.grandparentRatingKey, other.grandparentRatingKey) && Objects.deepEquals(this.grandparentGuid, other.grandparentGuid) && Objects.deepEquals(this.grandparentKey, other.grandparentKey) && Objects.deepEquals(this.grandparentTitle, other.grandparentTitle) && Objects.deepEquals(this.grandparentThumb, other.grandparentThumb) && Objects.deepEquals(this.parentSlug, other.parentSlug) && Objects.deepEquals(this.grandparentSlug, other.grandparentSlug) && Objects.deepEquals(this.grandparentArt, other.grandparentArt) && Objects.deepEquals(this.grandparentTheme, other.grandparentTheme) && Objects.deepEquals(this.media, other.media) && Objects.deepEquals(this.genre, other.genre) && Objects.deepEquals(this.country, other.country) && Objects.deepEquals(this.director, other.director) && Objects.deepEquals(this.writer, other.writer) && Objects.deepEquals(this.collection, other.collection) && Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.location, other.location) && Objects.deepEquals(this.mediaGuid, other.mediaGuid) && Objects.deepEquals(this.ultraBlurColors, other.ultraBlurColors) && Objects.deepEquals(this.metaDataRating, other.metaDataRating) && Objects.deepEquals(this.image, other.image) && Objects.deepEquals(this.titleSort, other.titleSort) && Objects.deepEquals(this.viewCount, other.viewCount) && Objects.deepEquals(this.lastViewedAt, other.lastViewedAt) && Objects.deepEquals(this.originalTitle, other.originalTitle) && Objects.deepEquals(this.viewOffset, other.viewOffset) && Objects.deepEquals(this.skipCount, other.skipCount) && Objects.deepEquals(this.index, other.index) && Objects.deepEquals(this.theme, other.theme) && Objects.deepEquals(this.leafCount, other.leafCount) && Objects.deepEquals(this.viewedLeafCount, other.viewedLeafCount) && Objects.deepEquals(this.childCount, other.childCount) && Objects.deepEquals(this.hasPremiumExtras, other.hasPremiumExtras) && Objects.deepEquals(this.hasPremiumPrimaryExtra, other.hasPremiumPrimaryExtra) && Objects.deepEquals(this.parentRatingKey, other.parentRatingKey) && Objects.deepEquals(this.parentGuid, other.parentGuid) && Objects.deepEquals(this.parentStudio, other.parentStudio) && Objects.deepEquals(this.parentKey, other.parentKey) && Objects.deepEquals(this.parentTitle, other.parentTitle) && Objects.deepEquals(this.parentIndex, other.parentIndex) && Objects.deepEquals(this.parentYear, other.parentYear) && Objects.deepEquals(this.parentThumb, other.parentThumb) && Objects.deepEquals(this.parentTheme, other.parentTheme); } @Override public int hashCode() { return Objects.hash( ratingKey, key, guid, studio, skipChildren, librarySectionID, librarySectionTitle, librarySectionKey, type, title, slug, contentRating, summary, rating, audienceRating, year, seasonCount, tagline, flattenSeasons, episodeSort, enableCreditsMarkerGeneration, showOrdering, thumb, art, banner, duration, originallyAvailableAt, addedAt, updatedAt, audienceRatingImage, chapterSource, primaryExtraKey, ratingImage, grandparentRatingKey, grandparentGuid, grandparentKey, grandparentTitle, grandparentThumb, parentSlug, grandparentSlug, grandparentArt, grandparentTheme, media, genre, country, director, writer, collection, role, location, mediaGuid, ultraBlurColors, metaDataRating, image, titleSort, viewCount, lastViewedAt, originalTitle, viewOffset, skipCount, index, theme, leafCount, viewedLeafCount, childCount, hasPremiumExtras, hasPremiumPrimaryExtra, parentRatingKey, parentGuid, parentStudio, parentKey, parentTitle, parentIndex, parentYear, parentThumb, parentTheme); } @Override public String toString() { return Utils.toString(GetLibraryItemsMetadata.class, "ratingKey", ratingKey, "key", key, "guid", guid, "studio", studio, "skipChildren", skipChildren, "librarySectionID", librarySectionID, "librarySectionTitle", librarySectionTitle, "librarySectionKey", librarySectionKey, "type", type, "title", title, "slug", slug, "contentRating", contentRating, "summary", summary, "rating", rating, "audienceRating", audienceRating, "year", year, "seasonCount", seasonCount, "tagline", tagline, "flattenSeasons", flattenSeasons, "episodeSort", episodeSort, "enableCreditsMarkerGeneration", enableCreditsMarkerGeneration, "showOrdering", showOrdering, "thumb", thumb, "art", art, "banner", banner, "duration", duration, "originallyAvailableAt", originallyAvailableAt, "addedAt", addedAt, "updatedAt", updatedAt, "audienceRatingImage", audienceRatingImage, "chapterSource", chapterSource, "primaryExtraKey", primaryExtraKey, "ratingImage", ratingImage, "grandparentRatingKey", grandparentRatingKey, "grandparentGuid", grandparentGuid, "grandparentKey", grandparentKey, "grandparentTitle", grandparentTitle, "grandparentThumb", grandparentThumb, "parentSlug", parentSlug, "grandparentSlug", grandparentSlug, "grandparentArt", grandparentArt, "grandparentTheme", grandparentTheme, "media", media, "genre", genre, "country", country, "director", director, "writer", writer, "collection", collection, "role", role, "location", location, "mediaGuid", mediaGuid, "ultraBlurColors", ultraBlurColors, "metaDataRating", metaDataRating, "image", image, "titleSort", titleSort, "viewCount", viewCount, "lastViewedAt", lastViewedAt, "originalTitle", originalTitle, "viewOffset", viewOffset, "skipCount", skipCount, "index", index, "theme", theme, "leafCount", leafCount, "viewedLeafCount", viewedLeafCount, "childCount", childCount, "hasPremiumExtras", hasPremiumExtras, "hasPremiumPrimaryExtra", hasPremiumPrimaryExtra, "parentRatingKey", parentRatingKey, "parentGuid", parentGuid, "parentStudio", parentStudio, "parentKey", parentKey, "parentTitle", parentTitle, "parentIndex", parentIndex, "parentYear", parentYear, "parentThumb", parentThumb, "parentTheme", parentTheme); } public final static class Builder { private String ratingKey; private String key; private String guid; private Optional studio = Optional.empty(); private Optional skipChildren = Optional.empty(); private Optional librarySectionID = Optional.empty(); private Optional librarySectionTitle = Optional.empty(); private Optional librarySectionKey = Optional.empty(); private GetLibraryItemsLibraryType type; private String title; private Optional slug = Optional.empty(); private Optional contentRating = Optional.empty(); private String summary; private Optional rating = Optional.empty(); private Optional audienceRating = Optional.empty(); private Optional year = Optional.empty(); private Optional seasonCount = Optional.empty(); private Optional tagline = Optional.empty(); private Optional flattenSeasons = Optional.empty(); private Optional episodeSort = Optional.empty(); private Optional enableCreditsMarkerGeneration = Optional.empty(); private Optional showOrdering = Optional.empty(); private Optional thumb = Optional.empty(); private Optional art = Optional.empty(); private Optional banner = Optional.empty(); private Optional duration = Optional.empty(); private Optional originallyAvailableAt = Optional.empty(); private Long addedAt; private Optional updatedAt = Optional.empty(); private Optional audienceRatingImage = Optional.empty(); private Optional chapterSource = Optional.empty(); private Optional primaryExtraKey = Optional.empty(); private Optional ratingImage = Optional.empty(); private Optional grandparentRatingKey = Optional.empty(); private Optional grandparentGuid = Optional.empty(); private Optional grandparentKey = Optional.empty(); private Optional grandparentTitle = Optional.empty(); private Optional grandparentThumb = Optional.empty(); private Optional parentSlug = Optional.empty(); private Optional grandparentSlug = Optional.empty(); private Optional grandparentArt = Optional.empty(); private Optional grandparentTheme = Optional.empty(); private Optional> media = Optional.empty(); private Optional> genre = Optional.empty(); private Optional> country = Optional.empty(); private Optional> director = Optional.empty(); private Optional> writer = Optional.empty(); private Optional> collection = Optional.empty(); private Optional> role = Optional.empty(); private Optional> location = Optional.empty(); private Optional> mediaGuid = Optional.empty(); private Optional ultraBlurColors = Optional.empty(); private Optional> metaDataRating = Optional.empty(); private Optional> image = Optional.empty(); private Optional titleSort = Optional.empty(); private Optional viewCount = Optional.empty(); private Optional lastViewedAt = Optional.empty(); private Optional originalTitle = Optional.empty(); private Optional viewOffset = Optional.empty(); private Optional skipCount = Optional.empty(); private Optional index = Optional.empty(); private Optional theme = Optional.empty(); private Optional leafCount = Optional.empty(); private Optional viewedLeafCount = Optional.empty(); private Optional childCount = Optional.empty(); private Optional hasPremiumExtras = Optional.empty(); private Optional hasPremiumPrimaryExtra = Optional.empty(); private Optional parentRatingKey = Optional.empty(); private Optional parentGuid = Optional.empty(); private Optional parentStudio = Optional.empty(); private Optional parentKey = Optional.empty(); private Optional parentTitle = Optional.empty(); private Optional parentIndex = Optional.empty(); private Optional parentYear = Optional.empty(); private Optional parentThumb = Optional.empty(); private Optional parentTheme = Optional.empty(); private Builder() { // force use of static builder() method } /** * The rating key (Media ID) of this media item. * Note: This is always an integer, but is represented as a string in the API. * */ public Builder ratingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public Builder key(String key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public Builder guid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public Builder studio(String studio) { Utils.checkNotNull(studio, "studio"); this.studio = Optional.ofNullable(studio); return this; } public Builder studio(Optional studio) { Utils.checkNotNull(studio, "studio"); this.studio = studio; return this; } public Builder skipChildren(boolean skipChildren) { Utils.checkNotNull(skipChildren, "skipChildren"); this.skipChildren = Optional.ofNullable(skipChildren); return this; } public Builder skipChildren(Optional skipChildren) { Utils.checkNotNull(skipChildren, "skipChildren"); this.skipChildren = skipChildren; return this; } public Builder librarySectionID(long 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 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 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; } /** * The type of media content * */ public Builder type(GetLibraryItemsLibraryType type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public Builder title(String title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public Builder slug(String slug) { Utils.checkNotNull(slug, "slug"); this.slug = Optional.ofNullable(slug); return this; } public Builder slug(Optional slug) { Utils.checkNotNull(slug, "slug"); this.slug = slug; return this; } public Builder contentRating(String contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = Optional.ofNullable(contentRating); return this; } public Builder contentRating(Optional contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = contentRating; return this; } public Builder summary(String summary) { Utils.checkNotNull(summary, "summary"); this.summary = summary; return this; } public Builder rating(double rating) { Utils.checkNotNull(rating, "rating"); this.rating = Optional.ofNullable(rating); return this; } public Builder rating(Optional rating) { Utils.checkNotNull(rating, "rating"); this.rating = rating; return this; } public Builder audienceRating(double audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = Optional.ofNullable(audienceRating); return this; } public Builder audienceRating(Optional audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = audienceRating; return this; } public Builder year(int year) { Utils.checkNotNull(year, "year"); this.year = Optional.ofNullable(year); return this; } public Builder year(Optional year) { Utils.checkNotNull(year, "year"); this.year = year; return this; } public Builder seasonCount(int seasonCount) { Utils.checkNotNull(seasonCount, "seasonCount"); this.seasonCount = Optional.ofNullable(seasonCount); return this; } public Builder seasonCount(Optional seasonCount) { Utils.checkNotNull(seasonCount, "seasonCount"); this.seasonCount = seasonCount; return this; } public Builder tagline(String tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = Optional.ofNullable(tagline); return this; } public Builder tagline(Optional tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = tagline; return this; } /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ public Builder flattenSeasons(GetLibraryItemsFlattenSeasons flattenSeasons) { Utils.checkNotNull(flattenSeasons, "flattenSeasons"); this.flattenSeasons = Optional.ofNullable(flattenSeasons); return this; } /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ public Builder flattenSeasons(Optional flattenSeasons) { Utils.checkNotNull(flattenSeasons, "flattenSeasons"); this.flattenSeasons = flattenSeasons; return this; } /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ public Builder episodeSort(GetLibraryItemsEpisodeSort episodeSort) { Utils.checkNotNull(episodeSort, "episodeSort"); this.episodeSort = Optional.ofNullable(episodeSort); return this; } /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ public Builder episodeSort(Optional episodeSort) { Utils.checkNotNull(episodeSort, "episodeSort"); this.episodeSort = episodeSort; return this; } /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ public Builder enableCreditsMarkerGeneration(GetLibraryItemsEnableCreditsMarkerGeneration enableCreditsMarkerGeneration) { Utils.checkNotNull(enableCreditsMarkerGeneration, "enableCreditsMarkerGeneration"); this.enableCreditsMarkerGeneration = Optional.ofNullable(enableCreditsMarkerGeneration); return this; } /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ public Builder enableCreditsMarkerGeneration(Optional enableCreditsMarkerGeneration) { Utils.checkNotNull(enableCreditsMarkerGeneration, "enableCreditsMarkerGeneration"); this.enableCreditsMarkerGeneration = enableCreditsMarkerGeneration; return this; } /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ public Builder showOrdering(GetLibraryItemsShowOrdering showOrdering) { Utils.checkNotNull(showOrdering, "showOrdering"); this.showOrdering = Optional.ofNullable(showOrdering); return this; } /** * Setting that indicates the episode ordering for the show. * None = Library default, * tmdbAiring = The Movie Database (Aired), * aired = TheTVDB (Aired), * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). * */ public Builder showOrdering(Optional showOrdering) { Utils.checkNotNull(showOrdering, "showOrdering"); this.showOrdering = showOrdering; 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 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 banner(String banner) { Utils.checkNotNull(banner, "banner"); this.banner = Optional.ofNullable(banner); return this; } public Builder banner(Optional banner) { Utils.checkNotNull(banner, "banner"); this.banner = banner; 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 originallyAvailableAt(LocalDate originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); return this; } public Builder originallyAvailableAt(Optional originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = originallyAvailableAt; return this; } /** * Unix epoch datetime in seconds */ public Builder addedAt(long addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } /** * Unix epoch datetime in seconds */ public Builder updatedAt(long updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } /** * Unix epoch datetime in seconds */ public Builder updatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public Builder audienceRatingImage(String audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); return this; } public Builder audienceRatingImage(Optional audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = audienceRatingImage; return this; } public Builder chapterSource(String chapterSource) { Utils.checkNotNull(chapterSource, "chapterSource"); this.chapterSource = Optional.ofNullable(chapterSource); return this; } public Builder chapterSource(Optional chapterSource) { Utils.checkNotNull(chapterSource, "chapterSource"); this.chapterSource = chapterSource; return this; } public Builder primaryExtraKey(String primaryExtraKey) { Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); this.primaryExtraKey = Optional.ofNullable(primaryExtraKey); return this; } public Builder primaryExtraKey(Optional primaryExtraKey) { Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); this.primaryExtraKey = primaryExtraKey; return this; } public Builder ratingImage(String ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = Optional.ofNullable(ratingImage); return this; } public Builder ratingImage(Optional ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = ratingImage; 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 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 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 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 parentSlug(String parentSlug) { Utils.checkNotNull(parentSlug, "parentSlug"); this.parentSlug = Optional.ofNullable(parentSlug); return this; } public Builder parentSlug(Optional parentSlug) { Utils.checkNotNull(parentSlug, "parentSlug"); this.parentSlug = parentSlug; return this; } public Builder grandparentSlug(String grandparentSlug) { Utils.checkNotNull(grandparentSlug, "grandparentSlug"); this.grandparentSlug = Optional.ofNullable(grandparentSlug); return this; } public Builder grandparentSlug(Optional grandparentSlug) { Utils.checkNotNull(grandparentSlug, "grandparentSlug"); this.grandparentSlug = grandparentSlug; 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 grandparentTheme(String grandparentTheme) { Utils.checkNotNull(grandparentTheme, "grandparentTheme"); this.grandparentTheme = Optional.ofNullable(grandparentTheme); return this; } public Builder grandparentTheme(Optional grandparentTheme) { Utils.checkNotNull(grandparentTheme, "grandparentTheme"); this.grandparentTheme = grandparentTheme; return this; } /** * The Media object is only included when type query is `4` or higher. * */ public Builder media(List media) { Utils.checkNotNull(media, "media"); this.media = Optional.ofNullable(media); return this; } /** * The Media object is only included when type query is `4` or higher. * */ public Builder media(Optional> media) { Utils.checkNotNull(media, "media"); this.media = media; return this; } public Builder genre(List genre) { Utils.checkNotNull(genre, "genre"); this.genre = Optional.ofNullable(genre); return this; } public Builder genre(Optional> genre) { Utils.checkNotNull(genre, "genre"); this.genre = genre; return this; } public Builder country(List country) { Utils.checkNotNull(country, "country"); this.country = Optional.ofNullable(country); return this; } public Builder country(Optional> country) { Utils.checkNotNull(country, "country"); this.country = country; return this; } public Builder director(List director) { Utils.checkNotNull(director, "director"); this.director = Optional.ofNullable(director); return this; } public Builder director(Optional> director) { Utils.checkNotNull(director, "director"); this.director = director; return this; } public Builder writer(List writer) { Utils.checkNotNull(writer, "writer"); this.writer = Optional.ofNullable(writer); return this; } public Builder writer(Optional> writer) { Utils.checkNotNull(writer, "writer"); this.writer = writer; return this; } public Builder collection(List collection) { Utils.checkNotNull(collection, "collection"); this.collection = Optional.ofNullable(collection); return this; } public Builder collection(Optional> collection) { Utils.checkNotNull(collection, "collection"); this.collection = collection; return this; } public Builder role(List role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } public Builder role(Optional> role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } public Builder location(List location) { Utils.checkNotNull(location, "location"); this.location = Optional.ofNullable(location); return this; } public Builder location(Optional> location) { Utils.checkNotNull(location, "location"); this.location = location; return this; } /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ public Builder mediaGuid(List mediaGuid) { Utils.checkNotNull(mediaGuid, "mediaGuid"); this.mediaGuid = Optional.ofNullable(mediaGuid); return this; } /** * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. * */ public Builder mediaGuid(Optional> mediaGuid) { Utils.checkNotNull(mediaGuid, "mediaGuid"); this.mediaGuid = mediaGuid; return this; } public Builder ultraBlurColors(GetLibraryItemsUltraBlurColors ultraBlurColors) { Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); this.ultraBlurColors = Optional.ofNullable(ultraBlurColors); return this; } public Builder ultraBlurColors(Optional ultraBlurColors) { Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); this.ultraBlurColors = ultraBlurColors; return this; } public Builder metaDataRating(List metaDataRating) { Utils.checkNotNull(metaDataRating, "metaDataRating"); this.metaDataRating = Optional.ofNullable(metaDataRating); return this; } public Builder metaDataRating(Optional> metaDataRating) { Utils.checkNotNull(metaDataRating, "metaDataRating"); this.metaDataRating = metaDataRating; return this; } public Builder image(List image) { Utils.checkNotNull(image, "image"); this.image = Optional.ofNullable(image); return this; } public Builder image(Optional> image) { Utils.checkNotNull(image, "image"); this.image = image; 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 viewCount(int viewCount) { Utils.checkNotNull(viewCount, "viewCount"); this.viewCount = Optional.ofNullable(viewCount); return this; } public Builder viewCount(Optional viewCount) { Utils.checkNotNull(viewCount, "viewCount"); this.viewCount = viewCount; return this; } public Builder lastViewedAt(int lastViewedAt) { Utils.checkNotNull(lastViewedAt, "lastViewedAt"); this.lastViewedAt = Optional.ofNullable(lastViewedAt); return this; } public Builder lastViewedAt(Optional lastViewedAt) { Utils.checkNotNull(lastViewedAt, "lastViewedAt"); this.lastViewedAt = lastViewedAt; return this; } public Builder originalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } public Builder originalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; 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 skipCount(int skipCount) { Utils.checkNotNull(skipCount, "skipCount"); this.skipCount = Optional.ofNullable(skipCount); return this; } public Builder skipCount(Optional skipCount) { Utils.checkNotNull(skipCount, "skipCount"); this.skipCount = skipCount; 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 theme(String theme) { Utils.checkNotNull(theme, "theme"); this.theme = Optional.ofNullable(theme); return this; } public Builder theme(Optional theme) { Utils.checkNotNull(theme, "theme"); this.theme = theme; return this; } public Builder leafCount(int leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = Optional.ofNullable(leafCount); return this; } public Builder leafCount(Optional leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = leafCount; return this; } public Builder viewedLeafCount(int viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = Optional.ofNullable(viewedLeafCount); return this; } public Builder viewedLeafCount(Optional viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = viewedLeafCount; return this; } public Builder childCount(int childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = Optional.ofNullable(childCount); return this; } public Builder childCount(Optional childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = childCount; return this; } public Builder hasPremiumExtras(String hasPremiumExtras) { Utils.checkNotNull(hasPremiumExtras, "hasPremiumExtras"); this.hasPremiumExtras = Optional.ofNullable(hasPremiumExtras); return this; } public Builder hasPremiumExtras(Optional hasPremiumExtras) { Utils.checkNotNull(hasPremiumExtras, "hasPremiumExtras"); this.hasPremiumExtras = hasPremiumExtras; return this; } public Builder hasPremiumPrimaryExtra(String hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = Optional.ofNullable(hasPremiumPrimaryExtra); return this; } public Builder hasPremiumPrimaryExtra(Optional hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; return this; } /** * The rating key of the parent item. * */ public Builder parentRatingKey(String parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = Optional.ofNullable(parentRatingKey); return this; } /** * The rating key of the parent item. * */ public Builder parentRatingKey(Optional parentRatingKey) { Utils.checkNotNull(parentRatingKey, "parentRatingKey"); this.parentRatingKey = parentRatingKey; 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 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 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 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 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 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 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 parentTheme(String parentTheme) { Utils.checkNotNull(parentTheme, "parentTheme"); this.parentTheme = Optional.ofNullable(parentTheme); return this; } public Builder parentTheme(Optional parentTheme) { Utils.checkNotNull(parentTheme, "parentTheme"); this.parentTheme = parentTheme; return this; } public GetLibraryItemsMetadata build() { return new GetLibraryItemsMetadata( ratingKey, key, guid, studio, skipChildren, librarySectionID, librarySectionTitle, librarySectionKey, type, title, slug, contentRating, summary, rating, audienceRating, year, seasonCount, tagline, flattenSeasons, episodeSort, enableCreditsMarkerGeneration, showOrdering, thumb, art, banner, duration, originallyAvailableAt, addedAt, updatedAt, audienceRatingImage, chapterSource, primaryExtraKey, ratingImage, grandparentRatingKey, grandparentGuid, grandparentKey, grandparentTitle, grandparentThumb, parentSlug, grandparentSlug, grandparentArt, grandparentTheme, media, genre, country, director, writer, collection, role, location, mediaGuid, ultraBlurColors, metaDataRating, image, titleSort, viewCount, lastViewedAt, originalTitle, viewOffset, skipCount, index, theme, leafCount, viewedLeafCount, childCount, hasPremiumExtras, hasPremiumPrimaryExtra, parentRatingKey, parentGuid, parentStudio, parentKey, parentTitle, parentIndex, parentYear, parentThumb, parentTheme); } } }