class ClassMapBasedObjectSerializer extends AbstractObjectSerializer
Objects of type ClassMapBasedObjectSerializer are constructed to perform instance specific object to JSON serialization schemes.
This class is not thread safe
Modifier and Type | Field and Description |
---|---|
private ClassMap<ObjectSerializer> |
_serializers |
Constructor and Description |
---|
ClassMapBasedObjectSerializer() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addObjectSerializer(java.lang.Class c,
ObjectSerializer serializer)
Assign a ObjectSerializer to perform a type specific serialization scheme
|
void |
serialize(java.lang.Object obj,
java.lang.StringBuilder buf)
Serializes
obj into buf . |
serialize
private final ClassMap<ObjectSerializer> _serializers
void addObjectSerializer(java.lang.Class c, ObjectSerializer serializer)
c
- this object's type serves as a key in the serialization map. ClassMapBasedObjectSerializer uses
org.bson.util.ClassMap and not only checks if 'c' is a key in the Map, but also walks the up superclass and
interface graph of 'c' to find matches. This means that it is only necessary assign ObjectSerializers to base
classes. @see org.bson.util.ClassMapserializer
- performs the serialization mapping specific to the @param key typepublic void serialize(java.lang.Object obj, java.lang.StringBuilder buf)
ObjectSerializer
obj
into buf
.obj
- the object to be serializedbuf
- StringBuilder containing the JSON representation of the object