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