## Uses of Interface
com.fasterxml.jackson.databind.deser.ContextualDeserializer

- Packages that use ContextualDeserializer
  Package | Description
  --- | ---
  com.fasterxml.jackson.databind.deser | Contains implementation classes of deserialization part of data binding.
  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.
  com.fasterxml.jackson.databind.deser.std | Contains public standard implementations of abstraction that Jackson uses.

- - ### Uses of ContextualDeserializer in com.fasterxml.jackson.databind.deser

    Classes in com.fasterxml.jackson.databind.deser that implement ContextualDeserializer
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractDeserializer` Deserializer only used for abstract types used as placeholders during polymorphic type handling deserialization.
    `class` | `BeanDeserializer` Deserializer class that can deserialize instances of arbitrary bean objects, usually from JSON Object structs,
    `class` | `BeanDeserializerBase` Base class for `BeanDeserializer`.
    `class` | `BuilderBasedDeserializer` Class that handles deserialization using a separate Builder class, which is used for data binding and produces actual deserialized value at the end of data binding.

  - ### Uses of ContextualDeserializer in com.fasterxml.jackson.databind.deser.impl

    Classes in com.fasterxml.jackson.databind.deser.impl that implement ContextualDeserializer
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BeanAsArrayBuilderDeserializer`
    `class` | `BeanAsArrayDeserializer` Variant of `BeanDeserializer` used for handling deserialization of POJOs when serialized as JSON Arrays, instead of JSON Objects.

  - ### Uses of ContextualDeserializer in com.fasterxml.jackson.databind.deser.std

    Classes in com.fasterxml.jackson.databind.deser.std that implement ContextualDeserializer
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ArrayBlockingQueueDeserializer` We need a custom deserializer both because `ArrayBlockingQueue` has no default constructor AND because it has size limit used for constructing underlying storage automatically.
    `class` | `AtomicReferenceDeserializer`
    `class` | `CollectionDeserializer` Basic serializer that can take JSON "Array" structure and construct a `Collection` instance, with typed contents.
    `static class` | `DateDeserializers.CalendarDeserializer`
    `protected static class` | `DateDeserializers.DateBasedDeserializer<T>`
    `static class` | `DateDeserializers.DateDeserializer` Simple deserializer for handling `Date` values.
    `static class` | `DateDeserializers.SqlDateDeserializer` Compared to plain old `Date`, SQL version is easier to deal with: mostly because it is more limited.
    `static class` | `DateDeserializers.TimestampDeserializer` Simple deserializer for handling `Timestamp` values.
    `class` | `DelegatingDeserializer` Base class that simplifies implementations of `JsonDeserializer`s that mostly delegate functionality to another deserializer implementation (possibly forming a chaing of deserializers delegating functionality in some cases)
    `class` | `EnumDeserializer` Deserializer class that can deserialize instances of specified Enum class from Strings and Integers.
    `class` | `EnumMapDeserializer` Deserializer for `EnumMap` values.
    `class` | `EnumSetDeserializer` Standard deserializer for `EnumSet`s.
    `class` | `MapDeserializer` Basic serializer that can take JSON "Object" structure and construct a `Map` instance, with typed contents.
    `class` | `MapEntryDeserializer` Basic serializer that can take JSON "Object" structure and construct a `Map` instance, with typed contents.
    `class` | `ObjectArrayDeserializer` Basic serializer that can serialize non-primitive arrays.
    `class` | `PrimitiveArrayDeserializers<T>` Container for deserializers used for instantiating "primitive arrays", arrays that contain non-object java primitive types.
    `class` | `ReferenceTypeDeserializer<T>` Base deserializer implementation for properties `ReferenceType` values.
    `class` | `StdDelegatingDeserializer<T>` 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 configured `Converter` into desired target type.
    `class` | `StringArrayDeserializer` Separate implementation for serializing String arrays (instead of using `ObjectArrayDeserializer`.
    `class` | `StringCollectionDeserializer` Specifically optimized version for `Collection`s 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.
    `class` | `ThrowableDeserializer` Deserializer that builds on basic `BeanDeserializer` but override some aspects like instance construction.
    `class` | `UntypedObjectDeserializer` Deserializer implementation that is used if it is necessary to bind content of "unknown" type; something declared as basic `Object` (either explicitly, or due to type erasure).

Copyright © 2008–2018 FasterXML. All rights reserved.