Class OrderedKeyProtoSerde<T extends com.google.protobuf.Message>
java.lang.Object
io.confluent.serializers.OrderedKeyProtoSerde<T>
- All Implemented Interfaces:
OrderedKeyUberSerde<T>,SerdeWithJson<org.apache.kafka.common.utils.Bytes>,UberSerde<org.apache.kafka.common.utils.Bytes>,Closeable,AutoCloseable,org.apache.kafka.common.serialization.Deserializer<org.apache.kafka.common.utils.Bytes>,org.apache.kafka.common.serialization.Serde<org.apache.kafka.common.utils.Bytes>,org.apache.kafka.common.serialization.Serializer<org.apache.kafka.common.utils.Bytes>
- Direct Known Subclasses:
OrderedKeyPrefixedProtoSerde
public class OrderedKeyProtoSerde<T extends com.google.protobuf.Message>
extends Object
implements OrderedKeyUberSerde<T>
Serde to convert generated Profobuf messages into lexographically
sortable byte-arrays suitable for range scans in RocksDB
-
Field Summary
Fields inherited from interface io.confluent.serializers.UberSerde
MAGIC_BYTE_ORDERED_KEY, MAGIC_BYTE_PROTOBUF, MAGIC_BYTE_STRING -
Constructor Summary
ConstructorsConstructorDescriptionOrderedKeyProtoSerde(T instance, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this deserializer.voidConfigure this class, which will configure the underlying serializer and deserializer.static <T extends com.google.protobuf.Message>
OrderedKeyProtoSerde<T> create(T instance, int... fieldNumbers) org.apache.kafka.common.utils.Bytesdeserialize(byte[] bytes) org.apache.kafka.common.utils.Bytesdeserialize(String topic, byte[] data) org.apache.kafka.common.serialization.Deserializer<org.apache.kafka.common.utils.Bytes> static voidencodeEnum(ByteBuffer buffer, int enumVal) byte[]static intgetMaxSerializedBytes(com.google.protobuf.Message message, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields) static <T extends com.google.protobuf.Message>
TjsonToProto(String json, T instance) org.apache.kafka.common.utils.BytesintprefixKeySerde(int numFields) static <T extends com.google.protobuf.Message>
StringprotoToJson(T message) static voidreadMagicByte(ByteBuffer buffer) static <T extends com.google.protobuf.Message>
TreadProto(ByteBuffer buffer, T instance, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields) byte[]byte[]serialize(org.apache.kafka.common.utils.Bytes bytes) org.apache.kafka.common.serialization.Serializer<org.apache.kafka.common.utils.Bytes> toHexString(org.apache.kafka.common.utils.Bytes key) toJson(org.apache.kafka.common.utils.Bytes bytes) toProto(org.apache.kafka.common.utils.Bytes key) Class<org.apache.kafka.common.utils.Bytes> type()static voidwriteMagicByte(ByteBuffer buffer) static voidwriteProto(ByteBuffer buffer, com.google.protobuf.Message message, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields, int numFields) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.kafka.common.serialization.Deserializer
deserialize, deserializeMethods inherited from interface org.apache.kafka.common.serialization.Serializer
serialize
-
Constructor Details
-
OrderedKeyProtoSerde
public OrderedKeyProtoSerde(T instance, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields)
-
-
Method Details
-
create
public static <T extends com.google.protobuf.Message> OrderedKeyProtoSerde<T> create(T instance, int... fieldNumbers) -
readMagicByte
-
readProto
public static <T extends com.google.protobuf.Message> T readProto(ByteBuffer buffer, T instance, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields) -
writeMagicByte
-
writeProto
public static void writeProto(ByteBuffer buffer, com.google.protobuf.Message message, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields, int numFields) -
encodeEnum
-
getMaxSerializedBytes
public static int getMaxSerializedBytes(com.google.protobuf.Message message, com.google.common.collect.ImmutableList<com.google.protobuf.Descriptors.FieldDescriptor> fields) -
jsonToProto
-
protoToJson
-
type
-
serialize
public byte[] serialize(org.apache.kafka.common.utils.Bytes bytes) - Specified by:
serializein interfaceSerdeWithJson<T extends com.google.protobuf.Message>
-
serialize
-
deserialize
-
deserialize
public org.apache.kafka.common.utils.Bytes deserialize(byte[] bytes) - Specified by:
deserializein interfaceSerdeWithJson<T extends com.google.protobuf.Message>
-
configure
Description copied from interface:UberSerdeConfigure this class, which will configure the underlying serializer and deserializer.- Specified by:
configurein interfaceorg.apache.kafka.common.serialization.Deserializer<T extends com.google.protobuf.Message>- Specified by:
configurein interfaceorg.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>- Specified by:
configurein interfaceorg.apache.kafka.common.serialization.Serializer<T extends com.google.protobuf.Message>- Specified by:
configurein interfaceUberSerde<T extends com.google.protobuf.Message>- Parameters:
configs- configs in key/value pairsisKey- whether is for key or value
-
close
public void close()Description copied from interface:UberSerdeClose this deserializer.This method must be idempotent as it may be called multiple times.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.apache.kafka.common.serialization.Deserializer<T extends com.google.protobuf.Message>- Specified by:
closein interfaceorg.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>- Specified by:
closein interfaceorg.apache.kafka.common.serialization.Serializer<T extends com.google.protobuf.Message>- Specified by:
closein interfaceUberSerde<T extends com.google.protobuf.Message>
-
serializer
public org.apache.kafka.common.serialization.Serializer<org.apache.kafka.common.utils.Bytes> serializer()- Specified by:
serializerin interfaceorg.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
-
deserializer
public org.apache.kafka.common.serialization.Deserializer<org.apache.kafka.common.utils.Bytes> deserializer()- Specified by:
deserializerin interfaceorg.apache.kafka.common.serialization.Serde<T extends com.google.protobuf.Message>
-
fromJson
- Specified by:
fromJsonin interfaceSerdeWithJson<T extends com.google.protobuf.Message>
-
toJson
- Specified by:
toJsonin interfaceSerdeWithJson<T extends com.google.protobuf.Message>
-
prefixKeySerde
- Specified by:
prefixKeySerdein interfaceOrderedKeyUberSerde<T extends com.google.protobuf.Message>
-
numFields
public int numFields()- Specified by:
numFieldsin interfaceOrderedKeyUberSerde<T extends com.google.protobuf.Message>
-
key
- Specified by:
keyin interfaceOrderedKeyUberSerde<T extends com.google.protobuf.Message>
-
toProto
- Specified by:
toProtoin interfaceOrderedKeyUberSerde<T extends com.google.protobuf.Message>
-
toHexString
- Specified by:
toHexStringin interfaceOrderedKeyUberSerde<T extends com.google.protobuf.Message>
-