/* * 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 GetOnDeckMedia { @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 GetOnDeckMedia( @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 GetOnDeckMedia() { 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 GetOnDeckMedia withId(double id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public GetOnDeckMedia withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public GetOnDeckMedia withDuration(double duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetOnDeckMedia withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetOnDeckMedia withBitrate(double bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = Optional.ofNullable(bitrate); return this; } public GetOnDeckMedia withBitrate(Optional bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = bitrate; return this; } public GetOnDeckMedia withWidth(double width) { Utils.checkNotNull(width, "width"); this.width = Optional.ofNullable(width); return this; } public GetOnDeckMedia withWidth(Optional width) { Utils.checkNotNull(width, "width"); this.width = width; return this; } public GetOnDeckMedia withHeight(double height) { Utils.checkNotNull(height, "height"); this.height = Optional.ofNullable(height); return this; } public GetOnDeckMedia withHeight(Optional height) { Utils.checkNotNull(height, "height"); this.height = height; return this; } public GetOnDeckMedia withAspectRatio(double aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = Optional.ofNullable(aspectRatio); return this; } public GetOnDeckMedia withAspectRatio(Optional aspectRatio) { Utils.checkNotNull(aspectRatio, "aspectRatio"); this.aspectRatio = aspectRatio; return this; } public GetOnDeckMedia withAudioChannels(double audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = Optional.ofNullable(audioChannels); return this; } public GetOnDeckMedia withAudioChannels(Optional audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = audioChannels; return this; } public GetOnDeckMedia withAudioCodec(String audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = Optional.ofNullable(audioCodec); return this; } public GetOnDeckMedia withAudioCodec(Optional audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = audioCodec; return this; } public GetOnDeckMedia withVideoCodec(String videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = Optional.ofNullable(videoCodec); return this; } public GetOnDeckMedia withVideoCodec(Optional videoCodec) { Utils.checkNotNull(videoCodec, "videoCodec"); this.videoCodec = videoCodec; return this; } public GetOnDeckMedia withVideoResolution(String videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = Optional.ofNullable(videoResolution); return this; } public GetOnDeckMedia withVideoResolution(Optional videoResolution) { Utils.checkNotNull(videoResolution, "videoResolution"); this.videoResolution = videoResolution; return this; } public GetOnDeckMedia withContainer(String container) { Utils.checkNotNull(container, "container"); this.container = Optional.ofNullable(container); return this; } public GetOnDeckMedia withContainer(Optional container) { Utils.checkNotNull(container, "container"); this.container = container; return this; } public GetOnDeckMedia withVideoFrameRate(String videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = Optional.ofNullable(videoFrameRate); return this; } public GetOnDeckMedia withVideoFrameRate(Optional videoFrameRate) { Utils.checkNotNull(videoFrameRate, "videoFrameRate"); this.videoFrameRate = videoFrameRate; return this; } public GetOnDeckMedia withAudioProfile(String audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = Optional.ofNullable(audioProfile); return this; } public GetOnDeckMedia withAudioProfile(Optional audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = audioProfile; return this; } public GetOnDeckMedia withVideoProfile(String videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = Optional.ofNullable(videoProfile); return this; } public GetOnDeckMedia withVideoProfile(Optional videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = videoProfile; return this; } public GetOnDeckMedia withPart(List part) { Utils.checkNotNull(part, "part"); this.part = Optional.ofNullable(part); return this; } public GetOnDeckMedia 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; } GetOnDeckMedia other = (GetOnDeckMedia) 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(GetOnDeckMedia.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(String 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 GetOnDeckMedia build() { return new GetOnDeckMedia( id, duration, bitrate, width, height, aspectRatio, audioChannels, audioCodec, videoCodec, videoResolution, container, videoFrameRate, audioProfile, videoProfile, part); } } }