|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.esotericsoftware.kryo.Serializer
com.esotericsoftware.kryo.serialize.CompatibleFieldSerializer
public class CompatibleFieldSerializer
Serializes objects using direct field assignment, with limited support for forward and backward compatibility. Fields can be added or removed without invalidating previously serialized bytes. Note that changing the type of a field is not supported.
There is additional overhead compared to FieldSerializer. A header is output the first time an object of a given type
is serialized. The header consists of an int for the number of fields, then a String for each field name. Also, to support
skipping the bytes for a field that no longer exists, for each field value an int is written that is the length of the value in
bytes.
| Nested Class Summary | |
|---|---|
class |
CompatibleFieldSerializer.CachedField
Controls how a field will be serialized. |
| Constructor Summary | |
|---|---|
CompatibleFieldSerializer(Kryo kryo,
java.lang.Class type)
|
|
| Method Summary | ||
|---|---|---|
CompatibleFieldSerializer.CachedField |
getField(java.lang.String fieldName)
Allows specific fields to be optimized. |
|
|
readObjectData(java.nio.ByteBuffer buffer,
java.lang.Class<T> type)
Reads an object from the buffer. |
|
protected
|
readObjectData(T object,
java.nio.ByteBuffer buffer,
java.lang.Class<T> type)
|
|
void |
removeField(java.lang.String fieldName)
Removes a field so that it won't be serialized. |
|
void |
setFieldsAsAccessible(boolean setFieldsAsAccessible)
Controls which fields are accessed. |
|
void |
setFieldsCanBeNull(boolean fieldsCanBeNull)
Sets the default value for CompatibleFieldSerializer.CachedField.setCanBeNull(boolean). |
|
void |
writeObjectData(java.nio.ByteBuffer buffer,
java.lang.Object object)
Writes the object to the buffer. |
|
| Methods inherited from class com.esotericsoftware.kryo.Serializer |
|---|
isFinal, newInstance, readObject, setCanBeNull, writeObject |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CompatibleFieldSerializer(Kryo kryo,
java.lang.Class type)
| Method Detail |
|---|
public void setFieldsCanBeNull(boolean fieldsCanBeNull)
CompatibleFieldSerializer.CachedField.setCanBeNull(boolean).
fieldsCanBeNull - False if none of the fields are null. Saves 1 byte per field. True if it is not known (default).public void setFieldsAsAccessible(boolean setFieldsAsAccessible)
setFieldsAsAccessible - If true, all non-transient fields (inlcuding private fields) will be serialized and
set as accessible (default). If false, only fields in the public API will be
serialized.
public void writeObjectData(java.nio.ByteBuffer buffer,
java.lang.Object object)
Serializer
writeObjectData in class Serializerobject - Cannot be null.
public <T> T readObjectData(java.nio.ByteBuffer buffer,
java.lang.Class<T> type)
Serializer
readObjectData in class Serializer
protected <T> T readObjectData(T object,
java.nio.ByteBuffer buffer,
java.lang.Class<T> type)
public CompatibleFieldSerializer.CachedField getField(java.lang.String fieldName)
public void removeField(java.lang.String fieldName)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||