public class SettableBeanPropertyDelegate
extends com.fasterxml.jackson.databind.deser.SettableBeanProperty
SettableBeanProperty
delegate that is always tried first.
A fall-back mechanism is implemented in the deserializeAndSet methods to allow field values that don't match the target type to be preserved in the anySetter method if exists.
_contextAnnotations, _managedReferenceName, _nullProvider, _objectIdInfo, _propertyIndex, _propName, _type, _valueDeserializer, _valueTypeDeserializer, _viewMatcher, _wrapperName, MISSING_VALUE_DESERIALIZER
Modifier and Type | Method and Description |
---|---|
void |
deserializeAndSet(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt,
Object instance)
Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism.
|
Object |
deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt,
Object instance) |
void |
fixAccess(com.fasterxml.jackson.databind.DeserializationConfig config) |
<A extends Annotation> |
getAnnotation(Class<A> acls) |
com.fasterxml.jackson.databind.introspect.AnnotatedMember |
getMember() |
boolean |
isIgnorable() |
void |
markAsIgnorable() |
void |
set(Object instance,
Object value) |
Object |
setAndReturn(Object instance,
Object value) |
com.fasterxml.jackson.databind.deser.SettableBeanProperty |
withName(com.fasterxml.jackson.databind.PropertyName newName) |
com.fasterxml.jackson.databind.deser.SettableBeanProperty |
withNullProvider(com.fasterxml.jackson.databind.deser.NullValueProvider nva) |
com.fasterxml.jackson.databind.deser.SettableBeanProperty |
withValueDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser) |
_throwAsIOE, _throwAsIOE, _throwAsIOE, _throwAsIOE, assignIndex, depositSchemaProperty, deserialize, deserializeWith, getContextAnnotation, getCreatorIndex, getDeclaringClass, getFullName, getInjectableValueId, getManagedReferenceName, getName, getNullValueProvider, getObjectIdInfo, getPropertyIndex, getType, getValueDeserializer, getValueTypeDeserializer, getWrapperName, hasValueDeserializer, hasValueTypeDeserializer, hasViews, isInjectionOnly, setManagedReferenceName, setObjectIdInfo, setViews, toString, visibleInView, withSimpleName
public com.fasterxml.jackson.databind.deser.SettableBeanProperty withValueDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)
withValueDeserializer
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public com.fasterxml.jackson.databind.deser.SettableBeanProperty withName(com.fasterxml.jackson.databind.PropertyName newName)
withName
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public com.fasterxml.jackson.databind.deser.SettableBeanProperty withNullProvider(com.fasterxml.jackson.databind.deser.NullValueProvider nva)
withNullProvider
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public com.fasterxml.jackson.databind.introspect.AnnotatedMember getMember()
getMember
in interface com.fasterxml.jackson.databind.BeanProperty
getMember
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public <A extends Annotation> A getAnnotation(Class<A> acls)
getAnnotation
in interface com.fasterxml.jackson.databind.BeanProperty
getAnnotation
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public void fixAccess(com.fasterxml.jackson.databind.DeserializationConfig config)
fixAccess
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public void markAsIgnorable()
markAsIgnorable
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public boolean isIgnorable()
isIgnorable
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
public void deserializeAndSet(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Object instance) throws IOException
Deserialization is first tried through the delegate. In case a MismatchedInputException
is caught,
the field is stored in the bean's SettableAnyProperty
anySetter field if it exists.
This allows deserialization processes propagate values that initially don't match the target bean type for the applicable field.
An example use-case is the use of placeholders (e.g. ${aValue}
) in a field.
deserializeAndSet
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
IOException
public Object deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Object instance) throws IOException
deserializeSetAndReturn
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
IOException
public void set(Object instance, Object value) throws IOException
set
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
IOException
public Object setAndReturn(Object instance, Object value) throws IOException
setAndReturn
in class com.fasterxml.jackson.databind.deser.SettableBeanProperty
IOException
Copyright © 2015–2022 Red Hat. All rights reserved.