Interface HeaderConverter

All Superinterfaces:
AutoCloseable, Closeable, Configurable
All Known Implementing Classes:
SimpleHeaderConverter, StringConverter

public interface HeaderConverter extends Configurable, Closeable
The HeaderConverter interface provides support for translating between Kafka Connect's runtime data format and byte[]. This is similar to the Converter interface, but specifically for Headers.

Kafka Connect may discover implementations of this interface using the Java ServiceLoader mechanism. To support this, implementations of this interface should also contain a service provider configuration file in META-INF/services/org.apache.kafka.connect.storage.HeaderConverter.

  • Method Details

    • toConnectHeader

      SchemaAndValue toConnectHeader(String topic, String headerKey, byte[] value)
      Convert the header name and byte array value into a Header object.
      Parameters:
      topic - the name of the topic for the record containing the header
      headerKey - the header's key; may not be null
      value - the header's raw value; may be null
      Returns:
      the SchemaAndValue; may not be null
    • fromConnectHeader

      byte[] fromConnectHeader(String topic, String headerKey, Schema schema, Object value)
      Convert the Header's value into its byte array representation.
      Parameters:
      topic - the name of the topic for the record containing the header
      headerKey - the header's key; may not be null
      schema - the schema for the header's value; may be null
      value - the header's value to convert; may be null
      Returns:
      the byte array form of the Header's value; may be null if the value is null
    • config

      ConfigDef config()
      Configuration specification for this set of header converters.
      Returns:
      the configuration specification; may not be null