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