Class OCharSerializer
java.lang.Object
com.orientechnologies.common.serialization.types.OCharSerializer
- All Implemented Interfaces:
OBinarySerializer<Character>
- Since:
- 18.01.12
- Author:
- Ilya Bershadskiy (ibersh20-at-gmail.com)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intsize of char value in bytesstatic final bytestatic final OCharSerializer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(byte[] stream, int startPosition) Reads object from the stream starting from the startPositionConverts binary presentation of object to object instance.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 operationOAtomicOperation.chardeserializeLiteral(byte[] stream, int startPosition) chardeserializeNative(byte[] stream, int startPosition) deserializeNativeObject(byte[] stream, int startPosition) Reads object from the stream starting from the startPosition, in case there were serialized usingOBinarySerializer.serializeNativeObject(T, byte[], int, Object...)method.intbytegetId()intgetObjectSize(byte[] stream, int startPosition) Return size serialized presentation of given object.intgetObjectSize(Character 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)intgetObjectSizeInByteBuffer(ByteBuffer buffer) Returns amount of bytes which is consumed by object which is already serialized in buffer.intgetObjectSizeInByteBuffer(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 operationOAtomicOperation.intgetObjectSizeNative(byte[] stream, int startPosition) Return size serialized presentation of given object, if it was serialized usingOBinarySerializer.serializeNativeObject(T, byte[], int, Object...)method.booleanpreprocess(Character value, Object... hints) voidWrites object to the stream starting from the startPositionvoidserializeInByteBufferObject(Character object, ByteBuffer buffer, Object... hints) Serializes binary presentation of object toByteBuffer.voidserializeLiteral(char value, byte[] stream, int startPosition) voidserializeNative(char object, byte[] stream, int startPosition, Object... hints) voidserializeNativeObject(Character object, byte[] stream, int startPosition, Object... hints) Writes object to the stream starting from the startPosition using native acceleration.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.orientechnologies.common.serialization.types.OBinarySerializer
serializeNativeAsWhole
-
Field Details
-
CHAR_SIZE
public static final int CHAR_SIZEsize of char value in bytes- See Also:
-
ID
public static final byte ID- See Also:
-
INSTANCE
-
-
Constructor Details
-
OCharSerializer
public OCharSerializer()
-
-
Method Details
-
getObjectSize
Description copied from interface:OBinarySerializerObtain 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)- Specified by:
getObjectSizein interfaceOBinarySerializer<Character>- Parameters:
object- is the object to measure its sizehints- List of parameters which may be used to choose appropriate serialization approach.- Returns:
- size of the serialized object
-
serialize
Description copied from interface:OBinarySerializerWrites object to the stream starting from the startPosition- Specified by:
serializein interfaceOBinarySerializer<Character>- Parameters:
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.
-
serializeLiteral
public void serializeLiteral(char value, byte[] stream, int startPosition) -
deserialize
Description copied from interface:OBinarySerializerReads object from the stream starting from the startPosition- Specified by:
deserializein interfaceOBinarySerializer<Character>- Parameters:
stream- is the stream from object will be readstartPosition- is the position to start reading from- Returns:
- instance of the deserialized object
-
deserializeLiteral
public char deserializeLiteral(byte[] stream, int startPosition) -
getObjectSize
public int getObjectSize(byte[] stream, int startPosition) Description copied from interface:OBinarySerializerReturn size serialized presentation of given object.- Specified by:
getObjectSizein interfaceOBinarySerializer<Character>- Parameters:
stream- Serialized content.startPosition- Position from which serialized presentation of given object is stored.- Returns:
- Size serialized presentation of given object in bytes.
-
getId
public byte getId()- Specified by:
getIdin interfaceOBinarySerializer<Character>- Returns:
- Identifier of given serializer.
-
getObjectSizeNative
public int getObjectSizeNative(byte[] stream, int startPosition) Description copied from interface:OBinarySerializerReturn size serialized presentation of given object, if it was serialized usingOBinarySerializer.serializeNativeObject(T, byte[], int, Object...)method.- Specified by:
getObjectSizeNativein interfaceOBinarySerializer<Character>- Parameters:
stream- Serialized content.startPosition- Position from which serialized presentation of given object is stored.- Returns:
- Size serialized presentation of given object in bytes.
-
serializeNativeObject
public void serializeNativeObject(Character object, byte[] stream, int startPosition, Object... hints) Description copied from interface:OBinarySerializerWrites object to the stream starting from the startPosition using native acceleration. Serialized object presentation is platform dependant.- Specified by:
serializeNativeObjectin interfaceOBinarySerializer<Character>- Parameters:
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.
-
deserializeNativeObject
Description copied from interface:OBinarySerializerReads object from the stream starting from the startPosition, in case there were serialized usingOBinarySerializer.serializeNativeObject(T, byte[], int, Object...)method.- Specified by:
deserializeNativeObjectin interfaceOBinarySerializer<Character>- Parameters:
stream- is the stream from object will be readstartPosition- is the position to start reading from- Returns:
- instance of the deserialized object
-
serializeNative
-
deserializeNative
public char deserializeNative(byte[] stream, int startPosition) -
isFixedLength
public boolean isFixedLength()- Specified by:
isFixedLengthin interfaceOBinarySerializer<Character>- Returns:
trueif binary presentation of object always has the same length.
-
getFixedLength
public int getFixedLength()- Specified by:
getFixedLengthin interfaceOBinarySerializer<Character>- Returns:
- Length of serialized data if
OBinarySerializer.isFixedLength()method returnstrue. IfOBinarySerializer.isFixedLength()method returnfalsereturned value is undefined.
-
preprocess
- Specified by:
preprocessin interfaceOBinarySerializer<Character>
-
serializeInByteBufferObject
Serializes binary presentation of object toByteBuffer. Position of buffer should be set before calling of given method. Serialization result is compatible with result of call ofOBinarySerializer.serializeNativeObject(Object, byte[], int, Object...)method. So if we call:buffer.position(10); binarySerializer.serializeInByteBufferObject(object, buffer);and thenbyte[] stream = new byte[serializedSize + 10]; buffer.position(10); buffer.get(stream);following assert should passassert object.equals(binarySerializer.deserializeNativeObject(stream, 10))Final position ofByteBufferwill be changed and will be equal to sum of buffer start position and value returned by methodOBinarySerializer.getObjectSize(Object, Object...)- Specified by:
serializeInByteBufferObjectin interfaceOBinarySerializer<Character>- Parameters:
object- Object to serialize.buffer- Buffer which will contain serialized presentation of buffer.hints- Type (types in case of composite object) of object.
-
deserializeFromByteBufferObject
Converts binary presentation of object to object instance. Position of buffer should be set before call of this method. Binary format of method is expected to be the same as binary format ofOBinarySerializer.serializeNativeObject(Object, byte[], int, Object...)So if we callbyte[] stream = new byte[serializedSize]; binarySerializer.serializeNativeObject(object, stream, 0);following assert should passbyteBuffer.position(10); byteBuffer.put(stream); byteBuffer.position(10); assert object.equals(binarySerializer.deserializeFromByteBufferObject(buffer))Final position ofByteBufferwill be changed and will be equal to sum of buffer start position and value returned by methodOBinarySerializer.getObjectSize(Object, Object...)- Specified by:
deserializeFromByteBufferObjectin interfaceOBinarySerializer<Character>- Parameters:
buffer- Buffer which contains serialized presentation of object- Returns:
- Instance of object serialized in buffer.
-
getObjectSizeInByteBuffer
Returns amount of bytes which is consumed by object which is already serialized in buffer. Position of buffer should be set before call of this method. Result of call should be the same as result of call ofOBinarySerializer.getObjectSize(Object, Object...)on deserialized object.- Specified by:
getObjectSizeInByteBufferin interfaceOBinarySerializer<Character>- Parameters:
buffer- Buffer which contains serialized version of object- Returns:
- Size of serialized object.
-
deserializeFromByteBufferObject
public Character 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 operationOAtomicOperation. Binary format of method is expected to be the same as binary format of methodOBinarySerializer.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 passassert object.equals(binarySerializer.deserializeFromByteBufferObject(buffer, walChanges, 10));- Specified by:
deserializeFromByteBufferObjectin interfaceOBinarySerializer<Character>- Parameters:
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.- Returns:
- Instance of object serialized in buffer.
-
getObjectSizeInByteBuffer
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 operationOAtomicOperation. Result of call should be the same as result of call ofOBinarySerializer.getObjectSize(Object, Object...)on deserialized object.- Specified by:
getObjectSizeInByteBufferin interfaceOBinarySerializer<Character>- Parameters:
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.- Returns:
- Size of serialized object.
-