/* * 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 GetTopWatchedContentMetadata { @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("slug") private Optional slug; @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; @JsonInclude(Include.NON_ABSENT) @JsonProperty("contentRating") private Optional contentRating; @JsonInclude(Include.NON_ABSENT) @JsonProperty("summary") private Optional summary; @JsonInclude(Include.NON_ABSENT) @JsonProperty("index") private Optional index; @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("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("addedAt") private Optional addedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("updatedAt") private Optional updatedAt; @JsonInclude(Include.NON_ABSENT) @JsonProperty("globalViewCount") private Optional globalViewCount; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audienceRatingImage") private Optional audienceRatingImage; @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("Role") private Optional> role; @JsonInclude(Include.NON_ABSENT) @JsonProperty("User") private Optional> user; @JsonCreator public GetTopWatchedContentMetadata( @JsonProperty("ratingKey") Optional ratingKey, @JsonProperty("key") Optional key, @JsonProperty("guid") Optional guid, @JsonProperty("slug") Optional slug, @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("contentRating") Optional contentRating, @JsonProperty("summary") Optional summary, @JsonProperty("index") Optional index, @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("leafCount") Optional leafCount, @JsonProperty("viewedLeafCount") Optional viewedLeafCount, @JsonProperty("childCount") Optional childCount, @JsonProperty("addedAt") Optional addedAt, @JsonProperty("updatedAt") Optional updatedAt, @JsonProperty("globalViewCount") Optional globalViewCount, @JsonProperty("audienceRatingImage") Optional audienceRatingImage, @JsonProperty("Genre") Optional> genre, @JsonProperty("Country") Optional> country, @JsonProperty("Guid") Optional> guids, @JsonProperty("Role") Optional> role, @JsonProperty("User") Optional> user) { Utils.checkNotNull(ratingKey, "ratingKey"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(guid, "guid"); Utils.checkNotNull(slug, "slug"); 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(contentRating, "contentRating"); Utils.checkNotNull(summary, "summary"); Utils.checkNotNull(index, "index"); 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(leafCount, "leafCount"); Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); Utils.checkNotNull(childCount, "childCount"); Utils.checkNotNull(addedAt, "addedAt"); Utils.checkNotNull(updatedAt, "updatedAt"); Utils.checkNotNull(globalViewCount, "globalViewCount"); Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); Utils.checkNotNull(genre, "genre"); Utils.checkNotNull(country, "country"); Utils.checkNotNull(guids, "guids"); Utils.checkNotNull(role, "role"); Utils.checkNotNull(user, "user"); this.ratingKey = ratingKey; this.key = key; this.guid = guid; this.slug = slug; this.studio = studio; this.type = type; this.title = title; this.librarySectionTitle = librarySectionTitle; this.librarySectionID = librarySectionID; this.librarySectionKey = librarySectionKey; this.contentRating = contentRating; this.summary = summary; this.index = index; this.audienceRating = audienceRating; this.year = year; this.tagline = tagline; this.thumb = thumb; this.art = art; this.duration = duration; this.originallyAvailableAt = originallyAvailableAt; this.leafCount = leafCount; this.viewedLeafCount = viewedLeafCount; this.childCount = childCount; this.addedAt = addedAt; this.updatedAt = updatedAt; this.globalViewCount = globalViewCount; this.audienceRatingImage = audienceRatingImage; this.genre = genre; this.country = country; this.guids = guids; this.role = role; this.user = user; } public GetTopWatchedContentMetadata() { 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()); } @JsonIgnore public Optional ratingKey() { return ratingKey; } @JsonIgnore public Optional key() { return key; } @JsonIgnore public Optional guid() { return guid; } @JsonIgnore public Optional slug() { return slug; } @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; } @JsonIgnore public Optional contentRating() { return contentRating; } @JsonIgnore public Optional summary() { return summary; } @JsonIgnore public Optional index() { return index; } @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 leafCount() { return leafCount; } @JsonIgnore public Optional viewedLeafCount() { return viewedLeafCount; } @JsonIgnore public Optional childCount() { return childCount; } @JsonIgnore public Optional addedAt() { return addedAt; } @JsonIgnore public Optional updatedAt() { return updatedAt; } @JsonIgnore public Optional globalViewCount() { return globalViewCount; } @JsonIgnore public Optional audienceRatingImage() { return audienceRatingImage; } @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> role() { return (Optional>) role; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> user() { return (Optional>) user; } public final static Builder builder() { return new Builder(); } public GetTopWatchedContentMetadata withRatingKey(String ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = Optional.ofNullable(ratingKey); return this; } public GetTopWatchedContentMetadata withRatingKey(Optional ratingKey) { Utils.checkNotNull(ratingKey, "ratingKey"); this.ratingKey = ratingKey; return this; } public GetTopWatchedContentMetadata withKey(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public GetTopWatchedContentMetadata withKey(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public GetTopWatchedContentMetadata withGuid(String guid) { Utils.checkNotNull(guid, "guid"); this.guid = Optional.ofNullable(guid); return this; } public GetTopWatchedContentMetadata withGuid(Optional guid) { Utils.checkNotNull(guid, "guid"); this.guid = guid; return this; } public GetTopWatchedContentMetadata withSlug(String slug) { Utils.checkNotNull(slug, "slug"); this.slug = Optional.ofNullable(slug); return this; } public GetTopWatchedContentMetadata withSlug(Optional slug) { Utils.checkNotNull(slug, "slug"); this.slug = slug; return this; } public GetTopWatchedContentMetadata withStudio(String studio) { Utils.checkNotNull(studio, "studio"); this.studio = Optional.ofNullable(studio); return this; } public GetTopWatchedContentMetadata withStudio(Optional studio) { Utils.checkNotNull(studio, "studio"); this.studio = studio; return this; } public GetTopWatchedContentMetadata withType(String type) { Utils.checkNotNull(type, "type"); this.type = Optional.ofNullable(type); return this; } public GetTopWatchedContentMetadata withType(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public GetTopWatchedContentMetadata withTitle(String title) { Utils.checkNotNull(title, "title"); this.title = Optional.ofNullable(title); return this; } public GetTopWatchedContentMetadata withTitle(Optional title) { Utils.checkNotNull(title, "title"); this.title = title; return this; } public GetTopWatchedContentMetadata withLibrarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public GetTopWatchedContentMetadata withLibrarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public GetTopWatchedContentMetadata withLibrarySectionID(int librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetTopWatchedContentMetadata withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetTopWatchedContentMetadata withLibrarySectionKey(String librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = Optional.ofNullable(librarySectionKey); return this; } public GetTopWatchedContentMetadata withLibrarySectionKey(Optional librarySectionKey) { Utils.checkNotNull(librarySectionKey, "librarySectionKey"); this.librarySectionKey = librarySectionKey; return this; } public GetTopWatchedContentMetadata withContentRating(String contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = Optional.ofNullable(contentRating); return this; } public GetTopWatchedContentMetadata withContentRating(Optional contentRating) { Utils.checkNotNull(contentRating, "contentRating"); this.contentRating = contentRating; return this; } public GetTopWatchedContentMetadata withSummary(String summary) { Utils.checkNotNull(summary, "summary"); this.summary = Optional.ofNullable(summary); return this; } public GetTopWatchedContentMetadata withSummary(Optional summary) { Utils.checkNotNull(summary, "summary"); this.summary = summary; return this; } public GetTopWatchedContentMetadata withIndex(long index) { Utils.checkNotNull(index, "index"); this.index = Optional.ofNullable(index); return this; } public GetTopWatchedContentMetadata withIndex(Optional index) { Utils.checkNotNull(index, "index"); this.index = index; return this; } public GetTopWatchedContentMetadata withAudienceRating(double audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = Optional.ofNullable(audienceRating); return this; } public GetTopWatchedContentMetadata withAudienceRating(Optional audienceRating) { Utils.checkNotNull(audienceRating, "audienceRating"); this.audienceRating = audienceRating; return this; } public GetTopWatchedContentMetadata withYear(int year) { Utils.checkNotNull(year, "year"); this.year = Optional.ofNullable(year); return this; } public GetTopWatchedContentMetadata withYear(Optional year) { Utils.checkNotNull(year, "year"); this.year = year; return this; } public GetTopWatchedContentMetadata withTagline(String tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = Optional.ofNullable(tagline); return this; } public GetTopWatchedContentMetadata withTagline(Optional tagline) { Utils.checkNotNull(tagline, "tagline"); this.tagline = tagline; return this; } public GetTopWatchedContentMetadata withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public GetTopWatchedContentMetadata withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetTopWatchedContentMetadata withArt(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public GetTopWatchedContentMetadata withArt(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public GetTopWatchedContentMetadata withDuration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetTopWatchedContentMetadata withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetTopWatchedContentMetadata withOriginallyAvailableAt(LocalDate originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); return this; } public GetTopWatchedContentMetadata withOriginallyAvailableAt(Optional originallyAvailableAt) { Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); this.originallyAvailableAt = originallyAvailableAt; return this; } public GetTopWatchedContentMetadata withLeafCount(long leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = Optional.ofNullable(leafCount); return this; } public GetTopWatchedContentMetadata withLeafCount(Optional leafCount) { Utils.checkNotNull(leafCount, "leafCount"); this.leafCount = leafCount; return this; } public GetTopWatchedContentMetadata withViewedLeafCount(long viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = Optional.ofNullable(viewedLeafCount); return this; } public GetTopWatchedContentMetadata withViewedLeafCount(Optional viewedLeafCount) { Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); this.viewedLeafCount = viewedLeafCount; return this; } public GetTopWatchedContentMetadata withChildCount(long childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = Optional.ofNullable(childCount); return this; } public GetTopWatchedContentMetadata withChildCount(Optional childCount) { Utils.checkNotNull(childCount, "childCount"); this.childCount = childCount; return this; } public GetTopWatchedContentMetadata withAddedAt(int addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = Optional.ofNullable(addedAt); return this; } public GetTopWatchedContentMetadata withAddedAt(Optional addedAt) { Utils.checkNotNull(addedAt, "addedAt"); this.addedAt = addedAt; return this; } public GetTopWatchedContentMetadata withUpdatedAt(int updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = Optional.ofNullable(updatedAt); return this; } public GetTopWatchedContentMetadata withUpdatedAt(Optional updatedAt) { Utils.checkNotNull(updatedAt, "updatedAt"); this.updatedAt = updatedAt; return this; } public GetTopWatchedContentMetadata withGlobalViewCount(long globalViewCount) { Utils.checkNotNull(globalViewCount, "globalViewCount"); this.globalViewCount = Optional.ofNullable(globalViewCount); return this; } public GetTopWatchedContentMetadata withGlobalViewCount(Optional globalViewCount) { Utils.checkNotNull(globalViewCount, "globalViewCount"); this.globalViewCount = globalViewCount; return this; } public GetTopWatchedContentMetadata withAudienceRatingImage(String audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); return this; } public GetTopWatchedContentMetadata withAudienceRatingImage(Optional audienceRatingImage) { Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); this.audienceRatingImage = audienceRatingImage; return this; } public GetTopWatchedContentMetadata withGenre(List genre) { Utils.checkNotNull(genre, "genre"); this.genre = Optional.ofNullable(genre); return this; } public GetTopWatchedContentMetadata withGenre(Optional> genre) { Utils.checkNotNull(genre, "genre"); this.genre = genre; return this; } public GetTopWatchedContentMetadata withCountry(List country) { Utils.checkNotNull(country, "country"); this.country = Optional.ofNullable(country); return this; } public GetTopWatchedContentMetadata withCountry(Optional> country) { Utils.checkNotNull(country, "country"); this.country = country; return this; } public GetTopWatchedContentMetadata withGuids(List guids) { Utils.checkNotNull(guids, "guids"); this.guids = Optional.ofNullable(guids); return this; } public GetTopWatchedContentMetadata withGuids(Optional> guids) { Utils.checkNotNull(guids, "guids"); this.guids = guids; return this; } public GetTopWatchedContentMetadata withRole(List role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } public GetTopWatchedContentMetadata withRole(Optional> role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } public GetTopWatchedContentMetadata withUser(List user) { Utils.checkNotNull(user, "user"); this.user = Optional.ofNullable(user); return this; } public GetTopWatchedContentMetadata withUser(Optional> user) { Utils.checkNotNull(user, "user"); this.user = user; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetTopWatchedContentMetadata other = (GetTopWatchedContentMetadata) o; return Objects.deepEquals(this.ratingKey, other.ratingKey) && Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.guid, other.guid) && Objects.deepEquals(this.slug, other.slug) && 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.contentRating, other.contentRating) && Objects.deepEquals(this.summary, other.summary) && Objects.deepEquals(this.index, other.index) && 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.leafCount, other.leafCount) && Objects.deepEquals(this.viewedLeafCount, other.viewedLeafCount) && Objects.deepEquals(this.childCount, other.childCount) && Objects.deepEquals(this.addedAt, other.addedAt) && Objects.deepEquals(this.updatedAt, other.updatedAt) && Objects.deepEquals(this.globalViewCount, other.globalViewCount) && Objects.deepEquals(this.audienceRatingImage, other.audienceRatingImage) && Objects.deepEquals(this.genre, other.genre) && Objects.deepEquals(this.country, other.country) && Objects.deepEquals(this.guids, other.guids) && Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.user, other.user); } @Override public int hashCode() { return Objects.hash( ratingKey, key, guid, slug, studio, type, title, librarySectionTitle, librarySectionID, librarySectionKey, contentRating, summary, index, audienceRating, year, tagline, thumb, art, duration, originallyAvailableAt, leafCount, viewedLeafCount, childCount, addedAt, updatedAt, globalViewCount, audienceRatingImage, genre, country, guids, role, user); } @Override public String toString() { return Utils.toString(GetTopWatchedContentMetadata.class, "ratingKey", ratingKey, "key", key, "guid", guid, "slug", slug, "studio", studio, "type", type, "title", title, "librarySectionTitle", librarySectionTitle, "librarySectionID", librarySectionID, "librarySectionKey", librarySectionKey, "contentRating", contentRating, "summary", summary, "index", index, "audienceRating", audienceRating, "year", year, "tagline", tagline, "thumb", thumb, "art", art, "duration", duration, "originallyAvailableAt", originallyAvailableAt, "leafCount", leafCount, "viewedLeafCount", viewedLeafCount, "childCount", childCount, "addedAt", addedAt, "updatedAt", updatedAt, "globalViewCount", globalViewCount, "audienceRatingImage", audienceRatingImage, "genre", genre, "country", country, "guids", guids, "role", role, "user", user); } public final static class Builder { private Optional ratingKey = Optional.empty(); private Optional key = Optional.empty(); private Optional guid = Optional.empty(); private Optional slug = 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 contentRating = Optional.empty(); private Optional summary = Optional.empty(); private Optional index = 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 leafCount = Optional.empty(); private Optional viewedLeafCount = Optional.empty(); private Optional childCount = Optional.empty(); private Optional addedAt = Optional.empty(); private Optional updatedAt = Optional.empty(); private Optional globalViewCount = Optional.empty(); private Optional audienceRatingImage = Optional.empty(); private Optional> genre = Optional.empty(); private Optional> country = Optional.empty(); private Optional> guids = Optional.empty(); private Optional> role = Optional.empty(); private Optional> user = 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 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 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; } 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 index(long 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 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 leafCount(long 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(long 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(long 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 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 globalViewCount(long globalViewCount) { Utils.checkNotNull(globalViewCount, "globalViewCount"); this.globalViewCount = Optional.ofNullable(globalViewCount); return this; } public Builder globalViewCount(Optional globalViewCount) { Utils.checkNotNull(globalViewCount, "globalViewCount"); this.globalViewCount = globalViewCount; 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 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 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 user(List user) { Utils.checkNotNull(user, "user"); this.user = Optional.ofNullable(user); return this; } public Builder user(Optional> user) { Utils.checkNotNull(user, "user"); this.user = user; return this; } public GetTopWatchedContentMetadata build() { return new GetTopWatchedContentMetadata( ratingKey, key, guid, slug, studio, type, title, librarySectionTitle, librarySectionID, librarySectionKey, contentRating, summary, index, audienceRating, year, tagline, thumb, art, duration, originallyAvailableAt, leafCount, viewedLeafCount, childCount, addedAt, updatedAt, globalViewCount, audienceRatingImage, genre, country, guids, role, user); } } }