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