/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ package dev.plexapi.sdk.models.operations; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; import java.lang.Boolean; import java.lang.Integer; import java.lang.Override; import java.lang.String; import java.lang.SuppressWarnings; import java.util.List; import java.util.Objects; import java.util.Optional; public class GetMetaDataByRatingKeyMediaContainer { @JsonInclude(Include.NON_ABSENT) @JsonProperty("size") private Optional size; @JsonInclude(Include.NON_ABSENT) @JsonProperty("allowSync") private Optional allowSync; @JsonInclude(Include.NON_ABSENT) @JsonProperty("identifier") private Optional identifier; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionID") private Optional librarySectionID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionTitle") private Optional librarySectionTitle; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionUUID") private Optional librarySectionUUID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("mediaTagPrefix") private Optional mediaTagPrefix; @JsonInclude(Include.NON_ABSENT) @JsonProperty("mediaTagVersion") private Optional mediaTagVersion; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Metadata") private Optional> metadata; @JsonCreator public GetMetaDataByRatingKeyMediaContainer( @JsonProperty("size") Optional size, @JsonProperty("allowSync") Optional allowSync, @JsonProperty("identifier") Optional identifier, @JsonProperty("librarySectionID") Optional librarySectionID, @JsonProperty("librarySectionTitle") Optional librarySectionTitle, @JsonProperty("librarySectionUUID") Optional librarySectionUUID, @JsonProperty("mediaTagPrefix") Optional mediaTagPrefix, @JsonProperty("mediaTagVersion") Optional mediaTagVersion, @JsonProperty("Metadata") Optional> metadata) { Utils.checkNotNull(size, "size"); Utils.checkNotNull(allowSync, "allowSync"); Utils.checkNotNull(identifier, "identifier"); Utils.checkNotNull(librarySectionID, "librarySectionID"); Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); Utils.checkNotNull(metadata, "metadata"); this.size = size; this.allowSync = allowSync; this.identifier = identifier; this.librarySectionID = librarySectionID; this.librarySectionTitle = librarySectionTitle; this.librarySectionUUID = librarySectionUUID; this.mediaTagPrefix = mediaTagPrefix; this.mediaTagVersion = mediaTagVersion; this.metadata = metadata; } public GetMetaDataByRatingKeyMediaContainer() { this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } @JsonIgnore public Optional size() { return size; } @JsonIgnore public Optional allowSync() { return allowSync; } @JsonIgnore public Optional identifier() { return identifier; } @JsonIgnore public Optional librarySectionID() { return librarySectionID; } @JsonIgnore public Optional librarySectionTitle() { return librarySectionTitle; } @JsonIgnore public Optional librarySectionUUID() { return librarySectionUUID; } @JsonIgnore public Optional mediaTagPrefix() { return mediaTagPrefix; } @JsonIgnore public Optional mediaTagVersion() { return mediaTagVersion; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> metadata() { return (Optional>) metadata; } public final static Builder builder() { return new Builder(); } public GetMetaDataByRatingKeyMediaContainer withSize(int size) { Utils.checkNotNull(size, "size"); this.size = Optional.ofNullable(size); return this; } public GetMetaDataByRatingKeyMediaContainer withSize(Optional size) { Utils.checkNotNull(size, "size"); this.size = size; return this; } public GetMetaDataByRatingKeyMediaContainer withAllowSync(boolean allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = Optional.ofNullable(allowSync); return this; } public GetMetaDataByRatingKeyMediaContainer withAllowSync(Optional allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = allowSync; return this; } public GetMetaDataByRatingKeyMediaContainer withIdentifier(String identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = Optional.ofNullable(identifier); return this; } public GetMetaDataByRatingKeyMediaContainer withIdentifier(Optional identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = identifier; return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionID(int librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionTitle(String librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionTitle(Optional librarySectionTitle) { Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); this.librarySectionTitle = librarySectionTitle; return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionUUID(String librarySectionUUID) { Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); return this; } public GetMetaDataByRatingKeyMediaContainer withLibrarySectionUUID(Optional librarySectionUUID) { Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); this.librarySectionUUID = librarySectionUUID; return this; } public GetMetaDataByRatingKeyMediaContainer withMediaTagPrefix(String mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = Optional.ofNullable(mediaTagPrefix); return this; } public GetMetaDataByRatingKeyMediaContainer withMediaTagPrefix(Optional mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = mediaTagPrefix; return this; } public GetMetaDataByRatingKeyMediaContainer withMediaTagVersion(int mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = Optional.ofNullable(mediaTagVersion); return this; } public GetMetaDataByRatingKeyMediaContainer withMediaTagVersion(Optional mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = mediaTagVersion; return this; } public GetMetaDataByRatingKeyMediaContainer withMetadata(List metadata) { Utils.checkNotNull(metadata, "metadata"); this.metadata = Optional.ofNullable(metadata); return this; } public GetMetaDataByRatingKeyMediaContainer withMetadata(Optional> metadata) { Utils.checkNotNull(metadata, "metadata"); this.metadata = metadata; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetMetaDataByRatingKeyMediaContainer other = (GetMetaDataByRatingKeyMediaContainer) o; return Objects.deepEquals(this.size, other.size) && Objects.deepEquals(this.allowSync, other.allowSync) && Objects.deepEquals(this.identifier, other.identifier) && Objects.deepEquals(this.librarySectionID, other.librarySectionID) && Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && Objects.deepEquals(this.librarySectionUUID, other.librarySectionUUID) && Objects.deepEquals(this.mediaTagPrefix, other.mediaTagPrefix) && Objects.deepEquals(this.mediaTagVersion, other.mediaTagVersion) && Objects.deepEquals(this.metadata, other.metadata); } @Override public int hashCode() { return Objects.hash( size, allowSync, identifier, librarySectionID, librarySectionTitle, librarySectionUUID, mediaTagPrefix, mediaTagVersion, metadata); } @Override public String toString() { return Utils.toString(GetMetaDataByRatingKeyMediaContainer.class, "size", size, "allowSync", allowSync, "identifier", identifier, "librarySectionID", librarySectionID, "librarySectionTitle", librarySectionTitle, "librarySectionUUID", librarySectionUUID, "mediaTagPrefix", mediaTagPrefix, "mediaTagVersion", mediaTagVersion, "metadata", metadata); } public final static class Builder { private Optional size = Optional.empty(); private Optional allowSync = Optional.empty(); private Optional identifier = Optional.empty(); private Optional librarySectionID = Optional.empty(); private Optional librarySectionTitle = Optional.empty(); private Optional librarySectionUUID = Optional.empty(); private Optional mediaTagPrefix = Optional.empty(); private Optional mediaTagVersion = Optional.empty(); private Optional> metadata = Optional.empty(); private Builder() { // force use of static builder() method } public Builder size(int size) { Utils.checkNotNull(size, "size"); this.size = Optional.ofNullable(size); return this; } public Builder size(Optional size) { Utils.checkNotNull(size, "size"); this.size = size; return this; } public Builder allowSync(boolean allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = Optional.ofNullable(allowSync); return this; } public Builder allowSync(Optional allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = allowSync; return this; } public Builder identifier(String identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = Optional.ofNullable(identifier); return this; } public Builder identifier(Optional identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = identifier; 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 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 librarySectionUUID(String librarySectionUUID) { Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); return this; } public Builder librarySectionUUID(Optional librarySectionUUID) { Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); this.librarySectionUUID = librarySectionUUID; return this; } public Builder mediaTagPrefix(String mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = Optional.ofNullable(mediaTagPrefix); return this; } public Builder mediaTagPrefix(Optional mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = mediaTagPrefix; return this; } public Builder mediaTagVersion(int mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = Optional.ofNullable(mediaTagVersion); return this; } public Builder mediaTagVersion(Optional mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = mediaTagVersion; return this; } public Builder metadata(List metadata) { Utils.checkNotNull(metadata, "metadata"); this.metadata = Optional.ofNullable(metadata); return this; } public Builder metadata(Optional> metadata) { Utils.checkNotNull(metadata, "metadata"); this.metadata = metadata; return this; } public GetMetaDataByRatingKeyMediaContainer build() { return new GetMetaDataByRatingKeyMediaContainer( size, allowSync, identifier, librarySectionID, librarySectionTitle, librarySectionUUID, mediaTagPrefix, mediaTagVersion, metadata); } } }