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

Packages that use NullValueProvider
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
`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
`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
`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
`NullValueProvider` SettableBeanProperty.`getNullValueProvider()`

Methods in com.fasterxml.jackson.databind.deser with parameters of type NullValueProvider
`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
`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
`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
`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
`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
`protected NullValueProvider` StdDeserializer.`_findNullProvider(DeserializationContext ctxt, BeanProperty prop, com.fasterxml.jackson.annotation.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
`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
`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`