@ThreadSafe
public interface Marshaller
ReplicableCommand
s, their parameters and their
response values, as well as any other arbitraty Object <--> byte[] conversions, such as those used in client/server
communications.
A single instance of any implementation is shared by multiple threads, so implementations need to be threadsafe,
and preferably immutable.Modifier and Type | Method and Description |
---|---|
BufferSizePredictor |
getBufferSizePredictor(Object o)
Returns a marshalled payload size predictor for a particular type.
|
boolean |
isMarshallable(Object o)
A method that checks whether the given object is marshallable as per the rules of this marshaller.
|
Object |
objectFromByteBuffer(byte[] buf)
Unmarshalls an object from a byte array.
|
Object |
objectFromByteBuffer(byte[] buf,
int offset,
int length)
Unmarshalls an object from a specific portion of a byte array.
|
ByteBuffer |
objectToBuffer(Object o)
A method that returns an instance of
ByteBuffer , which allows direct access to the byte
array with minimal array copying |
byte[] |
objectToByteBuffer(Object obj)
Marshalls an object to a byte array.
|
byte[] |
objectToByteBuffer(Object obj,
int estimatedSize)
Marshalls an object to a byte array.
|
byte[] objectToByteBuffer(Object obj, int estimatedSize) throws IOException, InterruptedException
obj
- object to convert to a byte array. Must not be null.estimatedSize
- an estimate of how large the resulting byte array may beIOException
- if marshalling cannot complete due to some I/O errorInterruptedException
- if the marshalling was interrupted. Clients should take this as a sign that
the marshaller is no longer available, maybe due to shutdown, and so no more unmarshalling should be attempted.byte[] objectToByteBuffer(Object obj) throws IOException, InterruptedException
obj
- object to convert to a byte array. Must not be null.IOException
- if marshalling cannot complete due to some I/O errorInterruptedException
- if the marshalling process was interrupted. Clients should take this as a sign that
the marshaller is no longer available, maybe due to shutdown, and so no more marshalling should be attempted.Object objectFromByteBuffer(byte[] buf) throws IOException, ClassNotFoundException
buf
- byte array containing the binary representation of an object. Must not be null.IOException
- if unmarshalling cannot complete due to some I/O errorClassNotFoundException
- if the class of the object trying to unmarshall is unknownObject objectFromByteBuffer(byte[] buf, int offset, int length) throws IOException, ClassNotFoundException
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 considerIOException
- if unmarshalling cannot complete due to some I/O errorClassNotFoundException
- if the class of the object trying to unmarshall is unknownByteBuffer objectToBuffer(Object o) throws IOException, InterruptedException
ByteBuffer
, which allows direct access to the byte
array with minimal array copyingo
- object to marshallIOException
- if marshalling cannot complete due to some I/O errorInterruptedException
- if the marshalling process was interrupted. Clients should take this as a sign that
the marshaller is no longer available, maybe due to shutdown, and so no more marshalling should be attempted.boolean isMarshallable(Object o) throws Exception
o
- object to verify whether it's marshallable or notException
- if while checking whether the object was serializable or not, an exception aroseBufferSizePredictor getBufferSizePredictor(Object o)
o
- Object for which serialized predictor will be returnedBufferSizePredictor
NullPointerException
- if o is nullCopyright © 2015 JBoss, a division of Red Hat. All rights reserved.