Package org.apache.kafka.connect.storage
Class StringConverter
java.lang.Object
org.apache.kafka.connect.storage.StringConverter
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Configurable
,Versioned
,Converter
,HeaderConverter
Converter
and HeaderConverter
implementation that only supports serializing to strings. When converting Kafka Connect
data to bytes, the schema will be ignored and Object.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 to StringSerializer
and StringDeserializer
, but for convenience
this class can also be configured to use the same encoding for both encoding and decoding with the
converter.encoding
setting.
This implementation currently does nothing with the topic names or header keys.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
config()
Configuration specification for this converter.void
Configure this class with the given key-value pairsvoid
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) toConnectData
(String topic, byte[] value) Convert a native object to a Kafka Connect data object for deserialization.toConnectHeader
(String topic, String headerKey, byte[] value) Convert the header name and byte array value into aHeader
object.version()
Get the version of this component.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.kafka.connect.storage.Converter
fromConnectData, toConnectData
-
Constructor Details
-
StringConverter
public StringConverter()
-
-
Method Details
-
version
Description copied from interface:Versioned
Get the version of this component. -
config
Description copied from interface:Converter
Configuration specification for this converter.- Specified by:
config
in interfaceConverter
- Specified by:
config
in interfaceHeaderConverter
- Returns:
- the configuration specification; may not be null
-
configure
Description copied from interface:Configurable
Configure this class with the given key-value pairs- Specified by:
configure
in interfaceConfigurable
-
configure
Description copied from interface:Converter
Configure this class. -
fromConnectData
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
Description copied from interface:Converter
Convert a native object to a Kafka Connect data object for deserialization.- 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
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
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
-