public class AtomicReferenceDeserializer extends ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
JsonDeserializer.None
Constructor and Description |
---|
AtomicReferenceDeserializer(JavaType fullType,
ValueInstantiator inst,
TypeDeserializer typeDeser,
JsonDeserializer<?> deser) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getEmptyValue(DeserializationContext ctxt)
Method called to determine value to be used for "empty" values
(most commonly when deserializing from empty JSON Strings).
|
java.util.concurrent.atomic.AtomicReference<java.lang.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 ). |
java.lang.Object |
getReferenced(java.util.concurrent.atomic.AtomicReference<java.lang.Object> reference)
Method that may be called to find contents of specified reference,
if any; or `null` if none.
|
java.util.concurrent.atomic.AtomicReference<java.lang.Object> |
referenceValue(java.lang.Object contents) |
java.lang.Boolean |
supportsUpdate(DeserializationConfig config)
By default we assume that updateability mostly relies on value
deserializer; if it supports updates, typically that's what
matters.
|
java.util.concurrent.atomic.AtomicReference<java.lang.Object> |
updateReference(java.util.concurrent.atomic.AtomicReference<java.lang.Object> reference,
java.lang.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, getValueType
getValueClass, handledType
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.
public java.util.concurrent.atomic.AtomicReference<java.lang.Object> getNullValue(DeserializationContext ctxt)
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.
Since version 2.6 (in which the context argument was added), call is expected to be made each and every time a null token needs to be handled.
Default implementation simply returns null.
getNullValue
in interface NullValueProvider
getNullValue
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
public java.lang.Object getEmptyValue(DeserializationContext ctxt)
JsonDeserializer
JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
(which in turn
is usually simply Java null), but it can be overridden
for types. Or, if type should never be converted from empty
String, method can also throw an exception.
Since version 2.6 (in which the context argument was added), call is expected to be made each and every time an empty value is needed.
Since version 2.9 does not require return of `T` any more.
Default implementation simply calls JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
and
returns value.
getEmptyValue
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
public java.util.concurrent.atomic.AtomicReference<java.lang.Object> referenceValue(java.lang.Object contents)
referenceValue
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
public java.lang.Object getReferenced(java.util.concurrent.atomic.AtomicReference<java.lang.Object> reference)
ReferenceTypeDeserializer
getReferenced
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
public java.util.concurrent.atomic.AtomicReference<java.lang.Object> updateReference(java.util.concurrent.atomic.AtomicReference<java.lang.Object> reference, java.lang.Object contents)
ReferenceTypeDeserializer
updateReference
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
public java.lang.Boolean supportsUpdate(DeserializationConfig config)
ReferenceTypeDeserializer
supportsUpdate
in class ReferenceTypeDeserializer<java.util.concurrent.atomic.AtomicReference<java.lang.Object>>
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"