public class MapSerializer extends Serializer
Map
interface.
With the default constructor, a map requires a 1-3 byte header and an extra 4 bytes is written for each key/value pair.
Constructor and Description |
---|
MapSerializer(Kryo kryo) |
Modifier and Type | Method and Description |
---|---|
<T> T |
readObjectData(java.nio.ByteBuffer buffer,
java.lang.Class<T> type)
Reads an object from the buffer.
|
void |
setKeyClass(java.lang.Class keyClass) |
void |
setKeyClass(java.lang.Class keyClass,
Serializer keySerializer) |
void |
setKeysCanBeNull(boolean keysCanBeNull) |
void |
setValueClass(java.lang.Class valueClass) |
void |
setValueClass(java.lang.Class valueClass,
Serializer valueSerializer) |
void |
setValuesCanBeNull(boolean valuesCanBeNull) |
void |
writeObjectData(java.nio.ByteBuffer buffer,
java.lang.Object object)
Writes the object to the buffer.
|
isFinal, newInstance, readObject, setCanBeNull, writeObject
public MapSerializer(Kryo kryo)
public void setKeysCanBeNull(boolean keysCanBeNull)
keysCanBeNull
- False if all keys are not null. This saves 1 byte per key if keyClass is set. True if it is not known
(default).public void setKeyClass(java.lang.Class keyClass)
keyClass
- The concrete class of each key. This saves 1 byte per key. The serializer registered for the specified class
will be used. Set to null if the class is not known or varies per key (default).public void setKeyClass(java.lang.Class keyClass, Serializer keySerializer)
keyClass
- The concrete class of each key. This saves 1 byte per key. Set to null if the class is not known or varies
per key (default).keySerializer
- The serializer to use for each key.public void setValueClass(java.lang.Class valueClass)
valueClass
- The concrete class of each value. This saves 1 byte per value. The serializer registered for the specified
class will be used. Set to null if the class is not known or varies per value (default).public void setValueClass(java.lang.Class valueClass, Serializer valueSerializer)
valueClass
- The concrete class of each value. This saves 1 byte per value. Set to null if the class is not known or
varies per value (default).valueSerializer
- The serializer to use for each value.public void setValuesCanBeNull(boolean valuesCanBeNull)
valuesCanBeNull
- True if values are not null. This saves 1 byte per value if keyClass is set. False if it is not known
(default).public void writeObjectData(java.nio.ByteBuffer buffer, java.lang.Object object)
Serializer
writeObjectData
in class Serializer
object
- Cannot be null.public <T> T readObjectData(java.nio.ByteBuffer buffer, java.lang.Class<T> type)
Serializer
readObjectData
in class Serializer