
com.dominodatalab.api.model.DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec Maven / Gradle / Ivy
/*
* Domino Data Lab API v4
* This API is going to provide access to all the Domino functions available in the user interface. To authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key.
*
* The version of the OpenAPI document: 4.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.dominodatalab.api.model;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.StringJoiner;
import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.dominodatalab.api.model.DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.type.TypeReference;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.MapperFeature;
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 com.dominodatalab.api.invoker.JSON;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-02-03T07:34:01.543562200-05:00[America/New_York]")
@JsonDeserialize(using = DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecDeserializer.class)
@JsonSerialize(using = DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecSerializer.class)
public class DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec extends AbstractOpenApiSchema {
private static final Logger log = Logger.getLogger(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.class.getName());
public static class DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecSerializer extends StdSerializer {
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecSerializer(Class t) {
super(t);
}
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecSerializer() {
this(null);
}
@Override
public void serialize(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeObject(value.getActualInstance());
}
}
public static class DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecDeserializer extends StdDeserializer {
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecDeserializer() {
this(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.class);
}
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecDeserializer(Class> vc) {
super(vc);
}
@Override
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
JsonNode tree = jp.readValueAsTree();
Object deserialized = null;
boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
int match = 0;
JsonToken token = tree.traverse(jp.getCodec()).nextToken();
// deserialize DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf
try {
boolean attemptParsing = true;
// ensure that we respect type coercion as set on the client ObjectMapper
if (DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Integer.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Long.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Float.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Double.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Boolean.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(String.class)) {
attemptParsing = typeCoercion;
if (!attemptParsing) {
attemptParsing |= ((DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Integer.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT);
attemptParsing |= ((DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Float.class) || DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT);
attemptParsing |= (DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
attemptParsing |= (DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class.equals(String.class) && token == JsonToken.VALUE_STRING);
}
}
if (attemptParsing) {
deserialized = tree.traverse(jp.getCodec()).readValueAs(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class);
// TODO: there is no validation against JSON schema constraints
// (min, max, enum, pattern...), this does not perform a strict JSON
// validation, which means the 'match' count may be higher than it should be.
match++;
log.log(Level.FINER, "Input data matches schema 'DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf'");
}
} catch (Exception e) {
// deserialization failed, continue
log.log(Level.FINER, "Input data does not match schema 'DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf'", e);
}
// deserialize String
try {
boolean attemptParsing = true;
// ensure that we respect type coercion as set on the client ObjectMapper
if (String.class.equals(Integer.class) || String.class.equals(Long.class) || String.class.equals(Float.class) || String.class.equals(Double.class) || String.class.equals(Boolean.class) || String.class.equals(String.class)) {
attemptParsing = typeCoercion;
if (!attemptParsing) {
attemptParsing |= ((String.class.equals(Integer.class) || String.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT);
attemptParsing |= ((String.class.equals(Float.class) || String.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT);
attemptParsing |= (String.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
attemptParsing |= (String.class.equals(String.class) && token == JsonToken.VALUE_STRING);
}
}
if (attemptParsing) {
deserialized = tree.traverse(jp.getCodec()).readValueAs(String.class);
// TODO: there is no validation against JSON schema constraints
// (min, max, enum, pattern...), this does not perform a strict JSON
// validation, which means the 'match' count may be higher than it should be.
match++;
log.log(Level.FINER, "Input data matches schema 'String'");
}
} catch (Exception e) {
// deserialization failed, continue
log.log(Level.FINER, "Input data does not match schema 'String'", e);
}
if (match == 1) {
DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec ret = new DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec();
ret.setActualInstance(deserialized);
return ret;
}
throw new IOException(String.format("Failed deserialization for DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec: %d classes match result, expected 1", match));
}
/**
* Handle deserialization of the 'null' value.
*/
@Override
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec getNullValue(DeserializationContext ctxt) throws JsonMappingException {
throw new JsonMappingException(ctxt.getParser(), "DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec cannot be null");
}
}
// store a list of schema names defined in oneOf
public static final Map> schemas = new HashMap<>();
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec() {
super("oneOf", Boolean.FALSE);
}
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf o) {
super("oneOf", Boolean.FALSE);
setActualInstance(o);
}
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec(String o) {
super("oneOf", Boolean.FALSE);
setActualInstance(o);
}
static {
schemas.put("DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf", DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class);
schemas.put("String", String.class);
JSON.registerDescendants(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.class, Collections.unmodifiableMap(schemas));
}
@Override
public Map> getSchemas() {
return DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpec.schemas;
}
/**
* Set the instance that matches the oneOf child schema, check
* the instance parameter is valid against the oneOf child schemas:
* DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf, String
*
* It could be an instance of the 'oneOf' schemas.
* The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf).
*/
@Override
public void setActualInstance(Object instance) {
if (JSON.isInstanceOf(DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf.class, instance, new HashSet>())) {
super.setActualInstance(instance);
return;
}
if (JSON.isInstanceOf(String.class, instance, new HashSet>())) {
super.setActualInstance(instance);
return;
}
throw new RuntimeException("Invalid instance type. Must be DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf, String");
}
/**
* Get the actual instance, which can be the following:
* DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf, String
*
* @return The actual instance (DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf, String)
*/
@Override
public Object getActualInstance() {
return super.getActualInstance();
}
/**
* Get the actual instance of `DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf`. If the actual instance is not `DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf`,
* the ClassCastException will be thrown.
*
* @return The actual instance of `DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf`
* @throws ClassCastException if the instance is not `DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf`
*/
public DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf getDominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf() throws ClassCastException {
return (DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf)super.getActualInstance();
}
/**
* Get the actual instance of `String`. If the actual instance is not `String`,
* the ClassCastException will be thrown.
*
* @return The actual instance of `String`
* @throws ClassCastException if the instance is not `String`
*/
public String getString() throws ClassCastException {
return (String)super.getActualInstance();
}
/**
* Convert the instance into URL query string.
*
* @return URL query string
*/
public String toUrlQueryString() {
return toUrlQueryString(null);
}
/**
* Convert the instance into URL query string.
*
* @param prefix prefix of the query string
* @return URL query string
*/
public String toUrlQueryString(String prefix) {
String suffix = "";
String containerSuffix = "";
String containerPrefix = "";
if (prefix == null) {
// style=form, explode=true, e.g. /pet?name=cat&type=manx
prefix = "";
} else {
// deepObject style e.g. /pet?id[name]=cat&id[type]=manx
prefix = prefix + "[";
suffix = "]";
containerSuffix = "]";
containerPrefix = "[";
}
StringJoiner joiner = new StringJoiner("&");
if (getActualInstance() instanceof String) {
if (getActualInstance() != null) {
joiner.add(String.format("%sone_of_0%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getActualInstance()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
}
return joiner.toString();
}
if (getActualInstance() instanceof DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf) {
if (getActualInstance() != null) {
joiner.add(((DominoComputeclusterApiComputeClusterConfigComputeEnvironmentRevisionSpecOneOf)getActualInstance()).toUrlQueryString(prefix + "one_of_1" + suffix));
}
return joiner.toString();
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy