public final class SerializerCache extends Object
Cache contains three kinds of entries, based on combination of class pair key. First class in key is for the type to serialize, and second one is type used for determining how to resolve value type. One (but not both) of entries can be null.
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_CACHE_SIZE
By default, allow caching of up to 4000 serializer entries (for possibly up to
1000 types; but depending access patterns may be as few as half of that).
|
static int |
DEFAULT_MAX_CACHED
Deprecated.
Use
DEFAULT_MAX_CACHE_SIZE instead. |
Constructor and Description |
---|
SerializerCache() |
SerializerCache(int maxCached) |
SerializerCache(LookupCache<TypeKey,JsonSerializer<Object>> cache) |
Modifier and Type | Method and Description |
---|---|
void |
addAndResolveNonTypedSerializer(Class<?> rawType,
JavaType fullType,
JsonSerializer<Object> ser,
SerializerProvider provider)
Another alternative that will cover both access via raw type and matching
fully resolved type, in one fell swoop.
|
void |
addAndResolveNonTypedSerializer(Class<?> type,
JsonSerializer<Object> ser,
SerializerProvider provider) |
void |
addAndResolveNonTypedSerializer(JavaType type,
JsonSerializer<Object> ser,
SerializerProvider provider) |
void |
addTypedSerializer(Class<?> cls,
JsonSerializer<Object> ser) |
void |
addTypedSerializer(JavaType type,
JsonSerializer<Object> ser)
Method called if none of lookups succeeded, and caller had to construct
a serializer.
|
void |
flush()
Method called by StdSerializerProvider#flushCachedSerializers() to
clear all cached serializers
|
ReadOnlyClassToSerializerMap |
getReadOnlyLookupMap()
Method that can be called to get a read-only instance populated from the
most recent version of the shared lookup Map.
|
int |
size() |
JsonSerializer<Object> |
typedValueSerializer(Class<?> cls) |
JsonSerializer<Object> |
typedValueSerializer(JavaType type) |
JsonSerializer<Object> |
untypedValueSerializer(Class<?> type)
Method that checks if the shared (and hence, synchronized) lookup Map might have
untyped serializer for given type.
|
JsonSerializer<Object> |
untypedValueSerializer(JavaType type) |
public static final int DEFAULT_MAX_CACHE_SIZE
@Deprecated public static final int DEFAULT_MAX_CACHED
DEFAULT_MAX_CACHE_SIZE
instead.public SerializerCache()
public SerializerCache(int maxCached)
public SerializerCache(LookupCache<TypeKey,JsonSerializer<Object>> cache)
public ReadOnlyClassToSerializerMap getReadOnlyLookupMap()
public int size()
public JsonSerializer<Object> untypedValueSerializer(Class<?> type)
public JsonSerializer<Object> untypedValueSerializer(JavaType type)
public JsonSerializer<Object> typedValueSerializer(JavaType type)
public JsonSerializer<Object> typedValueSerializer(Class<?> cls)
public void addTypedSerializer(JavaType type, JsonSerializer<Object> ser)
public void addTypedSerializer(Class<?> cls, JsonSerializer<Object> ser)
public void addAndResolveNonTypedSerializer(Class<?> type, JsonSerializer<Object> ser, SerializerProvider provider) throws JsonMappingException
JsonMappingException
public void addAndResolveNonTypedSerializer(JavaType type, JsonSerializer<Object> ser, SerializerProvider provider) throws JsonMappingException
JsonMappingException
public void addAndResolveNonTypedSerializer(Class<?> rawType, JavaType fullType, JsonSerializer<Object> ser, SerializerProvider provider) throws JsonMappingException
JsonMappingException
public void flush()
Copyright © 2008–2023 FasterXML. All rights reserved.