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

de.adorsys.aspsp.xs2a.integtest.utils.CustomDateDeserializer Maven / Gradle / Ivy

package de.adorsys.aspsp.xs2a.integtest.utils;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import lombok.extern.slf4j.Slf4j;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Optional;

@Slf4j
public class CustomDateDeserializer extends StdDeserializer {
    private final Class vc;

    public CustomDateDeserializer(Class vc) {
        super(vc);
        this.vc = vc;
    }

    @Override
    public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) {
        try {
            Method now = Optional.ofNullable(vc.getMethod("now"))
                             .orElseThrow(() -> new IllegalArgumentException("Can't find method now"));

            return (T)now.invoke(vc.getDeclaredClasses());
        } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
            log.error("Can't invoke method 'now'");
        }
        return null;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy