Class AbstractKafkaProtobufDeserializer<T extends com.google.protobuf.Message>

java.lang.Object
io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe
io.confluent.kafka.serializers.protobuf.AbstractKafkaProtobufDeserializer<T>
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
KafkaProtobufDeserializer

public abstract class AbstractKafkaProtobufDeserializer<T extends com.google.protobuf.Message> extends AbstractKafkaSchemaSerDe
  • Field Details

    • specificProtobufClass

      protected Class<T extends com.google.protobuf.Message> specificProtobufClass
    • parseMethod

      protected Method parseMethod
    • deriveType

      protected boolean deriveType
  • Constructor Details

    • AbstractKafkaProtobufDeserializer

      public AbstractKafkaProtobufDeserializer()
  • Method Details

    • configure

      protected void configure(KafkaProtobufDeserializerConfig config, Class<T> type)
      Sets properties for this deserializer without overriding the schema registry client itself. Useful for testing, where a mock client is injected.
    • deserializerConfig

      protected KafkaProtobufDeserializerConfig deserializerConfig(Map<String,?> props)
    • deserializerConfig

      protected KafkaProtobufDeserializerConfig deserializerConfig(Properties props)
    • deserialize

      protected T deserialize(byte[] payload) throws org.apache.kafka.common.errors.SerializationException, org.apache.kafka.common.errors.InvalidConfigurationException
      Deserializes the payload without including schema information for primitive types, maps, and arrays. Just the resulting deserialized object is returned.

      This behavior is the norm for Decoders/Deserializers.

      Parameters:
      payload - serialized data
      Returns:
      the deserialized object
      Throws:
      org.apache.kafka.common.errors.SerializationException
      org.apache.kafka.common.errors.InvalidConfigurationException
    • deserialize

      protected Object deserialize(boolean includeSchemaAndVersion, String topic, Boolean isKey, byte[] payload) throws org.apache.kafka.common.errors.SerializationException, org.apache.kafka.common.errors.InvalidConfigurationException
      Throws:
      org.apache.kafka.common.errors.SerializationException
      org.apache.kafka.common.errors.InvalidConfigurationException
    • deserialize

      protected Object deserialize(boolean includeSchemaAndVersion, String topic, Boolean isKey, org.apache.kafka.common.header.Headers headers, byte[] payload) throws org.apache.kafka.common.errors.SerializationException, org.apache.kafka.common.errors.InvalidConfigurationException
      Throws:
      org.apache.kafka.common.errors.SerializationException
      org.apache.kafka.common.errors.InvalidConfigurationException
    • deserialize

      protected Object deserialize(boolean includeSchemaAndVersion, String topic, Boolean isKey, org.apache.kafka.common.header.Headers headers, byte[] payload, Function<ParsedSchema,ParsedSchema> writerToReaderSchemaFunc) throws org.apache.kafka.common.errors.SerializationException, org.apache.kafka.common.errors.InvalidConfigurationException
      Throws:
      org.apache.kafka.common.errors.SerializationException
      org.apache.kafka.common.errors.InvalidConfigurationException
    • deserializeWithSchemaAndVersion

      protected ProtobufSchemaAndValue deserializeWithSchemaAndVersion(String topic, boolean isKey, org.apache.kafka.common.header.Headers headers, byte[] payload) throws org.apache.kafka.common.errors.SerializationException
      Throws:
      org.apache.kafka.common.errors.SerializationException
    • deserializeWithSchemaAndVersion

      protected ProtobufSchemaAndValue deserializeWithSchemaAndVersion(String topic, boolean isKey, org.apache.kafka.common.header.Headers headers, byte[] payload, Function<ParsedSchema,ParsedSchema> writerToReaderSchemaFunc) throws org.apache.kafka.common.errors.SerializationException
      Throws:
      org.apache.kafka.common.errors.SerializationException