Package io.debezium.transforms
Class HeaderToValue<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
java.lang.Object
io.debezium.transforms.HeaderToValue<R>
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.kafka.common.Configurable,org.apache.kafka.connect.transforms.Transformation<R>
public class HeaderToValue<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
extends Object
implements org.apache.kafka.connect.transforms.Transformation<R>
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate static final Stringstatic final Stringstatic final Fieldstatic final Stringstatic final Fieldprivate final BoundedConcurrentHashMap<org.apache.kafka.connect.header.Headers,org.apache.kafka.connect.header.Headers> private static final org.slf4j.Loggerprivate static final Stringstatic final Stringprivate HeaderToValue.Operationstatic final Stringstatic final Fieldstatic final Stringprivate final BoundedConcurrentHashMap<org.apache.kafka.connect.data.Schema,org.apache.kafka.connect.data.Schema> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate org.apache.kafka.connect.data.SchemabuildNewSchema(String fieldName, org.apache.kafka.connect.data.Schema oldSchema, Map<String, org.apache.kafka.connect.header.Header> headerToProcess, List<String> nestedFields, int level) private org.apache.kafka.connect.data.StructbuildUpdatedValue(String fieldName, org.apache.kafka.connect.data.Struct originalValue, Map<String, org.apache.kafka.connect.header.Header> headerToProcess, org.apache.kafka.connect.data.Schema updatedSchema, List<String> nestedFields, int level) voidclose()org.apache.kafka.common.config.ConfigDefconfig()voidgetFieldName(String destinationFieldName, String fieldName, int level) private StringheadersToString(Map<?, ?> map) private static booleanisChildrenOf(String fieldName, int level, String[] nestedNames) private booleanisContainedIn(String fieldName, List<String> nestedFields) private static booleanisRootField(String fieldName, String[] nestedNames) private org.apache.kafka.connect.data.SchemamakeNewSchema(org.apache.kafka.connect.data.Schema oldSchema, Map<String, org.apache.kafka.connect.header.Header> headerToProcess) private org.apache.kafka.connect.data.StructmakeUpdatedValue(org.apache.kafka.connect.data.Struct originalValue, Map<String, org.apache.kafka.connect.header.Header> headerToProcess, org.apache.kafka.connect.data.Schema updatedSchema) private org.apache.kafka.connect.header.HeadersremoveHeaders(org.apache.kafka.connect.header.Headers originalHeaders) private void
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
FIELDS_CONF
- See Also:
-
HEADERS_CONF
- See Also:
-
OPERATION_CONF
- See Also:
-
MOVE_OPERATION
- See Also:
-
COPY_OPERATION
- See Also:
-
CACHE_SIZE
private static final int CACHE_SIZE- See Also:
-
NESTING_SEPARATOR
- See Also:
-
ROOT_FIELD_NAME
- See Also:
-
HEADERS_FIELD
-
FIELDS_FIELD
-
OPERATION_FIELD
-
fields
-
headers
-
operation
-
schemaUpdateCache
private final BoundedConcurrentHashMap<org.apache.kafka.connect.data.Schema,org.apache.kafka.connect.data.Schema> schemaUpdateCache -
headersUpdateCache
private final BoundedConcurrentHashMap<org.apache.kafka.connect.header.Headers,org.apache.kafka.connect.header.Headers> headersUpdateCache
-
-
Constructor Details
-
HeaderToValue
public HeaderToValue()
-
-
Method Details
-
config
public org.apache.kafka.common.config.ConfigDef config() -
configure
- Specified by:
configurein interfaceorg.apache.kafka.common.Configurable
-
validateConfiguration
private void validateConfiguration() -
apply
-
removeHeaders
private org.apache.kafka.connect.header.Headers removeHeaders(org.apache.kafka.connect.header.Headers originalHeaders) -
makeUpdatedValue
-
buildUpdatedValue
-
isContainedIn
-
makeNewSchema
-
buildNewSchema
-
getFieldName
-
isChildrenOf
-
isRootField
-
headersToString
-
close
public void close()
-