mirror of
https://github.com/LukeHagar/plexjava.git
synced 2025-12-06 12:37:47 +00:00
202 lines
7.8 KiB
Java
202 lines
7.8 KiB
Java
/*
|
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
*/
|
|
package dev.plexapi.sdk.models.operations;
|
|
|
|
import com.fasterxml.jackson.core.JacksonException;
|
|
import com.fasterxml.jackson.core.JsonGenerator;
|
|
import com.fasterxml.jackson.core.JsonParser;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
|
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
|
|
import java.io.IOException;
|
|
import java.lang.Override;
|
|
import java.lang.String;
|
|
import java.lang.SuppressWarnings;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Optional;
|
|
|
|
/**
|
|
* <p>Wrapper class for an "open" enum. "Open" enums are those that are expected
|
|
* to evolve (particularly with the addition of enum members over time). If an
|
|
* open enum is used then the appearance of unexpected enum values (say in a
|
|
* response from an updated an API) will not bring about a runtime error thus
|
|
* ensuring that non-updated client versions can continue to work without error.
|
|
*
|
|
* <p>Note that instances are immutable and are singletons (an internal thread-safe
|
|
* cache is maintained to ensure that). As a consequence instances created with the
|
|
* same value will satisfy reference equality (via {@code ==}).
|
|
*
|
|
* <p>This class is intended to emulate an enum (in terms of common usage and with
|
|
* reference equality) but with the ability to carry unknown values. Unfortunately
|
|
* Java does not permit the use of an instance in a switch expression but you can
|
|
* use the {@code asEnum()} method (after dealing with the `Optional` appropriately).
|
|
*
|
|
*/
|
|
/**
|
|
* GetSearchAllLibrariesShowOrdering
|
|
*
|
|
* <p>Setting that indicates the episode ordering for the show.
|
|
* None = Library default,
|
|
* tmdbAiring = The Movie Database (Aired),
|
|
* aired = TheTVDB (Aired),
|
|
* dvd = TheTVDB (DVD),
|
|
* absolute = TheTVDB (Absolute)).
|
|
*/
|
|
@JsonDeserialize(using = GetSearchAllLibrariesShowOrdering._Deserializer.class)
|
|
@JsonSerialize(using = GetSearchAllLibrariesShowOrdering._Serializer.class)
|
|
public class GetSearchAllLibrariesShowOrdering {
|
|
|
|
public static final GetSearchAllLibrariesShowOrdering None = new GetSearchAllLibrariesShowOrdering("None");
|
|
public static final GetSearchAllLibrariesShowOrdering TmdbAiring = new GetSearchAllLibrariesShowOrdering("tmdbAiring");
|
|
public static final GetSearchAllLibrariesShowOrdering TvdbAired = new GetSearchAllLibrariesShowOrdering("aired");
|
|
public static final GetSearchAllLibrariesShowOrdering TvdbDvd = new GetSearchAllLibrariesShowOrdering("dvd");
|
|
public static final GetSearchAllLibrariesShowOrdering TvdbAbsolute = new GetSearchAllLibrariesShowOrdering("absolute");
|
|
|
|
// This map will grow whenever a Color gets created with a new
|
|
// unrecognized value (a potential memory leak if the user is not
|
|
// careful). Keep this field lower case to avoid clashing with
|
|
// generated member names which will always be upper cased (Java
|
|
// convention)
|
|
private static final Map<String, GetSearchAllLibrariesShowOrdering> values = createValuesMap();
|
|
private static final Map<String, GetSearchAllLibrariesShowOrderingEnum> enums = createEnumsMap();
|
|
|
|
private final String value;
|
|
|
|
private GetSearchAllLibrariesShowOrdering(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
/**
|
|
* Returns a GetSearchAllLibrariesShowOrdering with the given value. For a specific value the
|
|
* returned object will always be a singleton so reference equality
|
|
* is satisfied when the values are the same.
|
|
*
|
|
* @param value value to be wrapped as GetSearchAllLibrariesShowOrdering
|
|
*/
|
|
public static GetSearchAllLibrariesShowOrdering of(String value) {
|
|
synchronized (GetSearchAllLibrariesShowOrdering.class) {
|
|
return values.computeIfAbsent(value, v -> new GetSearchAllLibrariesShowOrdering(v));
|
|
}
|
|
}
|
|
|
|
public String value() {
|
|
return value;
|
|
}
|
|
|
|
public Optional<GetSearchAllLibrariesShowOrderingEnum> asEnum() {
|
|
return Optional.ofNullable(enums.getOrDefault(value, null));
|
|
}
|
|
|
|
public boolean isKnown() {
|
|
return asEnum().isPresent();
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return Objects.hash(value);
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(java.lang.Object obj) {
|
|
if (this == obj)
|
|
return true;
|
|
if (obj == null)
|
|
return false;
|
|
if (getClass() != obj.getClass())
|
|
return false;
|
|
GetSearchAllLibrariesShowOrdering other = (GetSearchAllLibrariesShowOrdering) obj;
|
|
return Objects.equals(value, other.value);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "GetSearchAllLibrariesShowOrdering [value=" + value + "]";
|
|
}
|
|
|
|
// return an array just like an enum
|
|
public static GetSearchAllLibrariesShowOrdering[] values() {
|
|
synchronized (GetSearchAllLibrariesShowOrdering.class) {
|
|
return values.values().toArray(new GetSearchAllLibrariesShowOrdering[] {});
|
|
}
|
|
}
|
|
|
|
private static final Map<String, GetSearchAllLibrariesShowOrdering> createValuesMap() {
|
|
Map<String, GetSearchAllLibrariesShowOrdering> map = new LinkedHashMap<>();
|
|
map.put("None", None);
|
|
map.put("tmdbAiring", TmdbAiring);
|
|
map.put("aired", TvdbAired);
|
|
map.put("dvd", TvdbDvd);
|
|
map.put("absolute", TvdbAbsolute);
|
|
return map;
|
|
}
|
|
|
|
private static final Map<String, GetSearchAllLibrariesShowOrderingEnum> createEnumsMap() {
|
|
Map<String, GetSearchAllLibrariesShowOrderingEnum> map = new HashMap<>();
|
|
map.put("None", GetSearchAllLibrariesShowOrderingEnum.None);
|
|
map.put("tmdbAiring", GetSearchAllLibrariesShowOrderingEnum.TmdbAiring);
|
|
map.put("aired", GetSearchAllLibrariesShowOrderingEnum.TvdbAired);
|
|
map.put("dvd", GetSearchAllLibrariesShowOrderingEnum.TvdbDvd);
|
|
map.put("absolute", GetSearchAllLibrariesShowOrderingEnum.TvdbAbsolute);
|
|
return map;
|
|
}
|
|
|
|
@SuppressWarnings("serial")
|
|
public static final class _Serializer extends StdSerializer<GetSearchAllLibrariesShowOrdering> {
|
|
|
|
protected _Serializer() {
|
|
super(GetSearchAllLibrariesShowOrdering.class);
|
|
}
|
|
|
|
@Override
|
|
public void serialize(GetSearchAllLibrariesShowOrdering value, JsonGenerator g, SerializerProvider provider)
|
|
throws IOException, JsonProcessingException {
|
|
g.writeObject(value.value);
|
|
}
|
|
}
|
|
|
|
@SuppressWarnings("serial")
|
|
public static final class _Deserializer extends StdDeserializer<GetSearchAllLibrariesShowOrdering> {
|
|
|
|
protected _Deserializer() {
|
|
super(GetSearchAllLibrariesShowOrdering.class);
|
|
}
|
|
|
|
@Override
|
|
public GetSearchAllLibrariesShowOrdering deserialize(JsonParser p, DeserializationContext ctxt)
|
|
throws IOException, JacksonException {
|
|
String v = p.readValueAs(new TypeReference<String>() {});
|
|
// use the factory method to ensure we get singletons
|
|
return GetSearchAllLibrariesShowOrdering.of(v);
|
|
}
|
|
}
|
|
|
|
public enum GetSearchAllLibrariesShowOrderingEnum {
|
|
|
|
None("None"),
|
|
TmdbAiring("tmdbAiring"),
|
|
TvdbAired("aired"),
|
|
TvdbDvd("dvd"),
|
|
TvdbAbsolute("absolute"),;
|
|
|
|
private final String value;
|
|
|
|
private GetSearchAllLibrariesShowOrderingEnum(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
public String value() {
|
|
return value;
|
|
}
|
|
}
|
|
}
|
|
|