Interface NullValueProvider
- All Known Implementing Classes:
AbstractDeserializer,ArrayBlockingQueueDeserializer,AtomicBooleanDeserializer,AtomicIntegerDeserializer,AtomicLongDeserializer,AtomicReferenceDeserializer,BaseScalarOptionalDeserializer,BeanAsArrayBuilderDeserializer,BeanAsArrayDeserializer,BeanDeserializer,BeanDeserializerBase,BuilderBasedDeserializer,ByteBufferDeserializer,CollectionDeserializer,ContainerDeserializerBase,CoreXMLDeserializers.Std,DataHandlerDeserializer,DateDeserializers.CalendarDeserializer,DateDeserializers.DateBasedDeserializer,DateDeserializers.DateDeserializer,DateDeserializers.SqlDateDeserializer,DateDeserializers.TimestampDeserializer,DelegatingDeserializer,DOMDeserializer,DOMDeserializer.DocumentDeserializer,DOMDeserializer.NodeDeserializer,DurationDeserializer,EnumDeserializer,EnumMapDeserializer,EnumSetDeserializer,ErrorThrowingDeserializer,FailingDeserializer,FromStringDeserializer,FromStringDeserializer.Std,InstantDeserializer,JsonDeserializer,JsonDeserializer.None,JsonNodeDeserializer,JSR310DateTimeDeserializerBase,JSR310StringParsableDeserializer,LocalDateDeserializer,LocalDateTimeDeserializer,LocalTimeDeserializer,MapDeserializer,MapEntryDeserializer,MonthDayDeserializer,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,OffsetTimeDeserializer,OneBasedMonthDeserializer,OptionalIntDeserializer,OptionalLongDeserializer,PrimitiveArrayDeserializers,ReferenceTypeDeserializer,StackTraceElementDeserializer,StdDelegatingDeserializer,StdDeserializer,StdNodeBasedDeserializer,StdScalarDeserializer,StringArrayDeserializer,StringCollectionDeserializer,StringDeserializer,ThrowableDeserializer,TokenBufferDeserializer,TypeWrappedDeserializer,UnsupportedTypeDeserializer,UntypedObjectDeserializer,UntypedObjectDeserializer.Vanilla,UUIDDeserializer,YearDeserializer,YearMonthDeserializer
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(com.fasterxml.jackson.databind.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(com.fasterxml.jackson.databind.DeserializationContext).- Throws:
JsonMappingException- Since:
- 2.13
-