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.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.ShortDeserializer
,ObjectArrayDeserializer
,OffsetTimeDeserializer
,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 byJsonDeserializer
(as a mix-in interface), but also by converters used to support more configurable null replacement.- Since:
- 2.9
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.lang.Object
getAbsentValue(DeserializationContext ctxt)
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.AccessPattern
getNullAccessPattern()
Accessor that may be used to determine if and when provider must be called to access null replacement value.java.lang.Object
getNullValue(DeserializationContext ctxt)
Method called to possibly convert incoming `null` token (read via underlying streaming input source) into other value of type accessor supports.
-
-
-
Method Detail
-
getNullValue
java.lang.Object getNullValue(DeserializationContext ctxt) throws JsonMappingException
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
default java.lang.Object getAbsentValue(DeserializationContext ctxt) throws JsonMappingException
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
-
-