
public class OStreamSerializerRID extends Object implements OBinarySerializer<OIdentifiable>
| Modifier and Type | Field and Description |
|---|---|
static byte |
ID |
static OStreamSerializerRID |
INSTANCE |
| Constructor and Description |
|---|
OStreamSerializerRID() |
| Modifier and Type | Method and Description |
|---|---|
ORID |
deserialize(byte[] stream,
int startPosition)
Reads object from the stream starting from the startPosition
|
OIdentifiable |
deserializeFromByteBufferObject(ByteBuffer buffer)
Converts binary presentation of object to object instance.
|
OIdentifiable |
deserializeFromByteBufferObject(ByteBuffer buffer,
OWALChanges walChanges,
int offset)
Converts binary presentation of object to object instance taking in account changes which are done inside of atomic operation
OAtomicOperation. |
OIdentifiable |
deserializeNativeObject(byte[] stream,
int startPosition)
Reads object from the stream starting from the startPosition, in case there were serialized using
#serializeNativeObject(T, byte[], int, Object...) method. |
int |
getFixedLength() |
byte |
getId() |
int |
getObjectSize(byte[] stream,
int startPosition)
Return size serialized presentation of given object.
|
int |
getObjectSize(OIdentifiable object,
Object... hints)
Obtain size of the serialized object Size is the amount of bites that required for storing object (for example: for storing
integer we need 4 bytes)
|
int |
getObjectSizeInByteBuffer(ByteBuffer buffer)
Returns amount of bytes which is consumed by object which is already serialized in buffer.
|
int |
getObjectSizeInByteBuffer(ByteBuffer buffer,
OWALChanges walChanges,
int offset)
Returns amount of bytes which is consumed by object which is already serialized in buffer taking in account
changes which are done inside of atomic operation
OAtomicOperation. |
int |
getObjectSizeNative(byte[] stream,
int startPosition)
Return size serialized presentation of given object, if it was serialized using
#serializeNativeObject(T, byte[], int, Object...) method. |
boolean |
isFixedLength() |
OIdentifiable |
preprocess(OIdentifiable value,
Object... hints) |
void |
serialize(OIdentifiable object,
byte[] stream,
int startPosition,
Object... hints)
Writes object to the stream starting from the startPosition
|
void |
serializeInByteBufferObject(OIdentifiable object,
ByteBuffer buffer,
Object... hints)
Serializes binary presentation of object to
ByteBuffer. |
void |
serializeNativeObject(OIdentifiable object,
byte[] stream,
int startPosition,
Object... hints)
Writes object to the stream starting from the startPosition using native acceleration.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitserializeNativeAsWholepublic static final OStreamSerializerRID INSTANCE
public static final byte ID
public int getObjectSize(OIdentifiable object, Object... hints)
OBinarySerializergetObjectSize in interface OBinarySerializer<OIdentifiable>object - is the object to measure its sizehints - List of parameters which may be used to choose appropriate serialization approach.public void serialize(OIdentifiable object, byte[] stream, int startPosition, Object... hints)
OBinarySerializerserialize in interface OBinarySerializer<OIdentifiable>object - is the object to serializestream - is the stream where object will be writtenhints - List of parameters which may be used to choose appropriate serialization approach.public ORID deserialize(byte[] stream, int startPosition)
OBinarySerializerdeserialize in interface OBinarySerializer<OIdentifiable>stream - is the stream from object will be readstartPosition - is the position to start reading frompublic int getObjectSize(byte[] stream,
int startPosition)
OBinarySerializergetObjectSize in interface OBinarySerializer<OIdentifiable>stream - Serialized content.startPosition - Position from which serialized presentation of given object is stored.public byte getId()
getId in interface OBinarySerializer<OIdentifiable>public int getObjectSizeNative(byte[] stream,
int startPosition)
OBinarySerializer#serializeNativeObject(T, byte[], int, Object...) method.getObjectSizeNative in interface OBinarySerializer<OIdentifiable>stream - Serialized content.startPosition - Position from which serialized presentation of given object is stored.public void serializeNativeObject(OIdentifiable object, byte[] stream, int startPosition, Object... hints)
OBinarySerializerserializeNativeObject in interface OBinarySerializer<OIdentifiable>object - is the object to serializestream - is the stream where object will be writtenhints - List of parameters which may be used to choose appropriate serialization approach.public OIdentifiable deserializeNativeObject(byte[] stream, int startPosition)
OBinarySerializer#serializeNativeObject(T, byte[], int, Object...) method.deserializeNativeObject in interface OBinarySerializer<OIdentifiable>stream - is the stream from object will be readstartPosition - is the position to start reading frompublic boolean isFixedLength()
isFixedLength in interface OBinarySerializer<OIdentifiable>true if binary presentation of object always has the same length.public int getFixedLength()
getFixedLength in interface OBinarySerializer<OIdentifiable>OBinarySerializer.isFixedLength() method returns true. If OBinarySerializer.isFixedLength()
method return false returned value is undefined.public OIdentifiable preprocess(OIdentifiable value, Object... hints)
preprocess in interface OBinarySerializer<OIdentifiable>public void serializeInByteBufferObject(OIdentifiable object, ByteBuffer buffer, Object... hints)
ByteBuffer.
Position of buffer should be set before calling of given method.
Serialization result is compatible with result of call of OBinarySerializer.serializeNativeObject(Object, byte[], int, Object...) method.
So if we call:
buffer.position(10);
binarySerializer.serializeInByteBufferObject(object, buffer);
and then
byte[] stream = new byte[serializedSize + 10];
buffer.position(10);
buffer.get(stream);
following assert should pass
assert object.equals(binarySerializer.deserializeNativeObject(stream, 10))
Final position of ByteBuffer will be changed and will be equal to
sum of buffer start position and value returned by method OBinarySerializer.getObjectSize(Object, Object...)serializeInByteBufferObject in interface OBinarySerializer<OIdentifiable>object - Object to serialize.buffer - Buffer which will contain serialized presentation of buffer.hints - Type (types in case of composite object) of object.public OIdentifiable deserializeFromByteBufferObject(ByteBuffer buffer)
OBinarySerializer.serializeNativeObject(Object, byte[], int, Object...)
So if we call
byte[] stream = new byte[serializedSize];
binarySerializer.serializeNativeObject(object, stream, 0);
following assert should pass
byteBuffer.position(10);
byteBuffer.put(stream);
byteBuffer.position(10);
assert object.equals(binarySerializer.deserializeFromByteBufferObject(buffer))
Final position of ByteBuffer will be changed and will be equal to
sum of buffer start position and value returned by method OBinarySerializer.getObjectSize(Object, Object...)deserializeFromByteBufferObject in interface OBinarySerializer<OIdentifiable>buffer - Buffer which contains serialized presentation of objectpublic int getObjectSizeInByteBuffer(ByteBuffer buffer)
OBinarySerializer.getObjectSize(Object, Object...) on deserialized object.getObjectSizeInByteBuffer in interface OBinarySerializer<OIdentifiable>buffer - Buffer which contains serialized version of objectpublic OIdentifiable deserializeFromByteBufferObject(ByteBuffer buffer, OWALChanges walChanges, int offset)
OAtomicOperation.
Binary format of method is expected to be the same as binary format of method OBinarySerializer.serializeNativeObject(Object, byte[], int, Object...).
So if we call:
byte[] stream = new byte[serializedSize];
binarySerializer.serializeNativeObject(object, stream, 0);
walChanges.setBinaryValue(buffer, stream, 10);
Then following assert should pass
assert object.equals(binarySerializer.deserializeFromByteBufferObject(buffer, walChanges, 10));
deserializeFromByteBufferObject in interface OBinarySerializer<OIdentifiable>buffer - Buffer which will contain serialized changes.walChanges - Changes are done during atomic operation.offset - Offset of binary presentation of object inside of byte buffer/atomic operations changes.public int getObjectSizeInByteBuffer(ByteBuffer buffer, OWALChanges walChanges, int offset)
OAtomicOperation.
Result of call should be the same as result of call of OBinarySerializer.getObjectSize(Object, Object...) on deserialized object.getObjectSizeInByteBuffer in interface OBinarySerializer<OIdentifiable>buffer - Buffer which will contain serialized changes.walChanges - Changes are done during atomic operation.offset - Offset of binary presentation of object inside of byte buffer/atomic operations changes.Copyright © 2009–2025 OrientDB. All rights reserved.