com.fasterxml.jackson.databind.ser.impl
Class ReadOnlyClassToSerializerMap

java.lang.Object
  extended by com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap

public final class ReadOnlyClassToSerializerMap
extends Object

Optimized lookup table for accessing two types of serializers; typed and non-typed. Only accessed from a single thread, so no synchronization needed for accessors.


Field Summary
protected  SerializerCache.TypeKey _cacheKey
          We'll reuse key class to avoid unnecessary instantiations; since this is not shared between threads, we can just reuse single instance.
protected  JsonSerializerMap _map
          Actual mappings from type key to serializers
 
Method Summary
static ReadOnlyClassToSerializerMap from(HashMap<SerializerCache.TypeKey,JsonSerializer<Object>> src)
          Factory method for creating the "blueprint" lookup map.
 ReadOnlyClassToSerializerMap instance()
           
 JsonSerializer<Object> typedValueSerializer(Class<?> cls)
           
 JsonSerializer<Object> typedValueSerializer(JavaType type)
           
 JsonSerializer<Object> untypedValueSerializer(Class<?> cls)
           
 JsonSerializer<Object> untypedValueSerializer(JavaType type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_map

protected final JsonSerializerMap _map
Actual mappings from type key to serializers


_cacheKey

protected final SerializerCache.TypeKey _cacheKey
We'll reuse key class to avoid unnecessary instantiations; since this is not shared between threads, we can just reuse single instance.

Method Detail

instance

public ReadOnlyClassToSerializerMap instance()

from

public static ReadOnlyClassToSerializerMap from(HashMap<SerializerCache.TypeKey,JsonSerializer<Object>> src)
Factory method for creating the "blueprint" lookup map. Such map can not be used as is but just shared: to get an actual usable instance, instance() has to be called first.


typedValueSerializer

public JsonSerializer<Object> typedValueSerializer(JavaType type)

typedValueSerializer

public JsonSerializer<Object> typedValueSerializer(Class<?> cls)

untypedValueSerializer

public JsonSerializer<Object> untypedValueSerializer(Class<?> cls)

untypedValueSerializer

public JsonSerializer<Object> untypedValueSerializer(JavaType type)


Copyright © 2012 fasterxml.com. All Rights Reserved.