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

io.dropwizard.kafka.serializer.SerializerFactory Maven / Gradle / Ivy

package io.dropwizard.kafka.serializer;

import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.dropwizard.jackson.Discoverable;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.Serializer;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
public abstract class SerializerFactory implements Discoverable {
    public abstract Class getSerializerClass();

    public Map build(final boolean isKey) {
        final String propertyName = isKey ? ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG : ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG;

        final Map config = new HashMap<>();
        config.put(propertyName, getSerializerClass());
        return Collections.unmodifiableMap(config);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy