# Package com.fasterxml.jackson.databind.deser.impl

Contains those implementation classes of deserialization part of data binding that are not considered part of public or semi-public interfaces.

See: Description

- Class Summary
  Class | Description
  --- | ---
  BeanAsArrayBuilderDeserializer |
  BeanAsArrayDeserializer | Variant of `BeanDeserializer` used for handling deserialization of POJOs when serialized as JSON Arrays, instead of JSON Objects.
  BeanPropertyMap | Helper class used for storing mapping from property name to `SettableBeanProperty` instances.
  CreatorCandidate |
  CreatorCandidate.Param |
  CreatorCollector | Container class for storing information on creators (based on annotations, visibility), to be able to build actual instantiator later on.
  ErrorThrowingDeserializer | A deserializer that stores an `Error` caught during constructing of the deserializer, which needs to be deferred and only during actual attempt to deserialize a value of given type.
  ExternalTypeHandler | Helper class that is used to flatten JSON structure when using "external type id" (see `JsonTypeInfo.As.EXTERNAL_PROPERTY`).
  ExternalTypeHandler.Builder |
  FailingDeserializer | Special bogus "serializer" that will throw `JsonMappingException` if an attempt is made to deserialize a value.
  FieldProperty | This concrete sub-class implements property that is set directly assigning to a Field.
  InnerClassProperty | This sub-class is used to handle special case of value being a non-static inner class.
  JavaUtilCollectionsDeserializers | Helper class used to contain logic for deserializing "special" containers from `java.util.Collections` and `java.util.Arrays`.
  JDKValueInstantiators | Container for a set of `ValueInstantiator`s 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.
  ManagedReferenceProperty | Wrapper 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 | `SettableBeanProperty` implementation 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.
  MethodProperty | This concrete sub-class implements property that is set using regular "setter" method.
  NullsAsEmptyProvider | Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
  NullsConstantProvider | Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
  NullsFailProvider | Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
  ObjectIdReader | Object that knows how to deserialize Object Ids.
  ObjectIdReferenceProperty |
  ObjectIdReferenceProperty.PropertyReferring |
  ObjectIdValueProperty | Specialized `SettableBeanProperty` implementation used for virtual property that represents Object Id that is used for some POJO types (or properties).
  PropertyBasedCreator | Object that is used to collect arguments for non-default creator (non-default-constructor, or argument-taking factory method) before creator can be called.
  PropertyBasedObjectIdGenerator |
  PropertyValue | Base class for property values that need to be buffered during deserialization.
  PropertyValueBuffer | Simple container used for temporarily buffering a set of `PropertyValue`s.
  ReadableObjectId | Simple value container for containing information about single Object Id during deserialization
  ReadableObjectId.Referring |
  SetterlessProperty | This concrete sub-class implements Collection or Map property that is indirectly by getting the property value and directly modifying it.
  TypeWrappedDeserializer | Simple deserializer that will call configured type deserializer, passing in configured data deserializer, and exposing it all as a simple deserializer.
  UnwrappedPropertyHandler | Object that is responsible for handling acrobatics related to deserializing "unwrapped" values; sets of properties that are embedded (inlined) as properties of parent JSON object.
  ValueInjector | Class that encapsulates details of value injection that occurs before deserialization of a POJO.

## Package com.fasterxml.jackson.databind.deser.impl Description

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).

Copyright © 2008–2020 FasterXML. All rights reserved.