public interface BaseMarshallerDelegate<T>
BaseMarshaller
) do not have a uniform interface, so an extra layer of
indirection is used to provide uniformity. A delegate object wraps the real marshaller and delegates actual
marshalling to it, taking into account the specific interface differences for each kind of marshaller
(EnumMarshaller, MessageMarshaller, RawProtobufMarshaller).Modifier and Type | Method and Description |
---|---|
BaseMarshaller<T> |
getMarshaller()
Gets the wrapped marshaller.
|
void |
marshall(FieldDescriptor fieldDescriptor,
T value,
org.infinispan.protostream.impl.ProtoStreamWriterImpl writer,
RawProtoStreamWriter out)
Marshalls an object.
|
T |
unmarshall(FieldDescriptor fieldDescriptor,
org.infinispan.protostream.impl.ProtoStreamReaderImpl reader,
RawProtoStreamReader in)
Unmarshalls an object.
|
BaseMarshaller<T> getMarshaller()
void marshall(FieldDescriptor fieldDescriptor, T value, org.infinispan.protostream.impl.ProtoStreamWriterImpl writer, RawProtoStreamWriter out) throws IOException
fieldDescriptor
- the FieldDescriptor
of the field being marshalled or null
if this is a
top-level objectvalue
- the value being marshalled (cannot be null
)writer
- the ProtoStreamWriterImpl
instance to use/re-use, if the specific marshaller type
needs one; can be null
in which case the delegate has to create a ProtoStreamWriterImpl
instance itself based on the out
parameterout
- the Protobuf tag output stream (cannot be null
)IOException
- if marshalling fails for some reasonT unmarshall(FieldDescriptor fieldDescriptor, org.infinispan.protostream.impl.ProtoStreamReaderImpl reader, RawProtoStreamReader in) throws IOException
fieldDescriptor
- the FieldDescriptor
of the field being unmarshalled or null
if this is a
top-level objectreader
- the ProtoStreamReaderImpl
instance to use/re-use, if the specific marshaller type
needs one; can be null
in which case the delegate has to create a ProtoStreamReaderImpl
instance itself based on the in
parameterin
- the Protobuf tag input stream (cannot be null
)IOException
- if unmarshalling fails for some reasonCopyright © 2019 JBoss, a division of Red Hat. All rights reserved.