Interface NullValueProvider
- All Known Implementing Classes:
AbstractDeserializer, ArrayBlockingQueueDeserializer, AtomicBooleanDeserializer, AtomicIntegerDeserializer, AtomicLongDeserializer, AtomicReferenceDeserializer, BaseNodeDeserializer, BaseScalarOptionalDeserializer, BeanAsArrayBuilderDeserializer, BeanAsArrayDeserializer, BeanDeserializer, BeanDeserializerBase, BuilderBasedDeserializer, ByteBufferDeserializer, CollectionDeserializer, ContainerDeserializerBase, CoreXMLDeserializers.Std, DateBasedDeserializer, DelegatingDeserializer, DOMDeserializer, DOMDeserializer.DocumentDeserializer, DOMDeserializer.NodeDeserializer, DurationDeserializer, EnumDeserializer, EnumMapDeserializer, EnumSetDeserializer, ErrorThrowingDeserializer, FactoryBasedEnumDeserializer, FailingDeserializer, FromStringDeserializer, FromStringWithRadixToNumberDeserializer, FunctionalScalarDeserializer, InstantDeserializer, JavaSqlDateDeserializer, JavaSqlTimestampDeserializer, JavaUtilCalendarDeserializer, JavaUtilDateDeserializer, Jdk8OptionalDeserializer, JDKFromStringDeserializer, JDKFromStringDeserializer.StringBufferDeserializer, JDKFromStringDeserializer.StringBuilderDeserializer, JsonNodeDeserializer, JsonNodeDeserializer.ArrayDeserializer, JsonNodeDeserializer.ObjectDeserializer, JSR310DateTimeDeserializerBase, JSR310DeserializerBase, JSR310StringParsableDeserializer, LocalDateDeserializer, LocalDateTimeDeserializer, LocalTimeDeserializer, MapDeserializer, MapEntryDeserializer, MapEntryDeserializer.POJOWrappedDeserializer, MonthDayDeserializer, MonthDeserializer, 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, OffsetTimeDeserializer, OptionalDoubleDeserializer, OptionalIntDeserializer, OptionalLongDeserializer, PrimitiveArrayDeserializers, PrimitiveArrayDeserializers.BooleanDeser, PrimitiveArrayDeserializers.ByteDeser, PrimitiveArrayDeserializers.CharDeser, PrimitiveArrayDeserializers.DoubleDeser, PrimitiveArrayDeserializers.FloatDeser, PrimitiveArrayDeserializers.IntDeser, PrimitiveArrayDeserializers.LongDeser, PrimitiveArrayDeserializers.ShortDeser, ReferenceTypeDeserializer, StackTraceElementDeserializer, StdConvertingDeserializer, StdDeserializer, StdNodeBasedDeserializer, StdScalarDeserializer, StringArrayDeserializer, StringCollectionDeserializer, StringDeserializer, ThreadGroupDeserializer, ThrowableDeserializer, TokenBufferDeserializer, TypeWrappedDeserializer, UnsupportedTypeDeserializer, UntypedObjectDeserializer, UntypedObjectDeserializerNR, UUIDDeserializer, ValueDeserializer, ValueDeserializer.None, YearDeserializer, YearMonthDeserializer
public interface NullValueProvider
Helper interface implemented by classes that are to be used as
null providers during deserialization. Most importantly implemented by
ValueDeserializer (as a mix-in
interface), but also by converters used to support more configurable
null replacement.-
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`. -
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).- Since:
- 2.13
-