com.algolia.model.recommend.Promote 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.recommend;
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;
/** Promote */
@JsonDeserialize(using = Promote.Deserializer.class)
@JsonSerialize(using = Promote.Serializer.class)
public interface Promote extends CompoundType {
static Promote of(PromoteObjectID inside) {
return new PromotePromoteObjectID(inside);
}
static Promote of(PromoteObjectIDs inside) {
return new PromotePromoteObjectIDs(inside);
}
class Serializer extends StdSerializer {
public Serializer(Class t) {
super(t);
}
public Serializer() {
this(null);
}
@Override
public void serialize(Promote 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(Promote.class);
}
public Deserializer(Class> vc) {
super(vc);
}
@Override
public Promote deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonNode tree = jp.readValueAsTree();
// deserialize PromoteObjectID
if (tree.isObject()) {
try (JsonParser parser = tree.traverse(jp.getCodec())) {
PromoteObjectID value = parser.readValueAs(new TypeReference() {});
return Promote.of(value);
} catch (Exception e) {
// deserialization failed, continue
LOGGER.finest("Failed to deserialize oneOf PromoteObjectID (error: " + e.getMessage() + ") (type: PromoteObjectID)");
}
}
// deserialize PromoteObjectIDs
if (tree.isObject()) {
try (JsonParser parser = tree.traverse(jp.getCodec())) {
PromoteObjectIDs value = parser.readValueAs(new TypeReference() {});
return Promote.of(value);
} catch (Exception e) {
// deserialization failed, continue
LOGGER.finest("Failed to deserialize oneOf PromoteObjectIDs (error: " + e.getMessage() + ") (type: PromoteObjectIDs)");
}
}
throw new AlgoliaRuntimeException(String.format("Failed to deserialize json element: %s", tree));
}
/** Handle deserialization of the 'null' value. */
@Override
public Promote getNullValue(DeserializationContext ctxt) throws JsonMappingException {
throw new JsonMappingException(ctxt.getParser(), "Promote cannot be null");
}
}
}
class PromotePromoteObjectID implements Promote {
private final PromoteObjectID value;
PromotePromoteObjectID(PromoteObjectID value) {
this.value = value;
}
@Override
public PromoteObjectID get() {
return value;
}
}
class PromotePromoteObjectIDs implements Promote {
private final PromoteObjectIDs value;
PromotePromoteObjectIDs(PromoteObjectIDs value) {
this.value = value;
}
@Override
public PromoteObjectIDs get() {
return value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy