T
- Type to be deserialized into.public interface Deserializer<T> extends Closeable
Implement ClusterResourceListener
to receive cluster metadata once it's available. Please see the class documentation for ClusterResourceListener for more information.
Modifier and Type | Method and Description |
---|---|
default void |
close()
Close this deserializer.
|
default void |
configure(Map<String,?> configs,
boolean isKey)
Configure this class.
|
T |
deserialize(String topic,
byte[] data)
Deserialize a record value from a byte array into a value or object.
|
default T |
deserialize(String topic,
Headers headers,
byte[] data)
Deserialize a record value from a byte array into a value or object.
|
default T |
deserialize(String topic,
Headers headers,
ByteBuffer data)
Deserialize a record value from a
ByteBuffer into a value or object. |
default void configure(Map<String,?> configs, boolean isKey)
configs
- configs in key/value pairsisKey
- whether is for key or valueT deserialize(String topic, byte[] data)
topic
- topic associated with the datadata
- serialized bytes; may be null; implementations are recommended to handle null by returning a value or null rather than throwing an exception.default T deserialize(String topic, Headers headers, byte[] data)
topic
- topic associated with the dataheaders
- headers associated with the record; may be empty.data
- serialized bytes; may be null; implementations are recommended to handle null by returning a value or null rather than throwing an exception.default T deserialize(String topic, Headers headers, ByteBuffer data)
ByteBuffer
into a value or object.
If ByteBufferDeserializer
is used by an application, the application code cannot make any assumptions
about the returned ByteBuffer
like the position, limit, capacity, etc., or if it is backed by
an array or not
.
Similarly, if this method is overridden, the implementation cannot make any assumptions about the
passed in ByteBuffer
either.
topic
- topic associated with the dataheaders
- headers associated with the record; may be empty.data
- serialized ByteBuffer; may be null; implementations are recommended to handle null by returning a value or null rather than throwing an exception.default void close()
This method must be idempotent as it may be called multiple times.
close
in interface AutoCloseable
close
in interface Closeable