Class ExtractChangedRecordState<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>

java.lang.Object
io.debezium.transforms.ExtractChangedRecordState<R>
Type Parameters:
R - the subtype of ConnectRecord on which this transformation will operate
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.kafka.common.Configurable, org.apache.kafka.connect.transforms.Transformation<R>

public class ExtractChangedRecordState<R extends org.apache.kafka.connect.connector.ConnectRecord<R>> extends Object implements org.apache.kafka.connect.transforms.Transformation<R>
This SMT to extract the changed and unchanged field names to Connect Headers comparing before and after value. It only works on update event.
Author:
Harvey Yue
  • Field Details

    • HEADER_CHANGED_NAME

      public static final Field HEADER_CHANGED_NAME
    • HEADER_UNCHANGED_NAME

      public static final Field HEADER_UNCHANGED_NAME
    • headerChangedName

      private String headerChangedName
    • headerUnchangedName

      private String headerUnchangedName
    • changedSchema

      private org.apache.kafka.connect.data.Schema changedSchema
    • unchangedSchema

      private org.apache.kafka.connect.data.Schema unchangedSchema
    • smtManager

      private SmtManager<R extends org.apache.kafka.connect.connector.ConnectRecord<R>> smtManager
  • Constructor Details

    • ExtractChangedRecordState

      public ExtractChangedRecordState()
  • Method Details

    • configure

      public void configure(Map<String,?> configs)
      Specified by:
      configure in interface org.apache.kafka.common.Configurable
    • apply

      public R apply(R record)
      Specified by:
      apply in interface org.apache.kafka.connect.transforms.Transformation<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.apache.kafka.connect.transforms.Transformation<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
    • config

      public org.apache.kafka.common.config.ConfigDef config()
      Specified by:
      config in interface org.apache.kafka.connect.transforms.Transformation<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>