com.fasterxml.jackson.databind.deser.std

## 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, Serializable

Direct Known Subclasses:
  AtomicBooleanDeserializer, AtomicIntegerDeserializer, AtomicLongDeserializer, ByteBufferDeserializer, DateDeserializers.DateBasedDeserializer, EnumDeserializer, FromStringDeserializer, NioPathDeserializer, NumberDeserializers.BigDecimalDeserializer, NumberDeserializers.BigIntegerDeserializer, NumberDeserializers.NumberDeserializer, NumberDeserializers.PrimitiveOrWrapperDeserializer, 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`

### Field Summary

### Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

`_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS`

### Constructor Summary

Constructors
`protected` `StdScalarDeserializer(Class<?> vc)`
`protected` `StdScalarDeserializer(JavaType valueType)`
`protected` `StdScalarDeserializer(StdScalarDeserializer<?> src)`

### Method Summary

All Methods Instance Methods Concrete Methods
`T` `deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, T intoValue)` Overridden to simply call `deserialize()` method that does not take value to update, since scalar values are usually non-mergeable.
`Object` `deserializeWithType(com.fasterxml.jackson.core.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 to `JsonDeserializer.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 to `JsonDeserializer.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.
`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

`_byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _failDoubleToIntCoercion, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isEmptyOrTextualNull, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer`

### Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

`deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### StdScalarDeserializer

    protected StdScalarDeserializer(Class<?> vc)

#### StdScalarDeserializer

    protected StdScalarDeserializer(JavaType valueType)

#### StdScalarDeserializer

    protected StdScalarDeserializer(StdScalarDeserializer<?> src)

### 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 class `JsonDeserializer<T>`
Returns:
  Logical type of values this deserializer produces, if known; `null` if not

#### supportsUpdate

    public 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 class `JsonDeserializer<T>`

#### getNullAccessPattern

    public AccessPattern getNullAccessPattern()

Description copied from class: `JsonDeserializer`
This method may be called in conjunction with calls to `JsonDeserializer.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 interface `NullValueProvider`
Overrides:
  `getNullAccessPattern` in class `JsonDeserializer<T>`

#### getEmptyAccessPattern

    public AccessPattern getEmptyAccessPattern()

Description copied from class: `JsonDeserializer`
This method may be called in conjunction with calls to `JsonDeserializer.getEmptyValue(DeserializationContext)`, to check whether it needs to be called just once (static values), or each time empty value is needed.

Overrides:
  `getEmptyAccessPattern` in class `JsonDeserializer<T>`

#### deserializeWithType

    public Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p,
                                      DeserializationContext ctxt,
                                      TypeDeserializer typeDeserializer)
                               throws 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 class `StdDeserializer<T>`
  `typeDeserializer` - Deserializer to use for handling type information
Throws:
  `IOException`

#### deserialize

    public T deserialize(com.fasterxml.jackson.core.JsonParser p,
                         DeserializationContext ctxt,
                         T intoValue)
                  throws IOException

Overridden to simply call `deserialize()` method that does not take value to update, since scalar values are usually non-mergeable.

Overrides:
  `deserialize` in class `JsonDeserializer<T>`
Throws:
  `IOException`