Class StdScalarDeserializer<T>
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer<T>
-
- All Implemented Interfaces:
NullValueProvider
,ValueInstantiator.Gettable
,java.io.Serializable
- Direct Known Subclasses:
AtomicBooleanDeserializer
,AtomicIntegerDeserializer
,AtomicLongDeserializer
,ByteBufferDeserializer
,DateDeserializers.CalendarDeserializer
,DateDeserializers.DateDeserializer
,DateDeserializers.SqlDateDeserializer
,DateDeserializers.TimestampDeserializer
,DurationDeserializer
,EnumDeserializer
,FromStringDeserializer
,JSR310DateTimeDeserializerBase
,JSR310StringParsableDeserializer
,NioPathDeserializer
,NumberDeserializers.BigDecimalDeserializer
,NumberDeserializers.BigIntegerDeserializer
,NumberDeserializers.BooleanDeserializer
,NumberDeserializers.ByteDeserializer
,NumberDeserializers.CharacterDeserializer
,NumberDeserializers.DoubleDeserializer
,NumberDeserializers.FloatDeserializer
,NumberDeserializers.IntegerDeserializer
,NumberDeserializers.LongDeserializer
,NumberDeserializers.NumberDeserializer
,NumberDeserializers.ShortDeserializer
,StackTraceElementDeserializer
,StringDeserializer
,TokenBufferDeserializer
public abstract class StdScalarDeserializer<T> extends StdDeserializer<T>
Base class for deserializers that handle types that are serialized as JSON scalars (non-structured, i.e. non-Object, non-Array, values).- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
JsonDeserializer.None
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
deserialize(JsonParser p, DeserializationContext ctxt, T intoValue)
Overridden to simply calldeserialize()
method that does not take value to update, since scalar values are usually non-mergeable.java.lang.Object
deserializeWithType(JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)
Base implementation that does not assume specific type inclusion mechanism.AccessPattern
getEmptyAccessPattern()
This method may be called in conjunction with calls toJsonDeserializer.getEmptyValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.AccessPattern
getNullAccessPattern()
This method may be called in conjunction with calls toJsonDeserializer.getNullValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.LogicalType
logicalType()
Method for accessing logical type of values this deserializer produces.java.lang.Boolean
supportsUpdate(DeserializationConfig config)
By default assumption is that scalar types cannot be updated: many are immutable values (such as primitives and wrappers)-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
getValueClass, getValueInstantiator, getValueType, getValueType, handledType
-
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
-
-
-
-
Method Detail
-
logicalType
public LogicalType logicalType()
Description copied from class:JsonDeserializer
Method for accessing logical type of values this deserializer produces. Typically used for further configuring handling of values, for example, to find which coercions are legal.- Overrides:
logicalType
in classJsonDeserializer<T>
- Returns:
- Logical type of values this deserializer produces, if known;
null
if not
-
supportsUpdate
public java.lang.Boolean supportsUpdate(DeserializationConfig config)
By default assumption is that scalar types cannot be updated: many are immutable values (such as primitives and wrappers)- Overrides:
supportsUpdate
in classJsonDeserializer<T>
-
getNullAccessPattern
public AccessPattern getNullAccessPattern()
Description copied from class:JsonDeserializer
This method may be called in conjunction with calls toJsonDeserializer.getNullValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.Default implementation indicates that the "null value" to use for input null does not vary across uses so that
JsonDeserializer.getNullValue(DeserializationContext)
need not be called more than once per deserializer instance. This information may be used as optimization.- Specified by:
getNullAccessPattern
in interfaceNullValueProvider
- Overrides:
getNullAccessPattern
in classJsonDeserializer<T>
-
getEmptyAccessPattern
public AccessPattern getEmptyAccessPattern()
Description copied from class:JsonDeserializer
This method may be called in conjunction with calls toJsonDeserializer.getEmptyValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.- Overrides:
getEmptyAccessPattern
in classJsonDeserializer<T>
-
deserializeWithType
public java.lang.Object deserializeWithType(JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws java.io.IOException
Description copied from class:StdDeserializer
Base implementation that does not assume specific type inclusion mechanism. Sub-classes are expected to override this method if they are to handle type information.- Overrides:
deserializeWithType
in classStdDeserializer<T>
typeDeserializer
- Deserializer to use for handling type information- Throws:
java.io.IOException
-
deserialize
public T deserialize(JsonParser p, DeserializationContext ctxt, T intoValue) throws java.io.IOException
Overridden to simply calldeserialize()
method that does not take value to update, since scalar values are usually non-mergeable.- Overrides:
deserialize
in classJsonDeserializer<T>
- Throws:
java.io.IOException
-
-