/* * 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.util.Objects; import java.util.Optional; public class GetSearchResultsPart { @JsonInclude(Include.NON_ABSENT) @JsonProperty("id") private Optional id; @JsonInclude(Include.NON_ABSENT) @JsonProperty("key") private Optional key; @JsonInclude(Include.NON_ABSENT) @JsonProperty("duration") private Optional duration; @JsonInclude(Include.NON_ABSENT) @JsonProperty("file") private Optional file; @JsonInclude(Include.NON_ABSENT) @JsonProperty("size") private Optional size; @JsonInclude(Include.NON_ABSENT) @JsonProperty("audioProfile") private Optional audioProfile; @JsonInclude(Include.NON_ABSENT) @JsonProperty("container") private Optional container; @JsonInclude(Include.NON_ABSENT) @JsonProperty("videoProfile") private Optional videoProfile; @JsonCreator public GetSearchResultsPart( @JsonProperty("id") Optional id, @JsonProperty("key") Optional key, @JsonProperty("duration") Optional duration, @JsonProperty("file") Optional file, @JsonProperty("size") Optional size, @JsonProperty("audioProfile") Optional audioProfile, @JsonProperty("container") Optional container, @JsonProperty("videoProfile") Optional videoProfile) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(key, "key"); Utils.checkNotNull(duration, "duration"); Utils.checkNotNull(file, "file"); Utils.checkNotNull(size, "size"); Utils.checkNotNull(audioProfile, "audioProfile"); Utils.checkNotNull(container, "container"); Utils.checkNotNull(videoProfile, "videoProfile"); this.id = id; this.key = key; this.duration = duration; this.file = file; this.size = size; this.audioProfile = audioProfile; this.container = container; this.videoProfile = videoProfile; } public GetSearchResultsPart() { this(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 key() { return key; } @JsonIgnore public Optional duration() { return duration; } @JsonIgnore public Optional file() { return file; } @JsonIgnore public Optional size() { return size; } @JsonIgnore public Optional audioProfile() { return audioProfile; } @JsonIgnore public Optional container() { return container; } @JsonIgnore public Optional videoProfile() { return videoProfile; } public final static Builder builder() { return new Builder(); } public GetSearchResultsPart withId(double id) { Utils.checkNotNull(id, "id"); this.id = Optional.ofNullable(id); return this; } public GetSearchResultsPart withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } public GetSearchResultsPart withKey(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public GetSearchResultsPart withKey(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; return this; } public GetSearchResultsPart withDuration(double duration) { Utils.checkNotNull(duration, "duration"); this.duration = Optional.ofNullable(duration); return this; } public GetSearchResultsPart withDuration(Optional duration) { Utils.checkNotNull(duration, "duration"); this.duration = duration; return this; } public GetSearchResultsPart withFile(String file) { Utils.checkNotNull(file, "file"); this.file = Optional.ofNullable(file); return this; } public GetSearchResultsPart withFile(Optional file) { Utils.checkNotNull(file, "file"); this.file = file; return this; } public GetSearchResultsPart withSize(double size) { Utils.checkNotNull(size, "size"); this.size = Optional.ofNullable(size); return this; } public GetSearchResultsPart withSize(Optional size) { Utils.checkNotNull(size, "size"); this.size = size; return this; } public GetSearchResultsPart withAudioProfile(String audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = Optional.ofNullable(audioProfile); return this; } public GetSearchResultsPart withAudioProfile(Optional audioProfile) { Utils.checkNotNull(audioProfile, "audioProfile"); this.audioProfile = audioProfile; return this; } public GetSearchResultsPart withContainer(String container) { Utils.checkNotNull(container, "container"); this.container = Optional.ofNullable(container); return this; } public GetSearchResultsPart withContainer(Optional container) { Utils.checkNotNull(container, "container"); this.container = container; return this; } public GetSearchResultsPart withVideoProfile(String videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = Optional.ofNullable(videoProfile); return this; } public GetSearchResultsPart withVideoProfile(Optional videoProfile) { Utils.checkNotNull(videoProfile, "videoProfile"); this.videoProfile = videoProfile; return this; } @Override public boolean equals(java.lang.Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GetSearchResultsPart other = (GetSearchResultsPart) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.key, other.key) && Objects.deepEquals(this.duration, other.duration) && Objects.deepEquals(this.file, other.file) && Objects.deepEquals(this.size, other.size) && Objects.deepEquals(this.audioProfile, other.audioProfile) && Objects.deepEquals(this.container, other.container) && Objects.deepEquals(this.videoProfile, other.videoProfile); } @Override public int hashCode() { return Objects.hash( id, key, duration, file, size, audioProfile, container, videoProfile); } @Override public String toString() { return Utils.toString(GetSearchResultsPart.class, "id", id, "key", key, "duration", duration, "file", file, "size", size, "audioProfile", audioProfile, "container", container, "videoProfile", videoProfile); } public final static class Builder { private Optional id = Optional.empty(); private Optional key = Optional.empty(); private Optional duration = Optional.empty(); private Optional file = Optional.empty(); private Optional size = Optional.empty(); private Optional audioProfile = Optional.empty(); private Optional container = Optional.empty(); private Optional videoProfile = 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 key(String key) { Utils.checkNotNull(key, "key"); this.key = Optional.ofNullable(key); return this; } public Builder key(Optional key) { Utils.checkNotNull(key, "key"); this.key = key; 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 file(String file) { Utils.checkNotNull(file, "file"); this.file = Optional.ofNullable(file); return this; } public Builder file(Optional file) { Utils.checkNotNull(file, "file"); this.file = file; return this; } public Builder size(double 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 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 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 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 GetSearchResultsPart build() { return new GetSearchResultsPart( id, key, duration, file, size, audioProfile, container, videoProfile); } } }