public class DynamicProtoCoder extends ProtoCoder<DynamicMessage>
Coder using Google Protocol Buffers binary format. DynamicProtoCoder supports
both Protocol Buffers syntax versions 2 and 3.
To learn more about Protocol Buffers, visit: https://developers.google.com/protocol-buffers
DynamicProtoCoder is not registered in the global CoderRegistry as the
descriptor is required to create the coder.
Coder.Context, Coder.NonDeterministicException| Modifier and Type | Field and Description |
|---|---|
static long |
serialVersionUID |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object other) |
static CoderProvider |
getCoderProvider()
|
protected Parser<DynamicMessage> |
getParser()
Get the memoized
Parser, possibly initializing it lazily. |
int |
hashCode() |
static DynamicProtoCoder |
of(Descriptors.Descriptor protoMessageDescriptor)
Returns a
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given Descriptors.Descriptor. |
static DynamicProtoCoder |
of(ProtoDomain domain,
Descriptors.Descriptor protoMessageDescriptor)
Returns a
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given Descriptors.Descriptor. |
static DynamicProtoCoder |
of(ProtoDomain domain,
java.lang.String messageName)
Returns a
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given message name in a ProtoDomain. |
DynamicProtoCoder |
withExtensionsFrom(java.lang.Iterable<java.lang.Class<?>> moreExtensionHosts)
Returns a
DynamicProtoCoder like this one, but with the extensions from the given
classes registered. |
decode, decode, encode, encode, getExtensionHosts, getExtensionRegistry, getMessageType, of, of, verifyDeterministic, withExtensionsFromgetCoderArgumentsconsistentWithEquals, getEncodedElementByteSize, getEncodedTypeDescriptor, isRegisterByteSizeObserverCheap, registerByteSizeObserver, structuralValue, verifyDeterministic, verifyDeterministicpublic static final long serialVersionUID
public static DynamicProtoCoder of(Descriptors.Descriptor protoMessageDescriptor)
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given Descriptors.Descriptor.public static DynamicProtoCoder of(ProtoDomain domain, Descriptors.Descriptor protoMessageDescriptor)
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given Descriptors.Descriptor. The message descriptor should be part of the provided
ProtoDomain, this will ensure object equality within messages from the same domain.public static DynamicProtoCoder of(ProtoDomain domain, java.lang.String messageName)
DynamicProtoCoder for the Protocol Buffers DynamicMessage for the
given message name in a ProtoDomain. The message descriptor should be part of the
provided * ProtoDomain, this will ensure object equality within messages from the same
domain.public DynamicProtoCoder withExtensionsFrom(java.lang.Iterable<java.lang.Class<?>> moreExtensionHosts)
DynamicProtoCoder like this one, but with the extensions from the given
classes registered.
Each of the extension host classes must be an class automatically generated by the Protocol
Buffers compiler, protoc, that contains messages.
Does not modify this object.
withExtensionsFrom in class ProtoCoder<DynamicMessage>public boolean equals(java.lang.Object other)
equals in class ProtoCoder<DynamicMessage>public int hashCode()
hashCode in class ProtoCoder<DynamicMessage>protected Parser<DynamicMessage> getParser()
Parser, possibly initializing it lazily.getParser in class ProtoCoder<DynamicMessage>public static CoderProvider getCoderProvider()
CoderProvider which uses the DynamicProtoCoder for proto messages.
This method is invoked reflectively from DefaultCoder.