com.algolia.model.abtesting.AddABTestsVariant Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of algoliasearch Show documentation
Show all versions of algoliasearch Show documentation
Java client for Algolia Search API
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost
// - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
package com.algolia.model.abtesting;
import com.algolia.exceptions.AlgoliaRuntimeException;
import com.algolia.utils.CompoundType;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.*;
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.util.logging.Logger;
/** AddABTestsVariant */
@JsonDeserialize(using = AddABTestsVariant.Deserializer.class)
@JsonSerialize(using = AddABTestsVariant.Serializer.class)
public interface AddABTestsVariant extends CompoundType {
static AddABTestsVariant of(AbTestsVariant inside) {
return new AddABTestsVariantAbTestsVariant(inside);
}
static AddABTestsVariant of(AbTestsVariantSearchParams inside) {
return new AddABTestsVariantAbTestsVariantSearchParams(inside);
}
class Serializer extends StdSerializer {
public Serializer(Class t) {
super(t);
}
public Serializer() {
this(null);
}
@Override
public void serialize(AddABTestsVariant value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
jgen.writeObject(value.get());
}
}
class Deserializer extends StdDeserializer {
private static final Logger LOGGER = Logger.getLogger(Deserializer.class.getName());
public Deserializer() {
this(AddABTestsVariant.class);
}
public Deserializer(Class> vc) {
super(vc);
}
@Override
public AddABTestsVariant deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonNode tree = jp.readValueAsTree();
// deserialize AbTestsVariant
if (tree.isObject()) {
try (JsonParser parser = tree.traverse(jp.getCodec())) {
AbTestsVariant value = parser.readValueAs(new TypeReference() {});
return AddABTestsVariant.of(value);
} catch (Exception e) {
// deserialization failed, continue
LOGGER.finest("Failed to deserialize oneOf AbTestsVariant (error: " + e.getMessage() + ") (type: AbTestsVariant)");
}
}
// deserialize AbTestsVariantSearchParams
if (tree.isObject()) {
try (JsonParser parser = tree.traverse(jp.getCodec())) {
AbTestsVariantSearchParams value = parser.readValueAs(new TypeReference() {});
return AddABTestsVariant.of(value);
} catch (Exception e) {
// deserialization failed, continue
LOGGER.finest(
"Failed to deserialize oneOf AbTestsVariantSearchParams (error: " + e.getMessage() + ") (type: AbTestsVariantSearchParams)"
);
}
}
throw new AlgoliaRuntimeException(String.format("Failed to deserialize json element: %s", tree));
}
/** Handle deserialization of the 'null' value. */
@Override
public AddABTestsVariant getNullValue(DeserializationContext ctxt) throws JsonMappingException {
throw new JsonMappingException(ctxt.getParser(), "AddABTestsVariant cannot be null");
}
}
}
class AddABTestsVariantAbTestsVariant implements AddABTestsVariant {
private final AbTestsVariant value;
AddABTestsVariantAbTestsVariant(AbTestsVariant value) {
this.value = value;
}
@Override
public AbTestsVariant get() {
return value;
}
}
class AddABTestsVariantAbTestsVariantSearchParams implements AddABTestsVariant {
private final AbTestsVariantSearchParams value;
AddABTestsVariantAbTestsVariantSearchParams(AbTestsVariantSearchParams value) {
this.value = value;
}
@Override
public AbTestsVariantSearchParams get() {
return value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy