Package com.fasterxml.jackson.databind.deser.std
package com.fasterxml.jackson.databind.deser.std
Contains public standard implementations of abstraction that
Jackson uses. This means that they are not merely implementation
details, but part of semi-public interface where project
tries to maintain backwards compatibility at higher level
than for 'impl' types (although less so than with fully
public interfaces).
Note that since this package was only added relatively late in development cycle, not all classes that belong here are included. Plan is to move more classes over time.
-
ClassesClassDescriptionWe need a custom deserializer both because
ArrayBlockingQueuehas no default constructor AND because it has size limit used for constructing underlying storage automatically.BaseNodeDeserializer<T extends JsonNode>Base class for all actualJsonNodedeserializer implementations.Optimized variant similar in functionality to (a subset of)ArrayDeque; used to hold enclosing Array/Object nodes during recursion-as-iteration.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.Intermediate base deserializer class that adds more shared accessor so that other classes can access information about contained (value) typesContainer class for core JDK date/time type deserializers.Simple deserializer for handlingDatevalues.Compared to plain oldDate, SQL version is easier to deal with: mostly because it is more limited.Simple deserializer for handlingTimestampvalues.Base class that simplifies implementations ofJsonDeserializers that mostly delegate functionality to another deserializer implementation (possibly forming a chaining of deserializers delegating functionality in some cases)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.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)."Chameleon" deserializer that works on simple types that are deserialized from a simple String.Container class that contains serializers for JDK types that require special handling for some reason.ForJsonLocation, we should be able to just implementValueInstantiator(not that explicit one would be very hard but...)Implementation used when declared type is specificallyArrayNode.Implementation used when declared type is specificallyObjectNode.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 aMapinstance, with typed contents.Bogus deserializer that will simply skip all content there is to map and returns Java null reference.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.Base deserializer implementation for propertiesReferenceTypevalues.Intermediate class used both for convenience of binding and to supportPropertyNamingStrategy.Deserializer implementation where given Java type is first deserialized by a standard Jackson deserializer into a delegate type; and then this delegate type is converted using a configuredConverterinto desired target type.Base class for common deserializers.DefaultKeyDeserializerimplementation used for mostMaptypes 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.Convenience deserializer that may be used to deserialize values given an intermediate tree representation (JsonNode).Base class for deserializers that handle types that are serialized as JSON scalars (non-structured, i.e.DefaultValueInstantiatorimplementation, which supports Creator methods that can be indicated by standard Jackson annotations.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 that builds on basicBeanDeserializerbut override some aspects like instance construction.We also want to directly support deserialization ofTokenBuffer.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).Deprecated.Helper class used for building Maps and Lists/Arrays.