/* * 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.Override; import java.lang.String; import java.lang.SuppressWarnings; import java.util.List; import java.util.Objects; import java.util.Optional; public class GetSearchResultsMedia { @JsonInclude(Include.NON_ABSENT) @JsonProperty("id") private Optional id; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("bitrate") private Optional bitrate; @JsonInclude(Include.NON_ABSENT) @JsonProperty("width") private Optional width; @JsonInclude(Include.NON_ABSENT) @JsonProperty("height") private Optional height; @JsonInclude(Include.NON_ABSENT) @JsonProperty("aspectRatio") private Optional aspectRatio; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioChannels") private Optional audioChannels; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioCodec") private Optional audioCodec; @JsonInclude(Include.NON_ABSENT) @JsonProperty("videoCodec") private Optional videoCodec; @JsonInclude(Include.NON_ABSENT) @JsonProperty("videoResolution") private Optional videoResolution; @JsonInclude(Include.NON_ABSENT) @JsonProperty("container") private Optional container; @JsonInclude(Include.NON_ABSENT) @JsonProperty("videoFrameRate") private Optional videoFrameRate; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioProfile") private Optional audioProfile; @JsonInclude(Include.NON_ABSENT) @JsonProperty("videoProfile") private Optional videoProfile; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Part") private Optional> part; @JsonCreator public GetSearchResultsMedia( @JsonProperty("id") Optional id, @JsonProperty("duration") Optional duration, @JsonProperty("bitrate") Optional bitrate, @JsonProperty("width") Optional width, @JsonProperty("height") Optional height, @JsonProperty("aspectRatio") Optional aspectRatio, @JsonProperty("audioChannels") Optional audioChannels, @JsonProperty("audioCodec") Optional audioCodec, @JsonProperty("videoCodec") Optional videoCodec, @JsonProperty("videoResolution") Optional videoResolution, @JsonProperty("container") Optional container, @JsonProperty("videoFrameRate") Optional videoFrameRate, @JsonProperty("audioProfile") Optional audioProfile, @JsonProperty("videoProfile") Optional videoProfile, @JsonProperty("Part") Optional> part) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(bitrate, "bitrate"); Utils.checkNotNull(width, "width"); Utils.checkNotNull(height, "height"); Utils.checkNotNull(aspectRatio, "aspectRatio"); Utils.checkNotNull(audioChannels, "audioChannels"); Utils.checkNotNull(audioCodec, "audioCodec"); Utils.checkNotNull(videoCodec, "videoCodec"); Utils.checkNotNull(videoResolution, "videoResolution"); Utils.checkNotNull(container, "container"); Utils.checkNotNull(videoFrameRate, "videoFrameRate"); Utils.checkNotNull(audioProfile, "audioProfile"); Utils.checkNotNull(videoProfile, "videoProfile"); Utils.checkNotNull(part, "part"); this.id = id; this.duration = duration; this.bitrate = bitrate; this.width = width; this.height = height; this.aspectRatio = aspectRatio; this.audioChannels = audioChannels; this.audioCodec = audioCodec; this.videoCodec = videoCodec; this.videoResolution = videoResolution; this.container = container; this.videoFrameRate = videoFrameRate; this.audioProfile = audioProfile; this.videoProfile = videoProfile; this.part = part; } public GetSearchResultsMedia() { 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 id() { return id; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional bitrate() { return bitrate; } @JsonIgnore public Optional width() { return width; } @JsonIgnore public Optional height() { return height; } @JsonIgnore public Optional aspectRatio() { return aspectRatio; } @JsonIgnore public Optional audioChannels() { return audioChannels; } @JsonIgnore public Optional audioCodec() { return audioCodec; } @JsonIgnore public Optional videoCodec() { return videoCodec; } @JsonIgnore public Optional videoResolution() { return videoResolution; } @JsonIgnore public Optional container() { return container; } @JsonIgnore public Optional videoFrameRate() { return videoFrameRate; } @JsonIgnore public Optional audioProfile() { return audioProfile; } @JsonIgnore public Optional videoProfile() { return videoProfile; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> part() { return (Optional>) part; } public final static Builder builder() { return new Builder(); } public GetSearchResultsMedia withId(double id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public GetSearchResultsMedia withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public GetSearchResultsMedia withDuration(double duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetSearchResultsMedia withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetSearchResultsMedia withBitrate(double bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = Optional.ofNullable(bitrate); return this; } public GetSearchResultsMedia withBitrate(Optional bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = bitrate; return this; } public GetSearchResultsMedia withWidth(double width) { Utils.checkNotNull(width, "width"); this.width = Optional.ofNullable(width); return this; } public GetSearchResultsMedia withWidth(Optional width) { Utils.checkNotNull(width, "width"); this.width = width; return this; } public GetSearchResultsMedia withHeight(double height) { Utils.checkNotNull(height, "height"); this.height = Optional.ofNullable(height); return this; } public GetSearchResultsMedia withHeight(Optional height) { Utils.checkNotNull(height, "height"); this.height = height; return this; } public GetSearchResultsMedia withAspectRatio(double aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = Optional.ofNullable(aspectRatio); return this; } public GetSearchResultsMedia withAspectRatio(Optional aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = aspectRatio; return this; } public GetSearchResultsMedia withAudioChannels(double audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = Optional.ofNullable(audioChannels); return this; } public GetSearchResultsMedia withAudioChannels(Optional audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = audioChannels; return this; } public GetSearchResultsMedia withAudioCodec(String audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = Optional.ofNullable(audioCodec); return this; } public GetSearchResultsMedia withAudioCodec(Optional audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = audioCodec; return this; } public GetSearchResultsMedia withVideoCodec(String videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = Optional.ofNullable(videoCodec); return this; } public GetSearchResultsMedia withVideoCodec(Optional videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = videoCodec; return this; } public GetSearchResultsMedia withVideoResolution(double videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = Optional.ofNullable(videoResolution); return this; } public GetSearchResultsMedia withVideoResolution(Optional videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = videoResolution; return this; } public GetSearchResultsMedia withContainer(String container) { Utils.checkNotNull(container, "container"); this.container = Optional.ofNullable(container); return this; } public GetSearchResultsMedia withContainer(Optional container) { Utils.checkNotNull(container, "container"); this.container = container; return this; } public GetSearchResultsMedia withVideoFrameRate(String videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = Optional.ofNullable(videoFrameRate); return this; } public GetSearchResultsMedia withVideoFrameRate(Optional videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = videoFrameRate; return this; } public GetSearchResultsMedia withAudioProfile(String audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = Optional.ofNullable(audioProfile); return this; } public GetSearchResultsMedia withAudioProfile(Optional audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = audioProfile; return this; } public GetSearchResultsMedia withVideoProfile(String videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = Optional.ofNullable(videoProfile); return this; } public GetSearchResultsMedia withVideoProfile(Optional videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = videoProfile; return this; } public GetSearchResultsMedia withPart(List part) { Utils.checkNotNull(part, "part"); this.part = Optional.ofNullable(part); return this; } public GetSearchResultsMedia withPart(Optional> part) { Utils.checkNotNull(part, "part"); this.part = part; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetSearchResultsMedia other = (GetSearchResultsMedia) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.duration, other.duration) && Objects.deepEquals(this.bitrate, other.bitrate) && Objects.deepEquals(this.width, other.width) && Objects.deepEquals(this.height, other.height) && Objects.deepEquals(this.aspectRatio, other.aspectRatio) && Objects.deepEquals(this.audioChannels, other.audioChannels) && Objects.deepEquals(this.audioCodec, other.audioCodec) && Objects.deepEquals(this.videoCodec, other.videoCodec) && Objects.deepEquals(this.videoResolution, other.videoResolution) && Objects.deepEquals(this.container, other.container) && Objects.deepEquals(this.videoFrameRate, other.videoFrameRate) && Objects.deepEquals(this.audioProfile, other.audioProfile) && Objects.deepEquals(this.videoProfile, other.videoProfile) && Objects.deepEquals(this.part, other.part); } @Override public int hashCode() { return Objects.hash( id, duration, bitrate, width, height, aspectRatio, audioChannels, audioCodec, videoCodec, videoResolution, container, videoFrameRate, audioProfile, videoProfile, part); } @Override public String toString() { return Utils.toString(GetSearchResultsMedia.class, "id", id, "duration", duration, "bitrate", bitrate, "width", width, "height", height, "aspectRatio", aspectRatio, "audioChannels", audioChannels, "audioCodec", audioCodec, "videoCodec", videoCodec, "videoResolution", videoResolution, "container", container, "videoFrameRate", videoFrameRate, "audioProfile", audioProfile, "videoProfile", videoProfile, "part", part); } public final static class Builder { private Optional id = Optional.empty(); private Optional duration = Optional.empty(); private Optional bitrate = Optional.empty(); private Optional width = Optional.empty(); private Optional height = Optional.empty(); private Optional aspectRatio = Optional.empty(); private Optional audioChannels = Optional.empty(); private Optional audioCodec = Optional.empty(); private Optional videoCodec = Optional.empty(); private Optional videoResolution = Optional.empty(); private Optional container = Optional.empty(); private Optional videoFrameRate = Optional.empty(); private Optional audioProfile = Optional.empty(); private Optional videoProfile = Optional.empty(); private Optional> part = Optional.empty(); private Builder() { // force use of static builder() method } public Builder id(double id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public Builder id(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public Builder duration(double 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 bitrate(double bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = Optional.ofNullable(bitrate); return this; } public Builder bitrate(Optional bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = bitrate; return this; } public Builder width(double width) { Utils.checkNotNull(width, "width"); this.width = Optional.ofNullable(width); return this; } public Builder width(Optional width) { Utils.checkNotNull(width, "width"); this.width = width; return this; } public Builder height(double height) { Utils.checkNotNull(height, "height"); this.height = Optional.ofNullable(height); return this; } public Builder height(Optional height) { Utils.checkNotNull(height, "height"); this.height = height; return this; } public Builder aspectRatio(double aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = Optional.ofNullable(aspectRatio); return this; } public Builder aspectRatio(Optional aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = aspectRatio; return this; } public Builder audioChannels(double audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = Optional.ofNullable(audioChannels); return this; } public Builder audioChannels(Optional audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = audioChannels; return this; } public Builder audioCodec(String audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = Optional.ofNullable(audioCodec); return this; } public Builder audioCodec(Optional audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = audioCodec; return this; } public Builder videoCodec(String videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = Optional.ofNullable(videoCodec); return this; } public Builder videoCodec(Optional videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = videoCodec; return this; } public Builder videoResolution(double videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = Optional.ofNullable(videoResolution); return this; } public Builder videoResolution(Optional videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = videoResolution; return this; } public Builder container(String container) { Utils.checkNotNull(container, "container"); this.container = Optional.ofNullable(container); return this; } public Builder container(Optional container) { Utils.checkNotNull(container, "container"); this.container = container; return this; } public Builder videoFrameRate(String videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = Optional.ofNullable(videoFrameRate); return this; } public Builder videoFrameRate(Optional videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = videoFrameRate; return this; } public Builder audioProfile(String audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = Optional.ofNullable(audioProfile); return this; } public Builder audioProfile(Optional audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = audioProfile; return this; } public Builder videoProfile(String videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = Optional.ofNullable(videoProfile); return this; } public Builder videoProfile(Optional videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = videoProfile; return this; } public Builder part(List part) { Utils.checkNotNull(part, "part"); this.part = Optional.ofNullable(part); return this; } public Builder part(Optional> part) { Utils.checkNotNull(part, "part"); this.part = part; return this; } public GetSearchResultsMedia build() { return new GetSearchResultsMedia( id, duration, bitrate, width, height, aspectRatio, audioChannels, audioCodec, videoCodec, videoResolution, container, videoFrameRate, audioProfile, videoProfile, part); } } }