Package org.apache.kafka.connect.storage
Class StringConverter
- java.lang.Object
-
- org.apache.kafka.connect.storage.StringConverter
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Configurable
,Converter
,HeaderConverter
public class StringConverter extends Object implements Converter, HeaderConverter
Converter
andHeaderConverter
implementation that only supports serializing to strings. When converting Kafka Connect data to bytes, the schema will be ignored andObject.toString()
will always be invoked to convert the data to a String. When converting from bytes to Kafka Connect format, the converter will only ever return an optional string schema and a string or null. Encoding configuration is identical toStringSerializer
andStringDeserializer
, but for convenience this class can also be configured to use the same encoding for both encoding and decoding with theconverter.encoding
setting. This implementation currently does nothing with the topic names or header names.
-
-
Constructor Summary
Constructors Constructor Description StringConverter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
ConfigDef
config()
Configuration specification for this set of header converters.void
configure(Map<String,?> configs)
Configure this class with the given key-value pairsvoid
configure(Map<String,?> configs, boolean isKey)
Configure this class.byte[]
fromConnectData(String topic, Schema schema, Object value)
Convert a Kafka Connect data object to a native object for serialization.byte[]
fromConnectHeader(String topic, String headerKey, Schema schema, Object value)
SchemaAndValue
toConnectData(String topic, byte[] value)
Convert a native object to a Kafka Connect data object.SchemaAndValue
toConnectHeader(String topic, String headerKey, byte[] value)
Convert the header name and byte array value into aHeader
object.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.kafka.connect.storage.Converter
fromConnectData, toConnectData
-
-
-
-
Method Detail
-
config
public ConfigDef config()
Description copied from interface:HeaderConverter
Configuration specification for this set of header converters.- Specified by:
config
in interfaceHeaderConverter
- Returns:
- the configuration specification; may not be null
-
configure
public void configure(Map<String,?> configs)
Description copied from interface:Configurable
Configure this class with the given key-value pairs- Specified by:
configure
in interfaceConfigurable
-
configure
public void configure(Map<String,?> configs, boolean isKey)
Description copied from interface:Converter
Configure this class.
-
fromConnectData
public byte[] fromConnectData(String topic, Schema schema, Object value)
Description copied from interface:Converter
Convert a Kafka Connect data object to a native object for serialization.- Specified by:
fromConnectData
in interfaceConverter
- Parameters:
topic
- the topic associated with the dataschema
- the schema for the valuevalue
- the value to convert- Returns:
- the serialized value
-
toConnectData
public SchemaAndValue toConnectData(String topic, byte[] value)
Description copied from interface:Converter
Convert a native object to a Kafka Connect data object.- Specified by:
toConnectData
in interfaceConverter
- Parameters:
topic
- the topic associated with the datavalue
- the value to convert- Returns:
- an object containing the
Schema
and the converted value
-
fromConnectHeader
public byte[] fromConnectHeader(String topic, String headerKey, Schema schema, Object value)
Description copied from interface:HeaderConverter
- Specified by:
fromConnectHeader
in interfaceHeaderConverter
- Parameters:
topic
- the name of the topic for the record containing the headerheaderKey
- the header's key; may not be nullschema
- the schema for the header's value; may be nullvalue
- 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
-
toConnectHeader
public SchemaAndValue toConnectHeader(String topic, String headerKey, byte[] value)
Description copied from interface:HeaderConverter
Convert the header name and byte array value into aHeader
object.- Specified by:
toConnectHeader
in interfaceHeaderConverter
- Parameters:
topic
- the name of the topic for the record containing the headerheaderKey
- the header's key; may not be nullvalue
- the header's raw value; may be null- Returns:
- the
SchemaAndValue
; may not be null
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-