Class BaseProtoStreamMarshaller
- java.lang.Object
-
- org.infinispan.commons.marshall.AbstractMarshaller
-
- org.infinispan.query.remote.client.BaseProtoStreamMarshaller
-
- All Implemented Interfaces:
Marshaller
- Direct Known Subclasses:
ProtoStreamMarshaller
public abstract class BaseProtoStreamMarshaller extends AbstractMarshaller
Provides the starting point for implementing aMarshaller
that uses Protobuf encoding. Subclasses must implement just a singlegetSerializationContext()
lookup method.- Since:
- 6.0
- Author:
- anistor@redhat.com
-
-
Field Summary
-
Fields inherited from class org.infinispan.commons.marshall.AbstractMarshaller
marshallableTypeHints
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseProtoStreamMarshaller()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract org.infinispan.protostream.SerializationContext
getSerializationContext()
Subclasses must implement this method in order to provide a way to lookup theSerializationContext
boolean
isMarshallable(Object o)
A method that checks whether the given object is marshallable as per the rules of this marshaller.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.-
Methods inherited from class org.infinispan.commons.marshall.AbstractMarshaller
getBufferSizePredictor, objectFromByteBuffer, objectFromInputStream, objectToBuffer, objectToByteBuffer, objectToByteBuffer
-
-
-
-
Method Detail
-
getSerializationContext
protected abstract org.infinispan.protostream.SerializationContext getSerializationContext()
Subclasses must implement this method in order to provide a way to lookup theSerializationContext
- 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
-
-