Class SerdeBasedConverter<S,T>
- java.lang.Object
-
- io.apicurio.registry.serde.SchemaResolverConfigurer<S,T>
-
- io.apicurio.registry.utils.converter.SerdeBasedConverter<S,T>
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.apache.kafka.connect.storage.Converter
- Direct Known Subclasses:
AvroConverter
public class SerdeBasedConverter<S,T> extends io.apicurio.registry.serde.SchemaResolverConfigurer<S,T> implements org.apache.kafka.connect.storage.Converter, Closeable
Very simplistic converter that delegates most of the work to the configured serializer and deserializer. Subclasses should override applySchema(Schema, Object) and provideSchema(T) or toSchemaAndValue(T).- Author:
- Ales Justin, Fabian Martinez
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.kafka.common.serialization.Deserializer<T>
deserializer
static String
REGISTRY_CONVERTER_DESERIALIZER_PARAM
static String
REGISTRY_CONVERTER_SERIALIZER_PARAM
protected org.apache.kafka.common.serialization.Serializer<T>
serializer
-
Constructor Summary
Constructors Constructor Description SerdeBasedConverter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected T
applySchema(org.apache.kafka.connect.data.Schema schema, Object value)
void
close()
void
configure(Map<String,?> configs, boolean isKey)
protected Class<? extends org.apache.kafka.common.serialization.Deserializer>
deserializerClass()
byte[]
fromConnectData(String topic, org.apache.kafka.connect.data.Schema schema, Object value)
protected org.apache.kafka.connect.data.Schema
provideSchema(T result)
protected Class<? extends org.apache.kafka.common.serialization.Serializer>
serializerClass()
void
setDeserializer(org.apache.kafka.common.serialization.Deserializer<T> deserializer)
void
setSerializer(org.apache.kafka.common.serialization.Serializer<T> serializer)
org.apache.kafka.connect.data.SchemaAndValue
toConnectData(String topic, byte[] bytes)
protected org.apache.kafka.connect.data.SchemaAndValue
toSchemaAndValue(T result)
-
Methods inherited from class io.apicurio.registry.serde.SchemaResolverConfigurer
configure, getSchemaResolver, setSchemaResolver
-
-
-
-
Field Detail
-
REGISTRY_CONVERTER_SERIALIZER_PARAM
public static final String REGISTRY_CONVERTER_SERIALIZER_PARAM
- See Also:
- Constant Field Values
-
REGISTRY_CONVERTER_DESERIALIZER_PARAM
public static final String REGISTRY_CONVERTER_DESERIALIZER_PARAM
- See Also:
- Constant Field Values
-
serializer
protected org.apache.kafka.common.serialization.Serializer<T> serializer
-
deserializer
protected org.apache.kafka.common.serialization.Deserializer<T> deserializer
-
-
Method Detail
-
serializerClass
protected Class<? extends org.apache.kafka.common.serialization.Serializer> serializerClass()
-
deserializerClass
protected Class<? extends org.apache.kafka.common.serialization.Deserializer> deserializerClass()
-
configure
public void configure(Map<String,?> configs, boolean isKey)
- Specified by:
configure
in interfaceorg.apache.kafka.connect.storage.Converter
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
fromConnectData
public byte[] fromConnectData(String topic, org.apache.kafka.connect.data.Schema schema, Object value)
- Specified by:
fromConnectData
in interfaceorg.apache.kafka.connect.storage.Converter
-
provideSchema
protected org.apache.kafka.connect.data.Schema provideSchema(T result)
-
toSchemaAndValue
protected org.apache.kafka.connect.data.SchemaAndValue toSchemaAndValue(T result)
-
toConnectData
public org.apache.kafka.connect.data.SchemaAndValue toConnectData(String topic, byte[] bytes)
- Specified by:
toConnectData
in interfaceorg.apache.kafka.connect.storage.Converter
-
setSerializer
public void setSerializer(org.apache.kafka.common.serialization.Serializer<T> serializer)
-
setDeserializer
public void setDeserializer(org.apache.kafka.common.serialization.Deserializer<T> deserializer)
-
-