public class ProtoSerde<T extends com.google.protobuf.Message> extends java.lang.Object implements UberSerde<T>, org.apache.kafka.common.serialization.Serde<T>, org.apache.kafka.common.serialization.Deserializer<T>, org.apache.kafka.common.serialization.Serializer<T>
MAGIC_BYTE_ORDERED_KEY, MAGIC_BYTE_PROTOBUF, MAGIC_BYTE_STRING
Constructor and Description |
---|
ProtoSerde(T instance) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close this deserializer.
|
void |
configure(java.util.Map<java.lang.String,?> configs,
boolean isKey)
Configure this class, which will configure the underlying serializer and deserializer.
|
T |
deserialize(byte[] bytes) |
T |
deserialize(java.lang.String topic,
byte[] data) |
org.apache.kafka.common.serialization.Deserializer<T> |
deserializer() |
byte[] |
fromJson(java.lang.String json) |
byte[] |
serialize(java.lang.String topic,
T data) |
byte[] |
serialize(T message) |
org.apache.kafka.common.serialization.Serializer<T> |
serializer() |
java.lang.String |
toJson(T obj) |
java.lang.String |
toJson(T obj,
boolean preseveFieldName) |
java.lang.Class<T> |
type() |
public ProtoSerde(T instance)
public java.lang.Class<T> type()
public byte[] serialize(T message)
serialize
in interface SerdeWithJson<T extends com.google.protobuf.Message>
public byte[] serialize(java.lang.String topic, T data)
serialize
in interface org.apache.kafka.common.serialization.Serializer<T extends com.google.protobuf.Message>
public T deserialize(byte[] bytes)
deserialize
in interface SerdeWithJson<T extends com.google.protobuf.Message>
public T deserialize(java.lang.String topic, byte[] data)
deserialize
in interface org.apache.kafka.common.serialization.Deserializer<T extends com.google.protobuf.Message>
public void configure(java.util.Map<java.lang.String,?> configs, boolean isKey)
UberSerde
configure
in interface UberSerde<T extends com.google.protobuf.Message>
configure
in interface org.apache.kafka.common.serialization.Deserializer<T extends com.google.protobuf.Message>
configure
in interface org.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
configure
in interface org.apache.kafka.common.serialization.Serializer<T extends com.google.protobuf.Message>
configs
- configs in key/value pairsisKey
- whether is for key or valuepublic void close()
UberSerde
This method must be idempotent as it may be called multiple times.
close
in interface UberSerde<T extends com.google.protobuf.Message>
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in interface org.apache.kafka.common.serialization.Deserializer<T extends com.google.protobuf.Message>
close
in interface org.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
close
in interface org.apache.kafka.common.serialization.Serializer<T extends com.google.protobuf.Message>
public org.apache.kafka.common.serialization.Serializer<T> serializer()
serializer
in interface org.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
public org.apache.kafka.common.serialization.Deserializer<T> deserializer()
deserializer
in interface org.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
public byte[] fromJson(java.lang.String json)
fromJson
in interface SerdeWithJson<T extends com.google.protobuf.Message>
public java.lang.String toJson(T obj)
toJson
in interface SerdeWithJson<T extends com.google.protobuf.Message>
public java.lang.String toJson(T obj, boolean preseveFieldName)