Class DeserializerCache

java.lang.Object
tools.jackson.databind.deser.DeserializerCache
All Implemented Interfaces:
Serializable

public final class DeserializerCache extends Object implements Serializable
Class that defines caching layer between callers (like ObjectMapper, DeserializationContext) and classes that construct deserializers (DeserializerFactory).
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT_MAX_CACHE_SIZE

      public static final int DEFAULT_MAX_CACHE_SIZE
      Default size of the underlying cache to use.

      NOTE: reduced from 2.x default.

      See Also:
    • _cachedDeserializers

      private final LookupCache<JavaType,ValueDeserializer<Object>> _cachedDeserializers
      We will also cache some dynamically constructed deserializers; specifically, ones that are expensive to construct. This currently (3.0) means POJO, Enum and Container (collection, map) deserializers.
    • _incompleteDeserializers

      private final transient HashMap<JavaType,ValueDeserializer<Object>> _incompleteDeserializers
      During deserializer construction process we may need to keep track of partially completed deserializers, to resolve cyclic dependencies. This is the map used for storing deserializers before they are fully complete.
    • _incompleteDeserializersLock

      private final ReentrantLock _incompleteDeserializersLock
      We hold an explicit lock while creating deserializers to avoid creating duplicates. Guards _incompleteDeserializers.
  • Constructor Details

  • Method Details