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

- Packages that use NullValueProvider
  Package | Description
  --- | ---
  com.fasterxml.jackson.databind | Basic data binding (mapping) functionality that allows for reading JSON content into Java Objects (POJOs) and JSON Trees (`JsonNode`), as well as writing Java Objects and trees as JSON.
  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.
  com.fasterxml.jackson.databind.ext | Contains extended support for "external" packages: things that may or may not be present in runtime environment, but that are commonly enough used so that explicit support can be added.

- - ### Uses of NullValueProvider in com.fasterxml.jackson.databind

    Classes in com.fasterxml.jackson.databind that implement NullValueProvider
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JsonDeserializer<T>` Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
    `static class` | `JsonDeserializer.None` This marker class is only to be used with annotations, to indicate that no deserializer is configured.

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

    Classes in com.fasterxml.jackson.databind.deser that implement NullValueProvider
    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.

    Fields in com.fasterxml.jackson.databind.deser declared as NullValueProvider
    Modifier and Type | Field and Description
    --- | ---
    `protected NullValueProvider` | SettableBeanProperty.`_nullProvider` Entity used for possible translation from `null` into non-null value of type of this property.

    Methods in com.fasterxml.jackson.databind.deser that return NullValueProvider
    Modifier and Type | Method and Description
    --- | ---
    `NullValueProvider` | SettableBeanProperty.`getNullValueProvider()`

    Methods in com.fasterxml.jackson.databind.deser with parameters of type NullValueProvider
    Modifier and Type | Method and Description
    --- | ---
    `abstract SettableBeanProperty` | SettableBeanProperty.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | SettableBeanProperty.Delegating.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | CreatorProperty.`withNullProvider(NullValueProvider nva)`

    Constructors in com.fasterxml.jackson.databind.deser with parameters of type NullValueProvider
    Constructor and Description
    `CreatorProperty(CreatorProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`
    `SettableBeanProperty(SettableBeanProperty src, JsonDeserializer<?> deser, NullValueProvider nuller)` Copy-with-deserializer-change constructor for sub-classes to use.

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

    Classes in com.fasterxml.jackson.databind.deser.impl that implement NullValueProvider
    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.
    `class` | `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.
    `class` | `FailingDeserializer` Special bogus "serializer" that will throw `JsonMappingException` if an attempt is made to deserialize a value.
    `class` | `NullsAsEmptyProvider` Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
    `class` | `NullsConstantProvider` Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
    `class` | `NullsFailProvider` Simple `NullValueProvider` that will always throw a `InvalidNullException` when a null is encountered.
    `class` | `TypeWrappedDeserializer` Simple deserializer that will call configured type deserializer, passing in configured data deserializer, and exposing it all as a simple deserializer.

    Methods in com.fasterxml.jackson.databind.deser.impl with parameters of type NullValueProvider
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | NullsConstantProvider.`isNuller(NullValueProvider p)` Utility method that can be used to check if given null value provider is "nuller", no-operation provider that will always simply return Java `null` for any and all input `null`s.
    `static boolean` | NullsConstantProvider.`isSkipper(NullValueProvider p)` Utility method that can be used to check if given null value provider is "skipper", marker provider that means that all input `null`s should be skipped (ignored), instead of converted
    `SettableBeanProperty` | SetterlessProperty.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | ObjectIdValueProperty.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | ObjectIdReferenceProperty.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | MethodProperty.`withNullProvider(NullValueProvider nva)`
    `SettableBeanProperty` | FieldProperty.`withNullProvider(NullValueProvider nva)`

    Constructors in com.fasterxml.jackson.databind.deser.impl with parameters of type NullValueProvider
    Constructor and Description
    `FieldProperty(FieldProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`
    `MethodProperty(MethodProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`
    `ObjectIdReferenceProperty(ObjectIdReferenceProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`
    `ObjectIdValueProperty(ObjectIdValueProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`
    `SetterlessProperty(SetterlessProperty src, JsonDeserializer<?> deser, NullValueProvider nva)`

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

    Classes in com.fasterxml.jackson.databind.deser.std that implement NullValueProvider
    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` | `AtomicBooleanDeserializer`
    `class` | `AtomicReferenceDeserializer`
    `class` | `ByteBufferDeserializer`
    `class` | `CollectionDeserializer` Basic serializer that can take JSON "Array" structure and construct a `Collection` instance, with typed contents.
    `class` | `ContainerDeserializerBase<T>` Intermediate base deserializer class that adds more shared accessor so that other classes can access information about contained (value) types
    `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` | `FromStringDeserializer<T>` 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).
    `static class` | `FromStringDeserializer.Std` "Chameleon" deserializer that works on simple types that are deserialized from a simple String.
    `class` | `JsonNodeDeserializer` Deserializer that can build instances of `JsonNode` from any JSON content, using appropriate `JsonNode` type.
    `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` | `NullifyingDeserializer` Bogus deserializer that will simply skip all content there is to map and returns Java null reference.
    `static class` | `NumberDeserializers.BigDecimalDeserializer`
    `static class` | `NumberDeserializers.BigIntegerDeserializer` This is bit trickier to implement efficiently, while avoiding overflow problems.
    `static class` | `NumberDeserializers.BooleanDeserializer`
    `static class` | `NumberDeserializers.ByteDeserializer`
    `static class` | `NumberDeserializers.CharacterDeserializer`
    `static class` | `NumberDeserializers.DoubleDeserializer`
    `static class` | `NumberDeserializers.FloatDeserializer`
    `static class` | `NumberDeserializers.IntegerDeserializer`
    `static class` | `NumberDeserializers.LongDeserializer`
    `static class` | `NumberDeserializers.NumberDeserializer` For type `Number.class`, we can just rely on type mappings that plain `JsonParser.getNumberValue()` returns.
    `protected static class` | `NumberDeserializers.PrimitiveOrWrapperDeserializer<T>`
    `static class` | `NumberDeserializers.ShortDeserializer`
    `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` | `StackTraceElementDeserializer`
    `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` | `StdDeserializer<T>` Base class for common deserializers.
    `class` | `StdNodeBasedDeserializer<T>` Convenience deserializer that may be used to deserialize values given an intermediate tree representation (`JsonNode`).
    `class` | `StdScalarDeserializer<T>` Base class for deserializers that handle types that are serialized as JSON scalars (non-structured, i.e.
    `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` | `StringDeserializer`
    `class` | `ThrowableDeserializer` Deserializer that builds on basic `BeanDeserializer` but override some aspects like instance construction.
    `class` | `TokenBufferDeserializer` We also want to directly support deserialization of `TokenBuffer`.
    `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).
    `static class` | `UntypedObjectDeserializer.Vanilla`
    `class` | `UUIDDeserializer`

    Fields in com.fasterxml.jackson.databind.deser.std declared as NullValueProvider
    Modifier and Type | Field and Description
    --- | ---
    `protected NullValueProvider` | PrimitiveArrayDeserializers.`_nuller` Flag that indicates need for special handling; either failing (throw exception) or skipping
    `protected NullValueProvider` | StringArrayDeserializer.`_nullProvider` Handler we need for dealing with nulls.
    `protected NullValueProvider` | ContainerDeserializerBase.`_nullProvider` Handler we need for dealing with nulls.

    Methods in com.fasterxml.jackson.databind.deser.std that return NullValueProvider
    Modifier and Type | Method and Description
    --- | ---
    `protected NullValueProvider` | StdDeserializer.`_findNullProvider(DeserializationContext ctxt, BeanProperty prop, Nulls nulls, JsonDeserializer<?> valueDeser)`
    `protected NullValueProvider` | StdDeserializer.`findContentNullProvider(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> valueDeser)` Method called to find `NullValueProvider` for a contents of a structured primary property (Collection, Map, array), using "content nulls" setting.
    `protected NullValueProvider` | StdDeserializer.`findValueNullProvider(DeserializationContext ctxt, SettableBeanProperty prop, PropertyMetadata propMetadata)` Method called to find `NullValueProvider` for a primary property, using "value nulls" setting.

    Methods in com.fasterxml.jackson.databind.deser.std with parameters of type NullValueProvider
    Modifier and Type | Method and Description
    --- | ---
    `protected StringCollectionDeserializer` | StringCollectionDeserializer.`withResolved(JsonDeserializer<?> delegateDeser, JsonDeserializer<?> valueDeser, NullValueProvider nuller, Boolean unwrapSingle)`
    `protected CollectionDeserializer` | CollectionDeserializer.`withResolved(JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd, NullValueProvider nuller, Boolean unwrapSingle)` Fluent-factory method call to construct contextual instance.
    `protected ArrayBlockingQueueDeserializer` | ArrayBlockingQueueDeserializer.`withResolved(JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd, NullValueProvider nuller, Boolean unwrapSingle)` Fluent-factory method call to construct contextual instance.
    `EnumMapDeserializer` | EnumMapDeserializer.`withResolved(KeyDeserializer keyDeserializer, JsonDeserializer<?> valueDeserializer, TypeDeserializer valueTypeDeser, NullValueProvider nuller)`
    `protected MapDeserializer` | MapDeserializer.`withResolved(KeyDeserializer keyDeser, TypeDeserializer valueTypeDeser, JsonDeserializer<?> valueDeser, NullValueProvider nuller, Set<String> ignorable)` Fluent factory method used to create a copy with slightly different settings.
    `protected abstract PrimitiveArrayDeserializers<?>` | PrimitiveArrayDeserializers.`withResolved(NullValueProvider nuller, Boolean unwrapSingle)`
    `ObjectArrayDeserializer` | ObjectArrayDeserializer.`withResolved(TypeDeserializer elemTypeDeser, JsonDeserializer<?> elemDeser, NullValueProvider nuller, Boolean unwrapSingle)`

    Constructors in com.fasterxml.jackson.databind.deser.std with parameters of type NullValueProvider
    Constructor and Description
    `ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator, JsonDeserializer<Object> delegateDeser, NullValueProvider nuller, Boolean unwrapSingle)` Constructor used when creating contextualized instances.
    `CollectionDeserializer(JavaType collectionType, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator, JsonDeserializer<Object> delegateDeser, NullValueProvider nuller, Boolean unwrapSingle)` Constructor used when creating contextualized instances.
    `ContainerDeserializerBase(ContainerDeserializerBase<?> base, NullValueProvider nuller, Boolean unwrapSingle)`
    `ContainerDeserializerBase(JavaType selfType, NullValueProvider nuller, Boolean unwrapSingle)`
    `EnumMapDeserializer(EnumMapDeserializer base, KeyDeserializer keyDeser, JsonDeserializer<?> valueDeser, TypeDeserializer vtd, NullValueProvider nuller)`
    `EnumMapDeserializer(JavaType mapType, ValueInstantiator valueInst, KeyDeserializer keyDeser, JsonDeserializer<?> valueDeser, TypeDeserializer vtd, NullValueProvider nuller)`
    `MapDeserializer(MapDeserializer src, KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, NullValueProvider nuller, Set<String> ignorable)`
    `ObjectArrayDeserializer(ObjectArrayDeserializer base, JsonDeserializer<Object> elemDeser, TypeDeserializer elemTypeDeser, NullValueProvider nuller, Boolean unwrapSingle)`
    `PrimitiveArrayDeserializers(PrimitiveArrayDeserializers<?> base, NullValueProvider nuller, Boolean unwrapSingle)`
    `StringArrayDeserializer(JsonDeserializer<?> deser, NullValueProvider nuller, Boolean unwrapSingle)`
    `StringCollectionDeserializer(JavaType collectionType, ValueInstantiator valueInstantiator, JsonDeserializer<?> delegateDeser, JsonDeserializer<?> valueDeser, NullValueProvider nuller, Boolean unwrapSingle)`

  - ### Uses of NullValueProvider in com.fasterxml.jackson.databind.ext

    Classes in com.fasterxml.jackson.databind.ext that implement NullValueProvider
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CoreXMLDeserializers.Std` Combo-deserializer that supports deserialization of somewhat optional javax.xml types `QName`, `Duration` and `XMLGregorianCalendar`.
    `class` | `DOMDeserializer<T>` Base for serializers that allows parsing DOM Documents from JSON Strings.
    `static class` | `DOMDeserializer.DocumentDeserializer`
    `static class` | `DOMDeserializer.NodeDeserializer`
    `class` | `NioPathDeserializer`

Copyright © 2008–2018 FasterXML. All rights reserved.