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

com.grafana.foundation.dashboard.StringOrMapDeserializer Maven / Gradle / Ivy

There is a newer version: 11.3.0-1730898216
Show newest version
// Code generated - EDITING IS FUTILE. DO NOT EDIT.

package com.grafana.foundation.dashboard;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class StringOrMapDeserializer extends JsonDeserializer {

    @Override
    public StringOrMap deserialize(JsonParser jp, DeserializationContext cxt) throws IOException {
        ObjectMapper mapper = (ObjectMapper) jp.getCodec();
        JsonNode root = mapper.readTree(jp);
        
        StringOrMap stringOrMap = new StringOrMap();
        if (root.isTextual()) {
            stringOrMap.string = mapper.convertValue(root, new TypeReference<>() {});
        }
        else if (root.isObject()) {
            stringOrMap.map = mapper.convertValue(root, new TypeReference<>() {});
        }
        
        return stringOrMap;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy