Contains those implementation classes of deserialization part of data binding that are not considered part of public or semi-public interfaces. Use of these classes by non-core classes is discouraged, although occasionally this may be necessary. Note that backwards-compatibility of these classes is not guaranteed between minor releases (but is between patch releases).
Class Summary Class Description BeanAsArrayBuilderDeserializer BeanAsArrayDeserializerVariant of
BeanDeserializerused for handling deserialization of POJOs when serialized as JSON Arrays, instead of JSON Objects.
BeanPropertyMapHelper class used for storing mapping from property name to
CreatorCandidate CreatorCandidate.Param CreatorCollectorContainer class for storing information on creators (based on annotations, visibility), to be able to build actual instantiator later on. ErrorThrowingDeserializerA deserializer that stores an
Errorcaught during constructing of the deserializer, which needs to be deferred and only during actual attempt to deserialize a value of given type.
ExternalTypeHandlerHelper class that is used to flatten JSON structure when using "external type id" (see
ExternalTypeHandler.Builder FailingDeserializerSpecial bogus "serializer" that will throw
JsonMappingExceptionif an attempt is made to deserialize a value.
FieldPropertyThis concrete sub-class implements property that is set directly assigning to a Field. InnerClassPropertyThis sub-class is used to handle special case of value being a non-static inner class. JavaUtilCollectionsDeserializersHelper class used to contain logic for deserializing "special" containers from
JDKValueInstantiatorsContainer for a set of
ValueInstantiators 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.
ManagedReferencePropertyWrapper property that is used to handle managed (forward) properties Basically just needs to delegate first to actual forward property, and then to back property. MergingSettableBeanProperty
SettableBeanPropertyimplementation that will try to access value of the property first, and if non-null value found, pass that for update (using
JsonDeserializer.deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, Object)) instead of constructing a new value.
MethodPropertyThis concrete sub-class implements property that is set using regular "setter" method. NullsAsEmptyProvider NullsConstantProvider NullsFailProvider ObjectIdReaderObject that knows how to deserialize Object Ids. ObjectIdReferenceProperty ObjectIdReferenceProperty.PropertyReferring ObjectIdValuePropertySpecialized
SettableBeanPropertyimplementation used for virtual property that represents Object Id that is used for some POJO types (or properties).
PropertyBasedCreatorObject that is used to collect arguments for non-default creator (non-default-constructor, or argument-taking factory method) before creator can be called. PropertyBasedObjectIdGenerator PropertyValueBase class for property values that need to be buffered during deserialization. PropertyValueBufferSimple container used for temporarily buffering a set of
ReadableObjectIdSimple value container for containing information about single Object Id during deserialization ReadableObjectId.Referring SetterlessPropertyThis concrete sub-class implements Collection or Map property that is indirectly by getting the property value and directly modifying it. TypeWrappedDeserializerSimple deserializer that will call configured type deserializer, passing in configured data deserializer, and exposing it all as a simple deserializer. UnwrappedPropertyHandlerObject that is responsible for handling acrobatics related to deserializing "unwrapped" values; sets of properties that are embedded (inlined) as properties of parent JSON object. ValueInjectorClass that encapsulates details of value injection that occurs before deserialization of a POJO.