com.fasterxml.jackson.module.afterburner.deser

## Class SettableObjectFieldProperty

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
  - - com.fasterxml.jackson.databind.deser.SettableBeanProperty
    - - com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating
      - - com.fasterxml.jackson.module.afterburner.deser.SettableObjectFieldProperty

- All Implemented Interfaces:
    com.fasterxml.jackson.databind.BeanProperty, com.fasterxml.jackson.databind.util.Named, Serializable

      public final class SettableObjectFieldProperty
      extends com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty

      `com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating`

    - ### Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.BeanProperty

      `com.fasterxml.jackson.databind.BeanProperty.Bogus, com.fasterxml.jackson.databind.BeanProperty.Std`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `_optimizedIndex`
    `protected BeanPropertyMutator` | `_propertyMutator`
    `protected boolean` | `_skipNulls`

    - ### Fields inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating

      `delegate`

    - ### Fields inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty

      `_contextAnnotations, _managedReferenceName, _nullProvider, _objectIdInfo, _propertyIndex, _propName, _type, _valueDeserializer, _valueTypeDeserializer, _viewMatcher, _wrapperName, MISSING_VALUE_DESERIALIZER`

    - ### Fields inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

      `_aliases, _metadata`

    - ### Fields inherited from interface com.fasterxml.jackson.databind.BeanProperty

      `EMPTY_FORMAT, EMPTY_INCLUDE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SettableObjectFieldProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty src, BeanPropertyMutator mutator, int index)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `_isDefaultDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)` Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding custom deserializers.
    `protected void` | `_reportProblem(Object bean, Object value, Throwable e)` Helper method called when an exception is throw from mutator, to figure out what to do.
    `void` | `deserializeAndSet(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Object bean)`
    `Object` | `deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Object instance)`
    `int` | `getOptimizedIndex()`
    `void` | `set(Object bean, Object v)`
    `Object` | `setAndReturn(Object instance, Object value)`
    `protected com.fasterxml.jackson.databind.deser.SettableBeanProperty` | `withDelegate(com.fasterxml.jackson.databind.deser.SettableBeanProperty del)`
    `com.fasterxml.jackson.databind.deser.SettableBeanProperty` | `withMutator(BeanPropertyMutator mut)`
    `com.fasterxml.jackson.databind.deser.SettableBeanProperty` | `withValueDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)`

    - ### Methods inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating

      `_with, assignIndex, fixAccess, getAnnotation, getCreatorIndex, getDeclaringClass, getDelegate, getInjectableValueId, getManagedReferenceName, getMember, getObjectIdInfo, getPropertyIndex, getValueDeserializer, getValueTypeDeserializer, hasValueDeserializer, hasValueTypeDeserializer, hasViews, isInjectionOnly, visibleInView, withName, withNullProvider`

    - ### Methods inherited from class com.fasterxml.jackson.databind.deser.SettableBeanProperty

      `_throwAsIOE, _throwAsIOE, _throwAsIOE, _throwAsIOE, depositSchemaProperty, deserialize, deserializeWith, getContextAnnotation, getFullName, getName, getNullValueProvider, getType, getWrapperName, isIgnorable, markAsIgnorable, setManagedReferenceName, setObjectIdInfo, setViews, toString, withSimpleName`

    - ### Methods inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

      `findAliases, findFormatOverrides, findPropertyFormat, findPropertyInclusion, getMetadata, isRequired, isVirtual`

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

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

- - ### Field Detail

    - #### _propertyMutator

          protected BeanPropertyMutator _propertyMutator

    - #### _optimizedIndex

          protected final int _optimizedIndex

    - #### _skipNulls

          protected final boolean _skipNulls

      Since:
        2.9

  - ### Constructor Detail

    - #### SettableObjectFieldProperty

          public SettableObjectFieldProperty(com.fasterxml.jackson.databind.deser.SettableBeanProperty src,
                                             BeanPropertyMutator mutator,
                                             int index)

  - ### Method Detail

    - #### withDelegate

          protected com.fasterxml.jackson.databind.deser.SettableBeanProperty withDelegate(com.fasterxml.jackson.databind.deser.SettableBeanProperty del)

    - #### withMutator

          public com.fasterxml.jackson.databind.deser.SettableBeanProperty withMutator(BeanPropertyMutator mut)

    - #### deserializeAndSet

          public void deserializeAndSet(com.fasterxml.jackson.core.JsonParser p,
                                        com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                        Object bean)
                                 throws IOException

      Throws:
        `IOException`

    - #### deserializeSetAndReturn

          public Object deserializeSetAndReturn(com.fasterxml.jackson.core.JsonParser p,
                                                com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                Object instance)
                                         throws IOException

      Throws:
        `IOException`

    - #### set

          public void set(Object bean,
                          Object v)
                   throws IOException

      Throws:
        `IOException`

    - #### withValueDeserializer

          public final com.fasterxml.jackson.databind.deser.SettableBeanProperty withValueDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)

      Overrides:
        `withValueDeserializer` in class `com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating`

    - #### setAndReturn

          public Object setAndReturn(Object instance,
                                     Object value)
                              throws IOException

      Overrides:
        `setAndReturn` in class `com.fasterxml.jackson.databind.deser.SettableBeanProperty.Delegating`
      Throws:
        `IOException`

    - #### getOptimizedIndex

          public int getOptimizedIndex()

    - #### _reportProblem

          protected void _reportProblem(Object bean,
                                        Object value,
                                        Throwable e)
                                 throws IOException

      Helper method called when an exception is throw from mutator, to figure out what to do.
      Throws:
        `IOException`
      Since:
        2.9

    - #### _isDefaultDeserializer

          protected boolean _isDefaultDeserializer(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)

      Helper method used to check whether given deserializer is the default deserializer implementation: this is necessary to avoid overriding custom deserializers.

Copyright © 2022 FasterXML. All rights reserved.