@API(value=UNSTABLE) public class MessageBuilderRecordSerializer extends MessageBuilderRecordSerializerBase<Message,Message,Message.Builder>
RecordSerializer.Counts, RecordSerializer.Events
Constructor and Description |
---|
MessageBuilderRecordSerializer(Supplier<Message.Builder> builderSupplier) |
Modifier and Type | Method and Description |
---|---|
protected Message |
getUnionField(Descriptors.Descriptor unionDescriptor,
Message storedRecord) |
protected void |
setUnionField(RecordMetaData metaData,
RecordType recordType,
Message.Builder unionBuilder,
Message record) |
RecordSerializer<Message> |
widen()
Convert this typed record serializer to an untyped one.
|
deserialize, serialize
public MessageBuilderRecordSerializer(@Nonnull Supplier<Message.Builder> builderSupplier)
protected void setUnionField(@Nonnull RecordMetaData metaData, @Nonnull RecordType recordType, @Nonnull Message.Builder unionBuilder, @Nonnull Message record)
setUnionField
in class MessageBuilderRecordSerializerBase<Message,Message,Message.Builder>
@Nonnull protected Message getUnionField(@Nonnull Descriptors.Descriptor unionDescriptor, @Nonnull Message storedRecord)
getUnionField
in class MessageBuilderRecordSerializerBase<Message,Message,Message.Builder>
@Nonnull public RecordSerializer<Message> widen()
RecordSerializer
widen
that serializer and return the result wrapped equivalently.
If a FDBTypedRecordStore
is created without calling
FDBTypedRecordStore.Builder.setUntypedSerializer(com.apple.foundationdb.record.provider.common.RecordSerializer<com.google.protobuf.Message>)
, then
in order to make the untyped record store that is paired with the typed store (used, for instance, to rebuild indexes),
the given typed serializer will be widened by calling this method.
widen
in interface RecordSerializer<Message>
widen
in class MessageBuilderRecordSerializerBase<Message,Message,Message.Builder>