com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache is an open source, standards-based cache used to boost performance,
offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
this has made it the most widely-used Java-based cache.
package com.fasterxml.jackson.databind.ser.impl;
import java.util.*;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ser.SerializerCache.TypeKey;
/**
* 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.
*/
public final class ReadOnlyClassToSerializerMap
{
/**
* Actual mappings from type key to serializers
*/
protected final JsonSerializerMap _map;
/**
* We'll reuse key class to avoid unnecessary instantiations; since
* this is not shared between threads, we can just reuse single
* instance.
*/
protected TypeKey _cacheKey = null;
private ReadOnlyClassToSerializerMap(JsonSerializerMap map)
{
_map = map;
}
public ReadOnlyClassToSerializerMap instance()
{
return new ReadOnlyClassToSerializerMap(_map);
}
/**
* 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, {@link #instance} has to be called first.
*/
public static ReadOnlyClassToSerializerMap from(HashMap> src)
{
return new ReadOnlyClassToSerializerMap(new JsonSerializerMap(src));
}
public JsonSerializer