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

com.fluxtion.server.lib.json.JsonDeserializer Maven / Gradle / Ivy

The newest version!
package com.fluxtion.server.lib.json;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;

import java.util.function.Function;

@Data
@Log4j2
public class JsonDeserializer implements Function {

    private final ObjectMapper mapper = new ObjectMapper();
    private final Class clazz;

    @SneakyThrows
    public JsonDeserializer(String className) {
        clazz = Class.forName(className);
    }

    @Override
    public Object apply(String s) {
        try {
            Object value = mapper.readValue(s, clazz);
            log.debug("Deserialized " + value);
            return value;
        } catch (JsonProcessingException e) {
            log.error(e);
        }
        return null;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy