/* * 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 GetLibraryDetailsMediaContainer { @JsonInclude(Include.NON_ABSENT) @JsonProperty("size") private Optional size; @JsonInclude(Include.NON_ABSENT) @JsonProperty("allowSync") private Optional allowSync; @JsonInclude(Include.NON_ABSENT) @JsonProperty("art") private Optional art; @JsonInclude(Include.NON_ABSENT) @JsonProperty("content") private Optional content; @JsonInclude(Include.NON_ABSENT) @JsonProperty("identifier") private Optional identifier; @JsonInclude(Include.NON_ABSENT) @JsonProperty("librarySectionID") private Optional librarySectionID; @JsonInclude(Include.NON_ABSENT) @JsonProperty("mediaTagPrefix") private Optional mediaTagPrefix; @JsonInclude(Include.NON_ABSENT) @JsonProperty("mediaTagVersion") private Optional mediaTagVersion; @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonInclude(Include.NON_ABSENT) @JsonProperty("title1") private Optional title1; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewGroup") private Optional viewGroup; @JsonInclude(Include.NON_ABSENT) @JsonProperty("viewMode") private Optional viewMode; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Directory") private Optional> directory; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Type") private Optional> type; @JsonInclude(Include.NON_ABSENT) @JsonProperty("FieldType") private Optional> fieldType; @JsonCreator public GetLibraryDetailsMediaContainer( @JsonProperty("size") Optional size, @JsonProperty("allowSync") Optional allowSync, @JsonProperty("art") Optional art, @JsonProperty("content") Optional content, @JsonProperty("identifier") Optional identifier, @JsonProperty("librarySectionID") Optional librarySectionID, @JsonProperty("mediaTagPrefix") Optional mediaTagPrefix, @JsonProperty("mediaTagVersion") Optional mediaTagVersion, @JsonProperty("thumb") Optional thumb, @JsonProperty("title1") Optional title1, @JsonProperty("viewGroup") Optional viewGroup, @JsonProperty("viewMode") Optional viewMode, @JsonProperty("Directory") Optional> directory, @JsonProperty("Type") Optional> type, @JsonProperty("FieldType") Optional> fieldType) { Utils.checkNotNull(size, "size"); Utils.checkNotNull(allowSync, "allowSync"); Utils.checkNotNull(art, "art"); Utils.checkNotNull(content, "content"); Utils.checkNotNull(identifier, "identifier"); Utils.checkNotNull(librarySectionID, "librarySectionID"); Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); Utils.checkNotNull(thumb, "thumb"); Utils.checkNotNull(title1, "title1"); Utils.checkNotNull(viewGroup, "viewGroup"); Utils.checkNotNull(viewMode, "viewMode"); Utils.checkNotNull(directory, "directory"); Utils.checkNotNull(type, "type"); Utils.checkNotNull(fieldType, "fieldType"); this.size = size; this.allowSync = allowSync; this.art = art; this.content = content; this.identifier = identifier; this.librarySectionID = librarySectionID; this.mediaTagPrefix = mediaTagPrefix; this.mediaTagVersion = mediaTagVersion; this.thumb = thumb; this.title1 = title1; this.viewGroup = viewGroup; this.viewMode = viewMode; this.directory = directory; this.type = type; this.fieldType = fieldType; } public GetLibraryDetailsMediaContainer() { 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()); } @JsonIgnore public Optional size() { return size; } @JsonIgnore public Optional allowSync() { return allowSync; } @JsonIgnore public Optional art() { return art; } @JsonIgnore public Optional content() { return content; } @JsonIgnore public Optional identifier() { return identifier; } @JsonIgnore public Optional librarySectionID() { return librarySectionID; } @JsonIgnore public Optional mediaTagPrefix() { return mediaTagPrefix; } @JsonIgnore public Optional mediaTagVersion() { return mediaTagVersion; } @JsonIgnore public Optional thumb() { return thumb; } @JsonIgnore public Optional title1() { return title1; } @JsonIgnore public Optional viewGroup() { return viewGroup; } @JsonIgnore public Optional viewMode() { return viewMode; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> directory() { return (Optional>) directory; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> type() { return (Optional>) type; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> fieldType() { return (Optional>) fieldType; } public final static Builder builder() { return new Builder(); } public GetLibraryDetailsMediaContainer withSize(int size) { Utils.checkNotNull(size, "size"); this.size = Optional.ofNullable(size); return this; } public GetLibraryDetailsMediaContainer withSize(Optional size) { Utils.checkNotNull(size, "size"); this.size = size; return this; } public GetLibraryDetailsMediaContainer withAllowSync(boolean allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = Optional.ofNullable(allowSync); return this; } public GetLibraryDetailsMediaContainer withAllowSync(Optional allowSync) { Utils.checkNotNull(allowSync, "allowSync"); this.allowSync = allowSync; return this; } public GetLibraryDetailsMediaContainer withArt(String art) { Utils.checkNotNull(art, "art"); this.art = Optional.ofNullable(art); return this; } public GetLibraryDetailsMediaContainer withArt(Optional art) { Utils.checkNotNull(art, "art"); this.art = art; return this; } public GetLibraryDetailsMediaContainer withContent(String content) { Utils.checkNotNull(content, "content"); this.content = Optional.ofNullable(content); return this; } public GetLibraryDetailsMediaContainer withContent(Optional content) { Utils.checkNotNull(content, "content"); this.content = content; return this; } public GetLibraryDetailsMediaContainer withIdentifier(String identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = Optional.ofNullable(identifier); return this; } public GetLibraryDetailsMediaContainer withIdentifier(Optional identifier) { Utils.checkNotNull(identifier, "identifier"); this.identifier = identifier; return this; } public GetLibraryDetailsMediaContainer withLibrarySectionID(int librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = Optional.ofNullable(librarySectionID); return this; } public GetLibraryDetailsMediaContainer withLibrarySectionID(Optional librarySectionID) { Utils.checkNotNull(librarySectionID, "librarySectionID"); this.librarySectionID = librarySectionID; return this; } public GetLibraryDetailsMediaContainer withMediaTagPrefix(String mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = Optional.ofNullable(mediaTagPrefix); return this; } public GetLibraryDetailsMediaContainer withMediaTagPrefix(Optional mediaTagPrefix) { Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); this.mediaTagPrefix = mediaTagPrefix; return this; } public GetLibraryDetailsMediaContainer withMediaTagVersion(int mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = Optional.ofNullable(mediaTagVersion); return this; } public GetLibraryDetailsMediaContainer withMediaTagVersion(Optional mediaTagVersion) { Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); this.mediaTagVersion = mediaTagVersion; return this; } public GetLibraryDetailsMediaContainer withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } public GetLibraryDetailsMediaContainer withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } public GetLibraryDetailsMediaContainer withTitle1(String title1) { Utils.checkNotNull(title1, "title1"); this.title1 = Optional.ofNullable(title1); return this; } public GetLibraryDetailsMediaContainer withTitle1(Optional title1) { Utils.checkNotNull(title1, "title1"); this.title1 = title1; return this; } public GetLibraryDetailsMediaContainer withViewGroup(String viewGroup) { Utils.checkNotNull(viewGroup, "viewGroup"); this.viewGroup = Optional.ofNullable(viewGroup); return this; } public GetLibraryDetailsMediaContainer withViewGroup(Optional viewGroup) { Utils.checkNotNull(viewGroup, "viewGroup"); this.viewGroup = viewGroup; return this; } public GetLibraryDetailsMediaContainer withViewMode(int viewMode) { Utils.checkNotNull(viewMode, "viewMode"); this.viewMode = Optional.ofNullable(viewMode); return this; } public GetLibraryDetailsMediaContainer withViewMode(Optional viewMode) { Utils.checkNotNull(viewMode, "viewMode"); this.viewMode = viewMode; return this; } public GetLibraryDetailsMediaContainer withDirectory(List directory) { Utils.checkNotNull(directory, "directory"); this.directory = Optional.ofNullable(directory); return this; } public GetLibraryDetailsMediaContainer withDirectory(Optional> directory) { Utils.checkNotNull(directory, "directory"); this.directory = directory; return this; } public GetLibraryDetailsMediaContainer withType(List type) { Utils.checkNotNull(type, "type"); this.type = Optional.ofNullable(type); return this; } public GetLibraryDetailsMediaContainer withType(Optional> type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } public GetLibraryDetailsMediaContainer withFieldType(List fieldType) { Utils.checkNotNull(fieldType, "fieldType"); this.fieldType = Optional.ofNullable(fieldType); return this; } public GetLibraryDetailsMediaContainer withFieldType(Optional> fieldType) { Utils.checkNotNull(fieldType, "fieldType"); this.fieldType = fieldType; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetLibraryDetailsMediaContainer other = (GetLibraryDetailsMediaContainer) o; return Objects.deepEquals(this.size, other.size) && Objects.deepEquals(this.allowSync, other.allowSync) && Objects.deepEquals(this.art, other.art) && Objects.deepEquals(this.content, other.content) && Objects.deepEquals(this.identifier, other.identifier) && Objects.deepEquals(this.librarySectionID, other.librarySectionID) && Objects.deepEquals(this.mediaTagPrefix, other.mediaTagPrefix) && Objects.deepEquals(this.mediaTagVersion, other.mediaTagVersion) && Objects.deepEquals(this.thumb, other.thumb) && Objects.deepEquals(this.title1, other.title1) && Objects.deepEquals(this.viewGroup, other.viewGroup) && Objects.deepEquals(this.viewMode, other.viewMode) && Objects.deepEquals(this.directory, other.directory) && Objects.deepEquals(this.type, other.type) && Objects.deepEquals(this.fieldType, other.fieldType); } @Override public int hashCode() { return Objects.hash( size, allowSync, art, content, identifier, librarySectionID, mediaTagPrefix, mediaTagVersion, thumb, title1, viewGroup, viewMode, directory, type, fieldType); } @Override public String toString() { return Utils.toString(GetLibraryDetailsMediaContainer.class, "size", size, "allowSync", allowSync, "art", art, "content", content, "identifier", identifier, "librarySectionID", librarySectionID, "mediaTagPrefix", mediaTagPrefix, "mediaTagVersion", mediaTagVersion, "thumb", thumb, "title1", title1, "viewGroup", viewGroup, "viewMode", viewMode, "directory", directory, "type", type, "fieldType", fieldType); } public final static class Builder { private Optional size = Optional.empty(); private Optional allowSync = Optional.empty(); private Optional art = Optional.empty(); private Optional content = Optional.empty(); private Optional identifier = Optional.empty(); private Optional librarySectionID = Optional.empty(); private Optional mediaTagPrefix = Optional.empty(); private Optional mediaTagVersion = Optional.empty(); private Optional thumb = Optional.empty(); private Optional title1 = Optional.empty(); private Optional viewGroup = Optional.empty(); private Optional viewMode = Optional.empty(); private Optional> directory = Optional.empty(); private Optional> type = Optional.empty(); private Optional> fieldType = 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 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 content(String content) { Utils.checkNotNull(content, "content"); this.content = Optional.ofNullable(content); return this; } public Builder content(Optional content) { Utils.checkNotNull(content, "content"); this.content = content; 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 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 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 title1(String title1) { Utils.checkNotNull(title1, "title1"); this.title1 = Optional.ofNullable(title1); return this; } public Builder title1(Optional title1) { Utils.checkNotNull(title1, "title1"); this.title1 = title1; return this; } public Builder viewGroup(String viewGroup) { Utils.checkNotNull(viewGroup, "viewGroup"); this.viewGroup = Optional.ofNullable(viewGroup); return this; } public Builder viewGroup(Optional viewGroup) { Utils.checkNotNull(viewGroup, "viewGroup"); this.viewGroup = viewGroup; return this; } public Builder viewMode(int viewMode) { Utils.checkNotNull(viewMode, "viewMode"); this.viewMode = Optional.ofNullable(viewMode); return this; } public Builder viewMode(Optional viewMode) { Utils.checkNotNull(viewMode, "viewMode"); this.viewMode = viewMode; return this; } public Builder directory(List directory) { Utils.checkNotNull(directory, "directory"); this.directory = Optional.ofNullable(directory); return this; } public Builder directory(Optional> directory) { Utils.checkNotNull(directory, "directory"); this.directory = directory; return this; } public Builder type(List 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 fieldType(List fieldType) { Utils.checkNotNull(fieldType, "fieldType"); this.fieldType = Optional.ofNullable(fieldType); return this; } public Builder fieldType(Optional> fieldType) { Utils.checkNotNull(fieldType, "fieldType"); this.fieldType = fieldType; return this; } public GetLibraryDetailsMediaContainer build() { return new GetLibraryDetailsMediaContainer( size, allowSync, art, content, identifier, librarySectionID, mediaTagPrefix, mediaTagVersion, thumb, title1, viewGroup, viewMode, directory, type, fieldType); } } }