/* * 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 GetSessionsMedia { @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioChannels") private Optional audioChannels; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioCodec") private Optional audioCodec; @JsonInclude(Include.NON_ABSENT) @JsonProperty("bitrate") private Optional bitrate; @JsonInclude(Include.NON_ABSENT) @JsonProperty("container") private Optional container; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("id") private Optional id; @JsonInclude(Include.NON_ABSENT) @JsonProperty("selected") private Optional selected; @JsonInclude(Include.NON_ABSENT) @JsonProperty("Part") private Optional> part; @JsonCreator public GetSessionsMedia( @JsonProperty("audioChannels") Optional audioChannels, @JsonProperty("audioCodec") Optional audioCodec, @JsonProperty("bitrate") Optional bitrate, @JsonProperty("container") Optional container, @JsonProperty("duration") Optional duration, @JsonProperty("id") Optional id, @JsonProperty("selected") Optional selected, @JsonProperty("Part") Optional> part) { Utils.checkNotNull(audioChannels, "audioChannels"); Utils.checkNotNull(audioCodec, "audioCodec"); Utils.checkNotNull(bitrate, "bitrate"); Utils.checkNotNull(container, "container"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(id, "id"); Utils.checkNotNull(selected, "selected"); Utils.checkNotNull(part, "part"); this.audioChannels = audioChannels; this.audioCodec = audioCodec; this.bitrate = bitrate; this.container = container; this.duration = duration; this.id = id; this.selected = selected; this.part = part; } public GetSessionsMedia() { this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } @JsonIgnore public Optional audioChannels() { return audioChannels; } @JsonIgnore public Optional audioCodec() { return audioCodec; } @JsonIgnore public Optional bitrate() { return bitrate; } @JsonIgnore public Optional container() { return container; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional id() { return id; } @JsonIgnore public Optional selected() { return selected; } @SuppressWarnings("unchecked") @JsonIgnore public Optional> part() { return (Optional>) part; } public final static Builder builder() { return new Builder(); } public GetSessionsMedia withAudioChannels(int audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = Optional.ofNullable(audioChannels); return this; } public GetSessionsMedia withAudioChannels(Optional audioChannels) { Utils.checkNotNull(audioChannels, "audioChannels"); this.audioChannels = audioChannels; return this; } public GetSessionsMedia withAudioCodec(String audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = Optional.ofNullable(audioCodec); return this; } public GetSessionsMedia withAudioCodec(Optional audioCodec) { Utils.checkNotNull(audioCodec, "audioCodec"); this.audioCodec = audioCodec; return this; } public GetSessionsMedia withBitrate(int bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = Optional.ofNullable(bitrate); return this; } public GetSessionsMedia withBitrate(Optional bitrate) { Utils.checkNotNull(bitrate, "bitrate"); this.bitrate = bitrate; return this; } public GetSessionsMedia withContainer(String container) { Utils.checkNotNull(container, "container"); this.container = Optional.ofNullable(container); return this; } public GetSessionsMedia withContainer(Optional container) { Utils.checkNotNull(container, "container"); this.container = container; return this; } public GetSessionsMedia withDuration(int duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetSessionsMedia withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetSessionsMedia withId(String id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public GetSessionsMedia withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public GetSessionsMedia withSelected(boolean selected) { Utils.checkNotNull(selected, "selected"); this.selected = Optional.ofNullable(selected); return this; } public GetSessionsMedia withSelected(Optional selected) { Utils.checkNotNull(selected, "selected"); this.selected = selected; return this; } public GetSessionsMedia withPart(List part) { Utils.checkNotNull(part, "part"); this.part = Optional.ofNullable(part); return this; } public GetSessionsMedia 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; } GetSessionsMedia other = (GetSessionsMedia) o; return Objects.deepEquals(this.audioChannels, other.audioChannels) && Objects.deepEquals(this.audioCodec, other.audioCodec) && Objects.deepEquals(this.bitrate, other.bitrate) && Objects.deepEquals(this.container, other.container) && Objects.deepEquals(this.duration, other.duration) && Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.selected, other.selected) && Objects.deepEquals(this.part, other.part); } @Override public int hashCode() { return Objects.hash( audioChannels, audioCodec, bitrate, container, duration, id, selected, part); } @Override public String toString() { return Utils.toString(GetSessionsMedia.class, "audioChannels", audioChannels, "audioCodec", audioCodec, "bitrate", bitrate, "container", container, "duration", duration, "id", id, "selected", selected, "part", part); } public final static class Builder { private Optional audioChannels = Optional.empty(); private Optional audioCodec = Optional.empty(); private Optional bitrate = Optional.empty(); private Optional container = Optional.empty(); private Optional duration = Optional.empty(); private Optional id = Optional.empty(); private Optional selected = Optional.empty(); private Optional> part = Optional.empty(); private Builder() { // force use of static builder() method } public Builder audioChannels(int 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 bitrate(int 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 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 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 id(String 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 selected(boolean selected) { Utils.checkNotNull(selected, "selected"); this.selected = Optional.ofNullable(selected); return this; } public Builder selected(Optional selected) { Utils.checkNotNull(selected, "selected"); this.selected = selected; 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 GetSessionsMedia build() { return new GetSessionsMedia( audioChannels, audioCodec, bitrate, container, duration, id, selected, part); } } }