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

org.kiwiproject.consul.util.Base64EncodingDeserializer Maven / Gradle / Ivy

package org.kiwiproject.consul.util;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.util.Base64;
import java.util.Optional;

/**
 * For use with JSON fields that Consul Base 64 encodes.
 */
public class Base64EncodingDeserializer extends JsonDeserializer> {

    /**
     * {@inheritDoc}
     */
    @Override
    public Optional deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
        String value = p.getValueAsString();

        if (StringUtils.isNotEmpty(value)) {
            return Optional.of(new String(Base64.getDecoder().decode(value)));
        }
        return Optional.empty();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy