/* * 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.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 GetMetaDataByRatingKeyMetadata { @JsonInclude(Include.NON_ABSENT) @JsonProperty("ratingKey") private Optional ratingKey; @JsonInclude(Include.NON_ABSENT) @JsonProperty("key") private Optional key; @JsonInclude(Include.NON_ABSENT) @JsonProperty("guid") private Optional guid; @JsonInclude(Include.NON_ABSENT) @JsonProperty("studio") private Optional studio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("type") private Optional type; @JsonInclude(Include.NON_ABSENT) @JsonProperty("title") private Optional title; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionTitle") private Optional librarySectionTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionID") private Optional librarySectionID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionKey") private Optional librarySectionKey; /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("grandparentTitle") private Optional grandparentTitle; /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentTitle") private Optional parentTitle; /** * The orginal untranslated name of the media item when non-english. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("originalTitle") private Optional originalTitle; /** * The index starting from 0 of this media item in the MetaData array. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("index") private Optional index; /** * The parent index starting from 0 of this media item in the parent MetaData array. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("parentIndex") private Optional parentIndex; @JsonInclude(Include.NON_ABSENT) @JsonProperty("contentRating") private Optional contentRating; @JsonInclude(Include.NON_ABSENT) @JsonProperty("summary") private Optional 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("tagline") private Optional tagline; @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("art") private Optional art; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("originallyAvailableAt") private Optional originallyAvailableAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("addedAt") private Optional addedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("updatedAt") private Optional updatedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audienceRatingImage") private Optional audienceRatingImage; @JsonInclude(Include.NON_ABSENT) @JsonProperty("hasPremiumPrimaryExtra") private Optional hasPremiumPrimaryExtra; @JsonInclude(Include.NON_ABSENT) @JsonProperty("ratingImage") private Optional ratingImage; @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("Guid") private Optional> guids; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Rating") private Optional> ratings; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Director") private Optional> director; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Writer") private Optional> writer; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Role") private Optional> role; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Producer") private Optional> producer; @JsonCreator public GetMetaDataByRatingKeyMetadata( @JsonProperty("ratingKey") Optional ratingKey, @JsonProperty("key") Optional key, @JsonProperty("guid") Optional guid, @JsonProperty("studio") Optional studio, @JsonProperty("type") Optional type, @JsonProperty("title") Optional title, @JsonProperty("librarySectionTitle") Optional librarySectionTitle, @JsonProperty("librarySectionID") Optional librarySectionID, @JsonProperty("librarySectionKey") Optional librarySectionKey, @JsonProperty("grandparentTitle") Optional grandparentTitle, @JsonProperty("parentTitle") Optional parentTitle, @JsonProperty("originalTitle") Optional originalTitle, @JsonProperty("index") Optional index, @JsonProperty("parentIndex") Optional parentIndex, @JsonProperty("contentRating") Optional contentRating, @JsonProperty("summary") Optional summary, @JsonProperty("rating") Optional rating, @JsonProperty("audienceRating") Optional audienceRating, @JsonProperty("year") Optional year, @JsonProperty("tagline") Optional tagline, @JsonProperty("thumb") Optional thumb, @JsonProperty("art") Optional art, @JsonProperty("duration") Optional duration, @JsonProperty("originallyAvailableAt") Optional originallyAvailableAt, @JsonProperty("addedAt") Optional addedAt, @JsonProperty("updatedAt") Optional updatedAt, @JsonProperty("audienceRatingImage") Optional audienceRatingImage, @JsonProperty("hasPremiumPrimaryExtra") Optional hasPremiumPrimaryExtra, @JsonProperty("ratingImage") Optional ratingImage, @JsonProperty("Media") Optional> media, @JsonProperty("Genre") Optional> genre, @JsonProperty("Country") Optional> country, @JsonProperty("Guid") Optional> guids, @JsonProperty("Rating") Optional> ratings, @JsonProperty("Director") Optional> director, @JsonProperty("Writer") Optional> writer, @JsonProperty("Role") Optional> role, @JsonProperty("Producer") Optional> producer) { Utils.checkNotNull(ratingKey, "ratingKey"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(guid, "guid"); Utils.checkNotNull(studio, "studio"); Utils.checkNotNull(type, "type"); Utils.checkNotNull(title, "title"); Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); Utils.checkNotNull(librarySectionID, "librarySectionID"); Utils.checkNotNull(librarySectionKey, "librarySectionKey"); Utils.checkNotNull(grandparentTitle, "grandparentTitle"); Utils.checkNotNull(parentTitle, "parentTitle"); Utils.checkNotNull(originalTitle, "originalTitle"); Utils.checkNotNull(index, "index"); Utils.checkNotNull(parentIndex, "parentIndex"); Utils.checkNotNull(contentRating, "contentRating"); Utils.checkNotNull(summary, "summary"); Utils.checkNotNull(rating, "rating"); Utils.checkNotNull(audienceRating, "audienceRating"); Utils.checkNotNull(year, "year"); Utils.checkNotNull(tagline, "tagline"); Utils.checkNotNull(thumb, "thumb"); Utils.checkNotNull(art, "art"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); Utils.checkNotNull(addedAt, "addedAt"); Utils.checkNotNull(updatedAt, "updatedAt"); Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); Utils.checkNotNull(ratingImage, "ratingImage"); Utils.checkNotNull(media, "media"); Utils.checkNotNull(genre, "genre"); Utils.checkNotNull(country, "country"); Utils.checkNotNull(guids, "guids"); Utils.checkNotNull(ratings, "ratings"); Utils.checkNotNull(director, "director"); Utils.checkNotNull(writer, "writer"); Utils.checkNotNull(role, "role"); Utils.checkNotNull(producer, "producer"); this.ratingKey = ratingKey; this.key = key; this.guid = guid; this.studio = studio; this.type = type; this.title = title; this.librarySectionTitle = librarySectionTitle; this.librarySectionID = librarySectionID; this.librarySectionKey = librarySectionKey; this.grandparentTitle = grandparentTitle; this.parentTitle = parentTitle; this.originalTitle = originalTitle; this.index = index; this.parentIndex = parentIndex; this.contentRating = contentRating; this.summary = summary; this.rating = rating; this.audienceRating = audienceRating; this.year = year; this.tagline = tagline; this.thumb = thumb; this.art = art; this.duration = duration; this.originallyAvailableAt = originallyAvailableAt; this.addedAt = addedAt; this.updatedAt = updatedAt; this.audienceRatingImage = audienceRatingImage; this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; this.ratingImage = ratingImage; this.media = media; this.genre = genre; this.country = country; this.guids = guids; this.ratings = ratings; this.director = director; this.writer = writer; this.role = role; this.producer = producer; } public GetMetaDataByRatingKeyMetadata() { 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 ratingKey() { return ratingKey; } @JsonIgnore public Optional key() { return key; } @JsonIgnore public Optional guid() { return guid; } @JsonIgnore public Optional studio() { return studio; } @JsonIgnore public Optional type() { return type; } @JsonIgnore public Optional title() { return title; } @JsonIgnore public Optional librarySectionTitle() { return librarySectionTitle; } @JsonIgnore public Optional librarySectionID() { return librarySectionID; } @JsonIgnore public Optional librarySectionKey() { return librarySectionKey; } /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ @JsonIgnore public Optional grandparentTitle() { return grandparentTitle; } /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ @JsonIgnore public Optional parentTitle() { return parentTitle; } /** * The orginal untranslated name of the media item when non-english. */ @JsonIgnore public Optional originalTitle() { return originalTitle; } /** * The index starting from 0 of this media item in the MetaData array. */ @JsonIgnore public Optional index() { return index; } /** * The parent index starting from 0 of this media item in the parent MetaData array. */ @JsonIgnore public Optional parentIndex() { return parentIndex; } @JsonIgnore public Optional contentRating() { return contentRating; } @JsonIgnore public Optional summary() { return summary; } @JsonIgnore public Optional rating() { return rating; } @JsonIgnore public Optional audienceRating() { return audienceRating; } @JsonIgnore public Optional year() { return year; } @JsonIgnore public Optional tagline() { return tagline; } @JsonIgnore public Optional thumb() { return thumb; } @JsonIgnore public Optional art() { return art; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional originallyAvailableAt() { return originallyAvailableAt; } @JsonIgnore public Optional addedAt() { return addedAt; } @JsonIgnore public Optional updatedAt() { return updatedAt; } @JsonIgnore public Optional audienceRatingImage() { return audienceRatingImage; } @JsonIgnore public Optional hasPremiumPrimaryExtra() { return hasPremiumPrimaryExtra; } @JsonIgnore public Optional ratingImage() { return ratingImage; } @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> guids() { return (Optional>) guids; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> ratings() { return (Optional>) ratings; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> director() { return (Optional>) director; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> writer() { return (Optional>) writer; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> role() { return (Optional>) role; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> producer() { return (Optional>) producer; } public final static Builder builder() { return new Builder(); } public GetMetaDataByRatingKeyMetadata withRatingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = Optional.ofNullable(ratingKey); return this; } public GetMetaDataByRatingKeyMetadata withRatingKey(Optional ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public GetMetaDataByRatingKeyMetadata withKey(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public GetMetaDataByRatingKeyMetadata withKey(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public GetMetaDataByRatingKeyMetadata withGuid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = Optional.ofNullable(guid); return this; } public GetMetaDataByRatingKeyMetadata withGuid(Optional guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public GetMetaDataByRatingKeyMetadata withStudio(String studio) { Utils.checkNotNull(studio, "studio"); this.studio = Optional.ofNullable(studio); return this; } public GetMetaDataByRatingKeyMetadata withStudio(Optional studio) { Utils.checkNotNull(studio, "studio"); this.studio = studio; return this; } public GetMetaDataByRatingKeyMetadata withType(String type) { Utils.checkNotNull(type, "type"); this.type = Optional.ofNullable(type); return this; } public GetMetaDataByRatingKeyMetadata withType(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public GetMetaDataByRatingKeyMetadata withTitle(String title) { Utils.checkNotNull(title, "title"); this.title = Optional.ofNullable(title); return this; } public GetMetaDataByRatingKeyMetadata withTitle(Optional title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionID(int librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionKey(String librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = Optional.ofNullable(librarySectionKey); return this; } public GetMetaDataByRatingKeyMetadata withLibrarySectionKey(Optional librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = librarySectionKey; return this; } /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ public GetMetaDataByRatingKeyMetadata withGrandparentTitle(String grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = Optional.ofNullable(grandparentTitle); return this; } /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ public GetMetaDataByRatingKeyMetadata withGrandparentTitle(Optional grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = grandparentTitle; return this; } /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ public GetMetaDataByRatingKeyMetadata withParentTitle(String parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = Optional.ofNullable(parentTitle); return this; } /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ public GetMetaDataByRatingKeyMetadata withParentTitle(Optional parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = parentTitle; return this; } /** * The orginal untranslated name of the media item when non-english. */ public GetMetaDataByRatingKeyMetadata withOriginalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } /** * The orginal untranslated name of the media item when non-english. */ public GetMetaDataByRatingKeyMetadata withOriginalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; return this; } /** * The index starting from 0 of this media item in the MetaData array. */ public GetMetaDataByRatingKeyMetadata withIndex(long index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } /** * The index starting from 0 of this media item in the MetaData array. */ public GetMetaDataByRatingKeyMetadata withIndex(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; return this; } /** * The parent index starting from 0 of this media item in the parent MetaData array. */ public GetMetaDataByRatingKeyMetadata withParentIndex(long parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = Optional.ofNullable(parentIndex); return this; } /** * The parent index starting from 0 of this media item in the parent MetaData array. */ public GetMetaDataByRatingKeyMetadata withParentIndex(Optional parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = parentIndex; return this; } public GetMetaDataByRatingKeyMetadata withContentRating(String contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = Optional.ofNullable(contentRating); return this; } public GetMetaDataByRatingKeyMetadata withContentRating(Optional contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = contentRating; return this; } public GetMetaDataByRatingKeyMetadata withSummary(String summary) { Utils.checkNotNull(summary, "summary"); this.summary = Optional.ofNullable(summary); return this; } public GetMetaDataByRatingKeyMetadata withSummary(Optional summary) { Utils.checkNotNull(summary, "summary"); this.summary = summary; return this; } public GetMetaDataByRatingKeyMetadata withRating(double rating) { Utils.checkNotNull(rating, "rating"); this.rating = Optional.ofNullable(rating); return this; } public GetMetaDataByRatingKeyMetadata withRating(Optional rating) { Utils.checkNotNull(rating, "rating"); this.rating = rating; return this; } public GetMetaDataByRatingKeyMetadata withAudienceRating(double audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = Optional.ofNullable(audienceRating); return this; } public GetMetaDataByRatingKeyMetadata withAudienceRating(Optional audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = audienceRating; return this; } public GetMetaDataByRatingKeyMetadata withYear(int year) { Utils.checkNotNull(year, "year"); this.year = Optional.ofNullable(year); return this; } public GetMetaDataByRatingKeyMetadata withYear(Optional year) { Utils.checkNotNull(year, "year"); this.year = year; return this; } public GetMetaDataByRatingKeyMetadata withTagline(String tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = Optional.ofNullable(tagline); return this; } public GetMetaDataByRatingKeyMetadata withTagline(Optional tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = tagline; return this; } public GetMetaDataByRatingKeyMetadata withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public GetMetaDataByRatingKeyMetadata withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetMetaDataByRatingKeyMetadata withArt(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public GetMetaDataByRatingKeyMetadata withArt(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public GetMetaDataByRatingKeyMetadata withDuration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetMetaDataByRatingKeyMetadata withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetMetaDataByRatingKeyMetadata withOriginallyAvailableAt(LocalDate originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); return this; } public GetMetaDataByRatingKeyMetadata withOriginallyAvailableAt(Optional originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = originallyAvailableAt; return this; } public GetMetaDataByRatingKeyMetadata withAddedAt(int addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = Optional.ofNullable(addedAt); return this; } public GetMetaDataByRatingKeyMetadata withAddedAt(Optional addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } public GetMetaDataByRatingKeyMetadata withUpdatedAt(int updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } public GetMetaDataByRatingKeyMetadata withUpdatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public GetMetaDataByRatingKeyMetadata withAudienceRatingImage(String audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); return this; } public GetMetaDataByRatingKeyMetadata withAudienceRatingImage(Optional audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = audienceRatingImage; return this; } public GetMetaDataByRatingKeyMetadata withHasPremiumPrimaryExtra(String hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = Optional.ofNullable(hasPremiumPrimaryExtra); return this; } public GetMetaDataByRatingKeyMetadata withHasPremiumPrimaryExtra(Optional hasPremiumPrimaryExtra) { Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; return this; } public GetMetaDataByRatingKeyMetadata withRatingImage(String ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = Optional.ofNullable(ratingImage); return this; } public GetMetaDataByRatingKeyMetadata withRatingImage(Optional ratingImage) { Utils.checkNotNull(ratingImage, "ratingImage"); this.ratingImage = ratingImage; return this; } public GetMetaDataByRatingKeyMetadata withMedia(List media) { Utils.checkNotNull(media, "media"); this.media = Optional.ofNullable(media); return this; } public GetMetaDataByRatingKeyMetadata withMedia(Optional> media) { Utils.checkNotNull(media, "media"); this.media = media; return this; } public GetMetaDataByRatingKeyMetadata withGenre(List genre) { Utils.checkNotNull(genre, "genre"); this.genre = Optional.ofNullable(genre); return this; } public GetMetaDataByRatingKeyMetadata withGenre(Optional> genre) { Utils.checkNotNull(genre, "genre"); this.genre = genre; return this; } public GetMetaDataByRatingKeyMetadata withCountry(List country) { Utils.checkNotNull(country, "country"); this.country = Optional.ofNullable(country); return this; } public GetMetaDataByRatingKeyMetadata withCountry(Optional> country) { Utils.checkNotNull(country, "country"); this.country = country; return this; } public GetMetaDataByRatingKeyMetadata withGuids(List guids) { Utils.checkNotNull(guids, "guids"); this.guids = Optional.ofNullable(guids); return this; } public GetMetaDataByRatingKeyMetadata withGuids(Optional> guids) { Utils.checkNotNull(guids, "guids"); this.guids = guids; return this; } public GetMetaDataByRatingKeyMetadata withRatings(List ratings) { Utils.checkNotNull(ratings, "ratings"); this.ratings = Optional.ofNullable(ratings); return this; } public GetMetaDataByRatingKeyMetadata withRatings(Optional> ratings) { Utils.checkNotNull(ratings, "ratings"); this.ratings = ratings; return this; } public GetMetaDataByRatingKeyMetadata withDirector(List director) { Utils.checkNotNull(director, "director"); this.director = Optional.ofNullable(director); return this; } public GetMetaDataByRatingKeyMetadata withDirector(Optional> director) { Utils.checkNotNull(director, "director"); this.director = director; return this; } public GetMetaDataByRatingKeyMetadata withWriter(List writer) { Utils.checkNotNull(writer, "writer"); this.writer = Optional.ofNullable(writer); return this; } public GetMetaDataByRatingKeyMetadata withWriter(Optional> writer) { Utils.checkNotNull(writer, "writer"); this.writer = writer; return this; } public GetMetaDataByRatingKeyMetadata withRole(List role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } public GetMetaDataByRatingKeyMetadata withRole(Optional> role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } public GetMetaDataByRatingKeyMetadata withProducer(List producer) { Utils.checkNotNull(producer, "producer"); this.producer = Optional.ofNullable(producer); return this; } public GetMetaDataByRatingKeyMetadata withProducer(Optional> producer) { Utils.checkNotNull(producer, "producer"); this.producer = producer; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetMetaDataByRatingKeyMetadata other = (GetMetaDataByRatingKeyMetadata) 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.type, other.type) && Objects.deepEquals(this.title, other.title) && Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && Objects.deepEquals(this.librarySectionID, other.librarySectionID) && Objects.deepEquals(this.librarySectionKey, other.librarySectionKey) && Objects.deepEquals(this.grandparentTitle, other.grandparentTitle) && Objects.deepEquals(this.parentTitle, other.parentTitle) && Objects.deepEquals(this.originalTitle, other.originalTitle) && Objects.deepEquals(this.index, other.index) && Objects.deepEquals(this.parentIndex, other.parentIndex) && 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.tagline, other.tagline) && Objects.deepEquals(this.thumb, other.thumb) && Objects.deepEquals(this.art, other.art) && 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.hasPremiumPrimaryExtra, other.hasPremiumPrimaryExtra) && Objects.deepEquals(this.ratingImage, other.ratingImage) && Objects.deepEquals(this.media, other.media) && Objects.deepEquals(this.genre, other.genre) && Objects.deepEquals(this.country, other.country) && Objects.deepEquals(this.guids, other.guids) && Objects.deepEquals(this.ratings, other.ratings) && Objects.deepEquals(this.director, other.director) && Objects.deepEquals(this.writer, other.writer) && Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.producer, other.producer); } @Override public int hashCode() { return Objects.hash( ratingKey, key, guid, studio, type, title, librarySectionTitle, librarySectionID, librarySectionKey, grandparentTitle, parentTitle, originalTitle, index, parentIndex, contentRating, summary, rating, audienceRating, year, tagline, thumb, art, duration, originallyAvailableAt, addedAt, updatedAt, audienceRatingImage, hasPremiumPrimaryExtra, ratingImage, media, genre, country, guids, ratings, director, writer, role, producer); } @Override public String toString() { return Utils.toString(GetMetaDataByRatingKeyMetadata.class, "ratingKey", ratingKey, "key", key, "guid", guid, "studio", studio, "type", type, "title", title, "librarySectionTitle", librarySectionTitle, "librarySectionID", librarySectionID, "librarySectionKey", librarySectionKey, "grandparentTitle", grandparentTitle, "parentTitle", parentTitle, "originalTitle", originalTitle, "index", index, "parentIndex", parentIndex, "contentRating", contentRating, "summary", summary, "rating", rating, "audienceRating", audienceRating, "year", year, "tagline", tagline, "thumb", thumb, "art", art, "duration", duration, "originallyAvailableAt", originallyAvailableAt, "addedAt", addedAt, "updatedAt", updatedAt, "audienceRatingImage", audienceRatingImage, "hasPremiumPrimaryExtra", hasPremiumPrimaryExtra, "ratingImage", ratingImage, "media", media, "genre", genre, "country", country, "guids", guids, "ratings", ratings, "director", director, "writer", writer, "role", role, "producer", producer); } public final static class Builder { private Optional ratingKey = Optional.empty(); private Optional key = Optional.empty(); private Optional guid = Optional.empty(); private Optional studio = Optional.empty(); private Optional type = Optional.empty(); private Optional title = Optional.empty(); private Optional librarySectionTitle = Optional.empty(); private Optional librarySectionID = Optional.empty(); private Optional librarySectionKey = Optional.empty(); private Optional grandparentTitle = Optional.empty(); private Optional parentTitle = Optional.empty(); private Optional originalTitle = Optional.empty(); private Optional index = Optional.empty(); private Optional parentIndex = Optional.empty(); private Optional contentRating = Optional.empty(); private Optional summary = Optional.empty(); private Optional rating = Optional.empty(); private Optional audienceRating = Optional.empty(); private Optional year = Optional.empty(); private Optional tagline = Optional.empty(); private Optional thumb = Optional.empty(); private Optional art = Optional.empty(); private Optional duration = Optional.empty(); private Optional originallyAvailableAt = Optional.empty(); private Optional addedAt = Optional.empty(); private Optional updatedAt = Optional.empty(); private Optional audienceRatingImage = Optional.empty(); private Optional hasPremiumPrimaryExtra = Optional.empty(); private Optional ratingImage = Optional.empty(); private Optional> media = Optional.empty(); private Optional> genre = Optional.empty(); private Optional> country = Optional.empty(); private Optional> guids = Optional.empty(); private Optional> ratings = Optional.empty(); private Optional> director = Optional.empty(); private Optional> writer = Optional.empty(); private Optional> role = Optional.empty(); private Optional> producer = Optional.empty(); private Builder() { // force use of static builder() method } 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 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 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 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 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 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 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 librarySectionID(int 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; } /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ public Builder grandparentTitle(String grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = Optional.ofNullable(grandparentTitle); return this; } /** * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. */ public Builder grandparentTitle(Optional grandparentTitle) { Utils.checkNotNull(grandparentTitle, "grandparentTitle"); this.grandparentTitle = grandparentTitle; return this; } /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ public Builder parentTitle(String parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = Optional.ofNullable(parentTitle); return this; } /** * The name of the album for the track when audio, and the name of the season for the episode when TV show. */ public Builder parentTitle(Optional parentTitle) { Utils.checkNotNull(parentTitle, "parentTitle"); this.parentTitle = parentTitle; return this; } /** * The orginal untranslated name of the media item when non-english. */ public Builder originalTitle(String originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = Optional.ofNullable(originalTitle); return this; } /** * The orginal untranslated name of the media item when non-english. */ public Builder originalTitle(Optional originalTitle) { Utils.checkNotNull(originalTitle, "originalTitle"); this.originalTitle = originalTitle; return this; } /** * The index starting from 0 of this media item in the MetaData array. */ public Builder index(long index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } /** * The index starting from 0 of this media item in the MetaData array. */ public Builder index(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; return this; } /** * The parent index starting from 0 of this media item in the parent MetaData array. */ public Builder parentIndex(long parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = Optional.ofNullable(parentIndex); return this; } /** * The parent index starting from 0 of this media item in the parent MetaData array. */ public Builder parentIndex(Optional parentIndex) { Utils.checkNotNull(parentIndex, "parentIndex"); this.parentIndex = parentIndex; 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 = Optional.ofNullable(summary); return this; } public Builder summary(Optional 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 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; } 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 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; } 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 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 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 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; } 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 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 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 guids(List guids) { Utils.checkNotNull(guids, "guids"); this.guids = Optional.ofNullable(guids); return this; } public Builder guids(Optional> guids) { Utils.checkNotNull(guids, "guids"); this.guids = guids; return this; } public Builder ratings(List ratings) { Utils.checkNotNull(ratings, "ratings"); this.ratings = Optional.ofNullable(ratings); return this; } public Builder ratings(Optional> ratings) { Utils.checkNotNull(ratings, "ratings"); this.ratings = ratings; 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 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 producer(List producer) { Utils.checkNotNull(producer, "producer"); this.producer = Optional.ofNullable(producer); return this; } public Builder producer(Optional> producer) { Utils.checkNotNull(producer, "producer"); this.producer = producer; return this; } public GetMetaDataByRatingKeyMetadata build() { return new GetMetaDataByRatingKeyMetadata( ratingKey, key, guid, studio, type, title, librarySectionTitle, librarySectionID, librarySectionKey, grandparentTitle, parentTitle, originalTitle, index, parentIndex, contentRating, summary, rating, audienceRating, year, tagline, thumb, art, duration, originallyAvailableAt, addedAt, updatedAt, audienceRatingImage, hasPremiumPrimaryExtra, ratingImage, media, genre, country, guids, ratings, director, writer, role, producer); } } }