# 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.
  CreatorCollector | Container class for storing information on creators (based on annotations, visibility), to be able to build actual instantiator later on.
  CreatorCollector.StdTypeConstructor | Replacement for default constructor to use for a small set of "well-known" types.
  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.
  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.
  MethodProperty | This concrete sub-class implements property that is set using regular "setter" method.
  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).