T
- the class of objects created by this serializator during deserializationpublic class SingleClassSerializator<T> extends BinarySerializator implements java.io.Serializable
BinarySerializable
objects.
It can store and restore only one specified class or the standard Java-serialized objects.Modifier and Type | Field and Description |
---|---|
protected java.lang.reflect.Constructor<? extends T> |
constructor
The constructor used to create instances of objects during deserialization
|
protected java.lang.Class<? extends T> |
deserializationClass
The class of objects created by this serializator during deserialization
|
protected java.lang.reflect.Method |
factoryMethod
The factory method used to create instances of objects during deserialization
|
log
Constructor and Description |
---|
SingleClassSerializator(java.lang.Class<? extends T> baseClass)
Create a new instance of BinarySerializator.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this serializator.
|
protected int |
getBinarySize(BinarySerializable object)
Returns the size of the binary-serialized
object in bytes. |
java.lang.Class<? extends T> |
getDefaultClass()
Returns a default class that is used for deserialization when a class is not specified.
|
int |
hashCode()
Returns a hash code value for this serializator.
|
T |
readObject(BinaryInput input)
Reads an instance from the
input using this serializator. |
protected <E> E |
readObjectImpl(BinaryInput input,
java.lang.Class<E> expectedClass)
Reads an instance using the proper constructor/factory method as specified by this serializator.
|
protected int |
write(BinaryOutput output,
BinarySerializable object)
Writes
object to this output buffer using binary serialization. |
getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getBinarySize, getNativeSerializableConstructor, getNativeSerializableFactoryMethod, getSerialVersionUID, getSerialVersionUIDHash, objectToBuffer, readBigInteger, readBoolean, readBooleanArray, readByte, readByteArray, readDouble, readDoubleArray, readEnum, readFloat, readFloatArray, readFromFile, readChar, readCharArray, readInt, readIntArray, readLong, readLongArray, readObject, readObject, readObjectSize, readShort, readShortArray, readString, readStringArray, skipObject, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, writeToFile
protected final java.lang.Class<? extends T> deserializationClass
protected final transient java.lang.reflect.Constructor<? extends T> constructor
protected final transient java.lang.reflect.Method factoryMethod
public SingleClassSerializator(java.lang.Class<? extends T> baseClass)
baseClass
implements the BinarySerializable
interface,
the constructor/factory method is extracted for deserializing.
Otherwise a standard Java serialization will be used.baseClass
- the class of objects created by this serializator during deserializationpublic java.lang.Class<? extends T> getDefaultClass()
public int hashCode()
deserializationClass
name.hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
deserializationClass
name.equals
in class java.lang.Object
obj
- the reference object with which to comparetrue
if this serializator is the same as the obj
argument; false
otherwise.public T readObject(BinaryInput input) throws java.io.IOException, java.lang.IllegalArgumentException
input
using this serializator.
The default
class that is expected to be in the buffer.input
- the buffer to read the instance fromjava.io.IOException
- if there was an I/O errorjava.lang.IllegalArgumentException
- if the constructor or the factory method has a wrong prototypeprotected int write(BinaryOutput output, BinarySerializable object) throws java.io.IOException
BinarySerializator
object
to this output buffer using binary serialization.
The following rules must hold:
BinarySerializator.getBinarySize(BinarySerializable)
readObject
method must read the serialized data exactly as written by this methodwrite
in class BinarySerializator
output
- the buffer to write the object toobject
- the object to writejava.io.IOException
- if there was an error using flushChannelprotected <E> E readObjectImpl(BinaryInput input, java.lang.Class<E> expectedClass) throws java.io.IOException, java.lang.IllegalArgumentException
BinarySerializator
objectSize
bytes from the input
or throw an exceptionwrite method
has written themreadObjectImpl
in class BinarySerializator
E
- the class that is expected to be in the inputinput
- the buffer to read the instance fromexpectedClass
- the class that is expected to be in the inputjava.io.IOException
- if there was an I/O errorjava.lang.IllegalArgumentException
- if the constructor or the factory method has a wrong prototypeprotected int getBinarySize(BinarySerializable object) throws java.lang.IllegalArgumentException
object
in bytes.getBinarySize
in class BinarySerializator
object
- the object to get the size forobject
java.lang.IllegalArgumentException
- if there was an error using Java standard serialization on the object