Package tools.jackson.databind.deser.jdk
package tools.jackson.databind.deser.jdk
Package that contains standard value and key deserializer implementations
Jackson uses for core JDK types.
Note that these implementations are not considered as part of either public
API (like
ObjectMapper or "developer-public" API (such as
tools.jackson.databind.deser.std): implementations and
interfaces may change.
It is not advisable for non-core code to rely on these types.-
ClassDescriptionWe need a custom deserializer both because
ArrayBlockingQueuehas no default constructor AND because it has size limit used for constructing underlying storage automatically.Basic serializer that can take JSON "Array" structure and construct aCollectioninstance, with typed contents.Helper class to maintain processing order of value.Helper class for dealing with Object Id references for values contained in collections being deserialized.Deserializer class that can deserialize instances of specified Enum class from Strings and Integers.Deserializer forEnumMapvalues.Standard deserializer forEnumSets.Deserializer that uses a single-String static factory method for locating Enum values by String id.Helper class used to contain logic for deserializing "special" containers fromjava.util.Collectionsandjava.util.Arrays.Simple deserializer for handlingDatevalues.Container class for core pre-Java8 JDK date/time type deserializers.Base class for simple deserializers that serialize values from String representation: this includes JSON Strings and other Scalar values that can be coerced into text, like Numbers and Booleans).DefaultKeyDeserializerimplementation used for mostMapkey types Jackson supports.Key deserializer that wraps a "regular" deserializer (but one that must recognize FIELD_NAMEs as text!) to reuse existing handlers as key handlers.Key deserializer that calls a single-string-arg constructor to instantiate desired key type.Key deserializer that calls a static no-args factory method to instantiate desired key type.Helper class used to contain simple/well-known key deserializers.Container class that contains serializers for miscellaneous JDK types that require special handling and are not grouped along with a set of other serializers (like date/time)Container for a set ofValueInstantiators used for certain critical JDK value types, either as performance optimization for initialization time observed by profiling, or due to difficulty in otherwise finding constructors.Basic deserializer that can take JSON "Object" structure and construct aMapinstance, with typed contents.Helper class to maintain processing order of value.Basic serializer that can take JSON "Object" structure and construct aMap.Entryinstance, with typed contents.Internal capability interface for key deserializers that can signal null keys should be skipped during Map deserialization.Container class for deserializers that handle core JDK primitive (and matching wrapper) types, as well as standard "big" numeric types.This is bit trickier to implement efficiently, while avoiding overflow problems.For typeNumber.class, we can just rely on type mappings that plainJsonParser.getNumberValue()returns.Serializer that can serialize non-primitive arrays.Container for deserializers used for instantiating "primitive arrays", arrays that contain non-object java primitive types.When dealing with byte arrays we have one more alternative (compared to int/long/shorts): base64 encoded data.Factory class forFromStringWithRadixToNumberDeserializerfor deserializers inNumberDeserializersIntermediate class used both for convenience of binding and to supportPropertyNamingStrategy.Separate implementation for serializing String arrays (instead of usingObjectArrayDeserializer.Specifically optimized version forCollections that contain String values; reason is that this is a very common type and we can make use of the fact that Strings are final.Deserializer for theThreadGroupclass: due to limited access, will only try to extract"name"property and ignores everything else.Deserializer that builds on basicBeanDeserializerbut override some aspects like instance construction.Deserializer implementation that is used if it is necessary to bind content of "unknown" type; something declared as basicObject(either explicitly, or due to type erasure).Helper class used for building Maps and Lists/Arrays.