Package org.infinispan.commons.marshall
Class ProtoStreamMarshaller
- java.lang.Object
-
- org.infinispan.commons.marshall.AbstractMarshaller
-
- org.infinispan.commons.marshall.ProtoStreamMarshaller
-
- All Implemented Interfaces:
Marshaller
public class ProtoStreamMarshaller extends AbstractMarshaller
Provides the starting point for implementing aMarshaller
that uses Protobuf encoding.- Since:
- 6.0
- Author:
- anistor@redhat.com
-
-
Field Summary
-
Fields inherited from class org.infinispan.commons.marshall.AbstractMarshaller
marshallableTypeHints
-
-
Constructor Summary
Constructors Constructor Description ProtoStreamMarshaller()
ProtoStreamMarshaller(org.infinispan.protostream.SerializationContext serializationContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.infinispan.protostream.SerializationContext
getSerializationContext()
boolean
isMarshallable(Object o)
A method that checks whether the given object is marshallable as per the rules of this marshaller.org.infinispan.commons.dataconversion.MediaType
mediaType()
Object
objectFromByteBuffer(byte[] buf, int offset, int length)
Unmarshalls an object from a specific portion of a byte array.protected ByteBuffer
objectToBuffer(Object o, int estimatedSize)
This is a convenience method for converting an object into aByteBuffer
which takes an estimated size as parameter.void
register(org.infinispan.protostream.SerializationContextInitializer initializer)
-
Methods inherited from class org.infinispan.commons.marshall.AbstractMarshaller
getBufferSizePredictor, objectFromByteBuffer, objectFromInputStream, objectToBuffer, objectToByteBuffer, objectToByteBuffer
-
Methods inherited from interface org.infinispan.commons.marshall.Marshaller
initialize, start, stop
-
-
-
-
Method Detail
-
register
public void register(org.infinispan.protostream.SerializationContextInitializer initializer)
-
getSerializationContext
public org.infinispan.protostream.SerializationContext getSerializationContext()
- Returns:
- the SerializationContext instance to use
-
objectFromByteBuffer
public Object objectFromByteBuffer(byte[] buf, int offset, int length) throws IOException, ClassNotFoundException
Description copied from interface:Marshaller
Unmarshalls an object from a specific portion of a byte array.- Parameters:
buf
- byte array containing the binary representation of an object. Must not be null.offset
- point in buffer to start readinglength
- number of bytes to consider- Returns:
- an object
- Throws:
IOException
- if unmarshalling cannot complete due to some I/O errorClassNotFoundException
- if the class of the object trying to unmarshall is unknown
-
isMarshallable
public boolean isMarshallable(Object o)
Description copied from interface:Marshaller
A method that checks whether the given object is marshallable as per the rules of this marshaller.- Parameters:
o
- object to verify whether it's marshallable or not- Returns:
- true if the object is marshallable, otherwise false
-
objectToBuffer
protected ByteBuffer objectToBuffer(Object o, int estimatedSize) throws IOException, InterruptedException
Description copied from class:AbstractMarshaller
This is a convenience method for converting an object into aByteBuffer
which takes an estimated size as parameter. AByteBuffer
allows direct access to the byte array with minimal array copying- Specified by:
objectToBuffer
in classAbstractMarshaller
- Parameters:
o
- object to marshallestimatedSize
- an estimate of how large the resulting byte array may be- Throws:
IOException
InterruptedException
-
mediaType
public org.infinispan.commons.dataconversion.MediaType mediaType()
- Returns:
- the
MediaType
associated with the content produced by the marshaller
-
-