Class AbstractKafkaJsonSchemaDeserializer<T>

java.lang.Object
io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe
io.confluent.kafka.serializers.json.AbstractKafkaJsonSchemaDeserializer<T>
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.kafka.common.ClusterResourceListener
Direct Known Subclasses:
KafkaJsonSchemaDeserializer

public abstract class AbstractKafkaJsonSchemaDeserializer<T> extends AbstractKafkaSchemaSerDe
  • Field Details

    • objectMapper

      protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • type

      protected Class<T> type
    • typeProperty

      protected String typeProperty
    • allowedTypePackages

      protected List<String> allowedTypePackages
    • validate

      protected boolean validate
    • validateBeforeDomainRules

      protected boolean validateBeforeDomainRules
  • Constructor Details

    • AbstractKafkaJsonSchemaDeserializer

      public AbstractKafkaJsonSchemaDeserializer()
  • Method Details

    • configure

      protected void configure(KafkaJsonSchemaDeserializerConfig 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 KafkaJsonSchemaDeserializerConfig deserializerConfig(Map<String,?> props)
    • deserializerConfig

      protected KafkaJsonSchemaDeserializerConfig deserializerConfig(Properties props)
    • objectMapper

      public com.fasterxml.jackson.databind.ObjectMapper objectMapper()
    • 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 key, 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 JsonSchemaAndValue 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 JsonSchemaAndValue 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
    • validateJson

      protected com.fasterxml.jackson.databind.JsonNode validateJson(com.fasterxml.jackson.databind.JsonNode jsonNode, ByteBuffer buffer, int start, int length, JsonSchema schema) throws IOException
      Throws:
      IOException