Class ProtobufKafkaDeserializer<U extends com.google.protobuf.Message>

java.lang.Object
io.apicurio.registry.serde.SchemaResolverConfigurer<T,U>
io.apicurio.registry.serde.AbstractKafkaSerDe<T,U>
io.apicurio.registry.serde.AbstractKafkaDeserializer<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U>
io.apicurio.registry.serde.protobuf.ProtobufKafkaDeserializer<U>
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.kafka.common.serialization.Deserializer<U>

public class ProtobufKafkaDeserializer<U extends com.google.protobuf.Message> extends AbstractKafkaDeserializer<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U>
Author:
Ales Justin, Hiram Chirino, Fabian Martinez
  • Constructor Details

    • ProtobufKafkaDeserializer

      public ProtobufKafkaDeserializer()
    • ProtobufKafkaDeserializer

      public ProtobufKafkaDeserializer(io.apicurio.registry.rest.client.RegistryClient client, io.apicurio.registry.resolver.SchemaResolver<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U> schemaResolver)
    • ProtobufKafkaDeserializer

      public ProtobufKafkaDeserializer(io.apicurio.registry.rest.client.RegistryClient client)
    • ProtobufKafkaDeserializer

      public ProtobufKafkaDeserializer(io.apicurio.registry.resolver.SchemaResolver<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U> schemaResolver)
  • Method Details

    • configure

      public void configure(Map<String,?> configs, boolean isKey)
      Specified by:
      configure in interface org.apache.kafka.common.serialization.Deserializer<U extends com.google.protobuf.Message>
      Specified by:
      configure in class AbstractKafkaSerDe<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U extends com.google.protobuf.Message>
    • schemaParser

      public io.apicurio.registry.resolver.SchemaParser<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U> schemaParser()
      Specified by:
      schemaParser in class AbstractKafkaSerDe<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U extends com.google.protobuf.Message>
      See Also:
    • readData

      protected U readData(org.apache.kafka.common.header.Headers headers, io.apicurio.registry.resolver.ParsedSchema<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema> schema, ByteBuffer buffer, int start, int length)
      Specified by:
      readData in class AbstractKafkaDeserializer<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U extends com.google.protobuf.Message>
      See Also:
      • io.apicurio.registry.serde.AbstractKafkaDeserializer#readData(org.apache.kafka.common.header.Headers, io.apicurio.registry.serde.ParsedSchema, java.nio.ByteBuffer, int, int)
    • readData

      protected U readData(io.apicurio.registry.resolver.ParsedSchema<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema> schema, ByteBuffer buffer, int start, int length)
      Specified by:
      readData in class AbstractKafkaDeserializer<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema,U extends com.google.protobuf.Message>
      See Also:
      • io.apicurio.registry.serde.AbstractKafkaDeserializer#readData(io.apicurio.registry.serde.ParsedSchema, java.nio.ByteBuffer, int, int)
    • internalReadData

      protected U internalReadData(org.apache.kafka.common.header.Headers headers, io.apicurio.registry.resolver.ParsedSchema<io.apicurio.registry.utils.protobuf.schema.ProtobufSchema> schema, ByteBuffer buff, int start, int length)
    • deriveClassFromDescriptor

      public String deriveClassFromDescriptor(com.google.protobuf.Descriptors.Descriptor des)