Package io.servicetalk.data.protobuf
Class ProtobufSerializationProvider
- java.lang.Object
-
- io.servicetalk.data.protobuf.ProtobufSerializationProvider
-
- All Implemented Interfaces:
SerializationProvider
public final class ProtobufSerializationProvider extends java.lang.Object implements SerializationProvider
ASerializationProvider
for serializing/deserializing protocol buffer objects. Note: This implementation assumes byte streams represent a single message. This implementation currently useswriteTo/parseFrom
and notwriteDelimitedTo/parseDelimitedFrom
to serialize/deserialize messages. It cannot be used to process a stream of delimited messages on a single Buffer.
-
-
Constructor Summary
Constructors Constructor Description ProtobufSerializationProvider()
ProtobufSerializationProvider(java.util.function.Function<java.lang.Class<?>,com.google.protobuf.Parser<?>> parserForClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> StreamingDeserializer<T>
getDeserializer(TypeHolder<T> typeToDeserialize)
Provide aStreamingDeserializer
instance that can deserialize instances ofSerializationProvider
.<T> StreamingDeserializer<T>
getDeserializer(java.lang.Class<T> classToDeSerialize)
Provide aStreamingDeserializer
instance that can deserialize instances ofSerializationProvider
.<T> StreamingSerializer
getSerializer(TypeHolder<T> typeToSerialize)
Provide aStreamingSerializer
instance that can serialize instances ofSerializationProvider
.<T> StreamingSerializer
getSerializer(java.lang.Class<T> classToSerialize)
Provide aStreamingSerializer
instance that can serialize instances ofSerializationProvider
.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.servicetalk.serialization.api.SerializationProvider
serialize
-
-
-
-
Method Detail
-
getSerializer
public <T> StreamingSerializer getSerializer(java.lang.Class<T> classToSerialize)
Description copied from interface:SerializationProvider
Provide aStreamingSerializer
instance that can serialize instances ofSerializationProvider
.- Specified by:
getSerializer
in interfaceSerializationProvider
- Type Parameters:
T
- The data type to serialize.- Parameters:
classToSerialize
- The class forSerializationProvider
, the object to be serialized.- Returns:
- An instance of
StreamingSerializer
that can serialize instances ofSerializationProvider
.
-
getSerializer
public <T> StreamingSerializer getSerializer(TypeHolder<T> typeToSerialize)
Description copied from interface:SerializationProvider
Provide aStreamingSerializer
instance that can serialize instances ofSerializationProvider
.- Specified by:
getSerializer
in interfaceSerializationProvider
- Type Parameters:
T
- The data type to serialize.- Parameters:
typeToSerialize
-TypeHolder
holding theParameterizedType
to be serialized.- Returns:
- An instance of
StreamingSerializer
that can serialize instances ofSerializationProvider
.
-
getDeserializer
public <T> StreamingDeserializer<T> getDeserializer(java.lang.Class<T> classToDeSerialize)
Description copied from interface:SerializationProvider
Provide aStreamingDeserializer
instance that can deserialize instances ofSerializationProvider
.- Specified by:
getDeserializer
in interfaceSerializationProvider
- Type Parameters:
T
- The data type to deserialize.- Parameters:
classToDeSerialize
- The class forSerializationProvider
, the object to be deserialized.- Returns:
- An instance of
StreamingDeserializer
that can deserialize instances ofSerializationProvider
.
-
getDeserializer
public <T> StreamingDeserializer<T> getDeserializer(TypeHolder<T> typeToDeserialize)
Description copied from interface:SerializationProvider
Provide aStreamingDeserializer
instance that can deserialize instances ofSerializationProvider
.- Specified by:
getDeserializer
in interfaceSerializationProvider
- Type Parameters:
T
- The data type to deserialize.- Parameters:
typeToDeserialize
-TypeHolder
holding theParameterizedType
to be deserialized.- Returns:
- An instance of
StreamingDeserializer
that can deserialize instances ofSerializationProvider
.
-
-