Package org.infinispan.protostream
Interface ProtobufTagMarshaller<T>
-
- All Superinterfaces:
BaseMarshaller<T>
- All Known Subinterfaces:
RawProtobufMarshaller<T>
public interface ProtobufTagMarshaller<T> extends BaseMarshaller<T>
A marshaller for message types that has direct access to the low level Protobuf streams (TagReader/TagWriter) to freely read and write tags. Cannot be used for enums because enums are not top level objects. The read/write access to the tag stream is not verified against a Protobuf schema definition as it would normally happen in case ofMessageMarshaller
so the implementer must take care to follow the schema. This can also be used to provide more flexible or generic marshallers that are able to handle multiple types.- Since:
- 4.4
- Author:
- [email protected]
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ProtobufTagMarshaller.OperationContext
Base interface for marshalling operation contexts.static interface
ProtobufTagMarshaller.ReadContext
Operation context of unmarshalling operations.static interface
ProtobufTagMarshaller.WriteContext
Operation context of marshalling operations.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
read(ProtobufTagMarshaller.ReadContext ctx)
void
write(ProtobufTagMarshaller.WriteContext ctx, T t)
-
Methods inherited from interface org.infinispan.protostream.BaseMarshaller
getJavaClass, getTypeName
-
-
-
-
Method Detail
-
read
T read(ProtobufTagMarshaller.ReadContext ctx) throws IOException
- Throws:
IOException
-
write
void write(ProtobufTagMarshaller.WriteContext ctx, T t) throws IOException
- Throws:
IOException
-
-