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

java.lang.Object
io.debezium.transforms.AbstractExtractNewRecordState<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>
Direct Known Subclasses:
ExtractNewRecordState

public abstract class AbstractExtractNewRecordState<R extends org.apache.kafka.connect.connector.ConnectRecord<R>> extends Object implements org.apache.kafka.connect.transforms.Transformation<R>
ExtractNewRecordState and ExtractNewDocumentState that contains shared logic for transformation
Author:
Harvey Yue
  • Field Details

  • Constructor Details

    • AbstractExtractNewRecordState

      public AbstractExtractNewRecordState()
  • 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>>
    • doApply

      protected abstract R doApply(R record)
    • validateConfigFields

      protected abstract Iterable<Field> validateConfigFields()
    • 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>>
    • setTopic

      protected R setTopic(String updatedTopicValue, R record)
      Set a new topic to connect record
    • makeHeaders

      protected org.apache.kafka.connect.header.Headers makeHeaders(List<AbstractExtractNewRecordState.FieldReference> additionalHeaders, org.apache.kafka.connect.data.Struct originalRecordValue)
      Create the Headers object which contains the headers to be added.
    • getHeaderByName

      protected org.apache.kafka.connect.header.Header getHeaderByName(R record, String headerName)
      Retrieve the Header object from connect record by specified header name