All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.atlan.serde.ElasticSortOptionsDeserializer Maven / Gradle / Ivy

There is a newer version: 4.2.1
Show newest version
/* SPDX-License-Identifier: Apache-2.0
   Copyright 2022 Atlan Pte. Ltd. */
package com.atlan.serde;

import co.elastic.clients.elasticsearch._types.SortOptions;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
import java.io.IOException;
import java.io.StringReader;

public class ElasticSortOptionsDeserializer extends StdDeserializer {

    private static final long serialVersionUID = 2L;

    public ElasticSortOptionsDeserializer() {
        this(null);
    }

    public ElasticSortOptionsDeserializer(Class t) {
        super(t);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Object deserializeWithType(
            JsonParser parser, DeserializationContext context, TypeDeserializer typeDeserializer) throws IOException {
        return deserialize(parser, context);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public SortOptions deserialize(JsonParser parser, DeserializationContext context) throws IOException {
        StringReader sr = new StringReader(parser.readValueAsTree().toString());
        jakarta.json.stream.JsonParser jsonParser =
                Serde.jsonpMapper.jsonProvider().createParser(sr);
        return SortOptions._DESERIALIZER.deserialize(jsonParser, Serde.jsonpMapper);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy