Interface NullValueProvider
- All Known Implementing Classes:
AbstractDeserializer, ArrayBlockingQueueDeserializer, AtomicBooleanDeserializer, AtomicIntegerDeserializer, AtomicLongDeserializer, AtomicReferenceDeserializer, BeanAsArrayBuilderDeserializer, BeanAsArrayDeserializer, BeanDeserializer, BeanDeserializerBase, BuilderBasedDeserializer, ByteBufferDeserializer, CollectionDeserializer, ContainerDeserializerBase, CoreXMLDeserializers.Std, DateDeserializers.CalendarDeserializer, DateDeserializers.DateBasedDeserializer, DateDeserializers.DateDeserializer, DateDeserializers.SqlDateDeserializer, DateDeserializers.TimestampDeserializer, DelegatingDeserializer, DOMDeserializer, DOMDeserializer.DocumentDeserializer, DOMDeserializer.NodeDeserializer, EnumDeserializer, EnumMapDeserializer, EnumSetDeserializer, ErrorThrowingDeserializer, FailingDeserializer, FromStringDeserializer, FromStringDeserializer.Std, JsonDeserializer, JsonDeserializer.None, JsonNodeDeserializer, MapDeserializer, MapEntryDeserializer, NioPathDeserializer, NullifyingDeserializer, NullsAsEmptyProvider, NullsConstantProvider, NullsFailProvider, NumberDeserializers.BigDecimalDeserializer, NumberDeserializers.BigIntegerDeserializer, NumberDeserializers.BooleanDeserializer, NumberDeserializers.ByteDeserializer, NumberDeserializers.CharacterDeserializer, NumberDeserializers.DoubleDeserializer, NumberDeserializers.FloatDeserializer, NumberDeserializers.IntegerDeserializer, NumberDeserializers.LongDeserializer, NumberDeserializers.NumberDeserializer, NumberDeserializers.PrimitiveOrWrapperDeserializer, NumberDeserializers.ShortDeserializer, ObjectArrayDeserializer, PrimitiveArrayDeserializers, ReferenceTypeDeserializer, StackTraceElementDeserializer, StdDelegatingDeserializer, StdDeserializer, StdNodeBasedDeserializer, StdScalarDeserializer, StringArrayDeserializer, StringCollectionDeserializer, StringDeserializer, ThrowableDeserializer, TokenBufferDeserializer, TypeWrappedDeserializer, UnsupportedTypeDeserializer, UntypedObjectDeserializer, UntypedObjectDeserializer.Vanilla, UUIDDeserializer
public interface NullValueProvider
Helper interface implemented by classes that are to be used as
null providers during deserialization. Most importantly implemented by
JsonDeserializer (as a mix-in
interface), but also by converters used to support more configurable
null replacement.- Since:
- 2.9
-
Method Summary
Modifier and TypeMethodDescriptiondefault ObjectMethod called to determine placeholder value to be used for cases where no value was obtained from input but we must pass a value nonetheless: the common case is that of Creator methods requiring passing a value for every parameter.Accessor that may be used to determine if and when provider must be called to access null replacement value.Method called to possibly convert incoming `null` token (read via underlying streaming input source) into other value of type accessor supports.
-
Method Details
-
getNullValue
Method called to possibly convert incoming `null` token (read via underlying streaming input source) into other value of type accessor supports. May return `null`, or value compatible with type binding.NOTE: if
getNullAccessPattern()returns `ALWAYS_NULL` or `CONSTANT`, this method WILL NOT use provided `ctxt` and it may thus be passed as `null`.- Throws:
JsonMappingException
-
getNullAccessPattern
AccessPattern getNullAccessPattern()Accessor that may be used to determine if and when provider must be called to access null replacement value. -
getAbsentValue
Method called to determine placeholder value to be used for cases where no value was obtained from input but we must pass a value nonetheless: the common case is that of Creator methods requiring passing a value for every parameter. Usually this is same asgetNullValue(DeserializationContext)(which in turn is usually simply Javanull), but it can be overridden for specific types: most notable scalar types must use "default" values.This method needs to be called every time a determination is made.
Default implementation simply calls and returns
getNullValue(DeserializationContext).- Throws:
JsonMappingException- Since:
- 2.13
-