public class AtomicReferenceDeserializer extends ReferenceTypeDeserializer<AtomicReference<Object>>
JsonDeserializer.None
_fullType, _valueDeserializer, _valueInstantiator, _valueTypeDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
Constructor and Description |
---|
AtomicReferenceDeserializer(JavaType fullType,
ValueInstantiator inst,
TypeDeserializer typeDeser,
JsonDeserializer<?> deser) |
Modifier and Type | Method and Description |
---|---|
Object |
getEmptyValue(DeserializationContext ctxt)
Method called to determine value to be used for "empty" values
(most commonly when deserializing from empty JSON Strings).
|
AtomicReference<Object> |
getNullValue(DeserializationContext ctxt)
Method that can be called to determine value to be used for
representing null values (values deserialized when JSON token
is
JsonToken.VALUE_NULL ). |
Object |
getReferenced(AtomicReference<Object> reference)
Method that may be called to find contents of specified reference,
if any; or `null` if none.
|
AtomicReference<Object> |
referenceValue(Object contents) |
Boolean |
supportsUpdate(DeserializationConfig config)
By default we assume that updateability mostly relies on value
deserializer; if it supports updates, typically that's what
matters.
|
AtomicReference<Object> |
updateReference(AtomicReference<Object> reference,
Object contents)
Method called in case of "merging update", in which we should try
update reference instead of creating a new one.
|
AtomicReferenceDeserializer |
withResolved(TypeDeserializer typeDeser,
JsonDeserializer<?> valueDeser)
Mutant factory method called when changes are needed; should construct
newly configured instance with new values as indicated.
|
createContextual, deserialize, deserialize, deserializeWithType, getEmptyAccessPattern, getNullAccessPattern, getValueInstantiator, getValueType, logicalType
_byteOverflow, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkTextualNull, _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, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer
deserializeWithType, findBackReference, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
public AtomicReferenceDeserializer(JavaType fullType, ValueInstantiator inst, TypeDeserializer typeDeser, JsonDeserializer<?> deser)
public AtomicReferenceDeserializer withResolved(TypeDeserializer typeDeser, JsonDeserializer<?> valueDeser)
ReferenceTypeDeserializer
NOTE: caller has verified that there are changes, so implementations need NOT check if a new instance is needed.
withResolved
in class ReferenceTypeDeserializer<AtomicReference<Object>>
public AtomicReference<Object> getNullValue(DeserializationContext ctxt) throws JsonMappingException
JsonDeserializer
JsonToken.VALUE_NULL
). Usually this is simply
Java null, but for some types (especially primitives) it may be
necessary to use non-null values.
This method may be called once, or multiple times, depending on what
JsonDeserializer.getNullAccessPattern()
returns.
Default implementation simply returns null.
getNullValue
in interface NullValueProvider
getNullValue
in class ReferenceTypeDeserializer<AtomicReference<Object>>
JsonMappingException
public Object getEmptyValue(DeserializationContext ctxt) throws JsonMappingException
JsonDeserializer
JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
(which in turn
is usually simply Java null), but it can be overridden
for specific types. Or, if type should never be converted from empty
String, method can also throw an exception.
This method may be called once, or multiple times, depending on what
JsonDeserializer.getEmptyAccessPattern()
returns.
Default implementation simply calls JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
and
returns value.
getEmptyValue
in class ReferenceTypeDeserializer<AtomicReference<Object>>
JsonMappingException
public AtomicReference<Object> referenceValue(Object contents)
referenceValue
in class ReferenceTypeDeserializer<AtomicReference<Object>>
public Object getReferenced(AtomicReference<Object> reference)
ReferenceTypeDeserializer
getReferenced
in class ReferenceTypeDeserializer<AtomicReference<Object>>
public AtomicReference<Object> updateReference(AtomicReference<Object> reference, Object contents)
ReferenceTypeDeserializer
updateReference
in class ReferenceTypeDeserializer<AtomicReference<Object>>
public Boolean supportsUpdate(DeserializationConfig config)
ReferenceTypeDeserializer
supportsUpdate
in class ReferenceTypeDeserializer<AtomicReference<Object>>
Copyright © 2008–2024 FasterXML. All rights reserved.