
io.dropwizard.kafka.deserializer.DeserializerFactory Maven / Gradle / Ivy
package io.dropwizard.kafka.deserializer;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.dropwizard.jackson.Discoverable;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.common.serialization.Deserializer;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
public abstract class DeserializerFactory implements Discoverable {
public abstract Class extends Deserializer>> getDeserializerClass();
public Map build(final boolean isKey) {
final String propertyName = isKey ?
ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG : ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG;
final Map config = new HashMap<>();
config.put(propertyName, getDeserializerClass());
return Collections.unmodifiableMap(config);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy