Class 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 Detail

      • 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
    • Constructor Detail

      • SerdeBasedConverter

        public SerdeBasedConverter()
    • 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 interface org.apache.kafka.connect.storage.Converter
      • applySchema

        protected T applySchema​(org.apache.kafka.connect.data.Schema schema,
                                Object value)
      • fromConnectData

        public byte[] fromConnectData​(String topic,
                                      org.apache.kafka.connect.data.Schema schema,
                                      Object value)
        Specified by:
        fromConnectData in interface org.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 interface org.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)