com.esotericsoftware.kryo.serialize
Class MapSerializer

java.lang.Object
  extended by com.esotericsoftware.kryo.Serializer
      extended by com.esotericsoftware.kryo.serialize.MapSerializer

public class MapSerializer
extends Serializer

Serializes objects that implement the 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.

Author:
Nathan Sweet

Constructor Summary
MapSerializer(Kryo kryo)
           
 
Method Summary
<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.
 
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

MapSerializer

public MapSerializer(Kryo kryo)
Method Detail

setKeysCanBeNull

public void setKeysCanBeNull(boolean keysCanBeNull)
Parameters:
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).

setKeyClass

public void setKeyClass(java.lang.Class keyClass)
Parameters:
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).

setKeyClass

public void setKeyClass(java.lang.Class keyClass,
                        Serializer keySerializer)
Parameters:
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.

setValueClass

public void setValueClass(java.lang.Class valueClass)
Parameters:
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).

setValueClass

public void setValueClass(java.lang.Class valueClass,
                          Serializer valueSerializer)
Parameters:
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.

setValuesCanBeNull

public void setValuesCanBeNull(boolean valuesCanBeNull)
Parameters:
valuesCanBeNull - True if values are not null. This saves 1 byte per value if keyClass is set. False if it is not known (default).

writeObjectData

public void writeObjectData(java.nio.ByteBuffer buffer,
                            java.lang.Object object)
Description copied from class: Serializer
Writes the object to the buffer.

Specified by:
writeObjectData in class Serializer
object - Cannot be null.

readObjectData

public <T> T readObjectData(java.nio.ByteBuffer buffer,
                            java.lang.Class<T> type)
Description copied from class: Serializer
Reads an object from the buffer.

Specified by:
readObjectData in class Serializer
Returns:
The deserialized object, never null.


Copyright © 2011. All Rights Reserved.