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, withSimpleNamepublic com.fasterxml.jackson.databind.deser.SettableBeanProperty withValueDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)
withValueDeserializer in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic com.fasterxml.jackson.databind.deser.SettableBeanProperty withName(com.fasterxml.jackson.databind.PropertyName newName)
withName in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic com.fasterxml.jackson.databind.deser.SettableBeanProperty withNullProvider(com.fasterxml.jackson.databind.deser.NullValueProvider nva)
withNullProvider in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic com.fasterxml.jackson.databind.introspect.AnnotatedMember getMember()
getMember in interface com.fasterxml.jackson.databind.BeanPropertygetMember in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic <A extends Annotation> A getAnnotation(Class<A> acls)
getAnnotation in interface com.fasterxml.jackson.databind.BeanPropertygetAnnotation in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic void fixAccess(com.fasterxml.jackson.databind.DeserializationConfig config)
fixAccess in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic void markAsIgnorable()
markAsIgnorable in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic boolean isIgnorable()
isIgnorable in class com.fasterxml.jackson.databind.deser.SettableBeanPropertypublic 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.SettableBeanPropertyIOExceptionpublic 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.SettableBeanPropertyIOExceptionpublic void set(Object instance, Object value) throws IOException
set in class com.fasterxml.jackson.databind.deser.SettableBeanPropertyIOExceptionpublic Object setAndReturn(Object instance, Object value) throws IOException
setAndReturn in class com.fasterxml.jackson.databind.deser.SettableBeanPropertyIOExceptionCopyright © 2015–2024 Red Hat. All rights reserved.