com.fasterxml.jackson.databind.deser.impl

## Class InnerClassProperty

- 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.databind.deser.impl.InnerClassProperty

All Implemented Interfaces:
  BeanProperty, Named, Serializable

    public final class InnerClassProperty
    extends SettableBeanProperty.Delegating

This sub-class is used to handle special case of value being a non-static inner class. If so, we will have to use a special alternative for default constructor; but otherwise can delegate to regular implementation.

See Also:
  Serialized Form

### Nested Class Summary

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

`SettableBeanProperty.Delegating`

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

`BeanProperty.Bogus, BeanProperty.Std`

### Field Summary

Fields
`protected AnnotatedConstructor` `_annotated` Serializable version of single-arg constructor we use for value instantiation.
`protected Constructor<?>` `_creator` Constructor used when deserializing this property.

### 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
`protected` `InnerClassProperty(SettableBeanProperty src, AnnotatedConstructor ann)` Constructor used with JDK Serialization; needed to handle transient Constructor, wrap/unwrap in/out-of Annotated variant.
`` `InnerClassProperty(SettableBeanProperty delegate, Constructor<?> ctor)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `deserializeAndSet(JsonParser p, DeserializationContext ctxt, Object bean)` Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism.
`Object` `deserializeSetAndReturn(JsonParser p, DeserializationContext ctxt, Object instance)` Alternative to `SettableBeanProperty.deserializeAndSet(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.Object)` that returns either return value of setter method called (if one is), or null to indicate that no return value is available.
`protected SettableBeanProperty` `withDelegate(SettableBeanProperty d)` Method sub-classes must implement, to construct a new instance with given delegate.

### 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, set, setAndReturn, visibleInView, withName, withNullProvider, withValueDeserializer`

### 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, unwrapped, 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

#### _creator

    protected final transient Constructor<?> _creator

Constructor used when deserializing this property. Transient since there is no need to persist; only needed during construction of objects.

#### _annotated

    protected AnnotatedConstructor _annotated

Serializable version of single-arg constructor we use for value instantiation.

### Constructor Detail

#### InnerClassProperty

    public InnerClassProperty(SettableBeanProperty delegate,
                              Constructor<?> ctor)

#### InnerClassProperty

    protected InnerClassProperty(SettableBeanProperty src,
                                 AnnotatedConstructor ann)

Constructor used with JDK Serialization; needed to handle transient Constructor, wrap/unwrap in/out-of Annotated variant.

### Method Detail

#### withDelegate

    protected SettableBeanProperty withDelegate(SettableBeanProperty d)

Description copied from class: `SettableBeanProperty.Delegating`
Method sub-classes must implement, to construct a new instance with given delegate.

Specified by:
  `withDelegate` in class `SettableBeanProperty.Delegating`

#### deserializeAndSet

    public void deserializeAndSet(JsonParser p,
                                  DeserializationContext ctxt,
                                  Object bean)
                           throws IOException

Description copied from class: `SettableBeanProperty`
Method called to deserialize appropriate value, given parser (and context), and set it using appropriate mechanism. Pre-condition is that passed parser must point to the first token that should be consumed to produce the value (the only value for scalars, multiple for Objects and Arrays).

Overrides:
  `deserializeAndSet` in class `SettableBeanProperty.Delegating`
Throws:
  `IOException`

#### deserializeSetAndReturn

    public Object deserializeSetAndReturn(JsonParser p,
                                          DeserializationContext ctxt,
                                          Object instance)
                                   throws IOException

Description copied from class: `SettableBeanProperty`
Alternative to `SettableBeanProperty.deserializeAndSet(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext, java.lang.Object)` that returns either return value of setter method called (if one is), or null to indicate that no return value is available. Mostly used to support Builder style deserialization.

Overrides:
  `deserializeSetAndReturn` in class `SettableBeanProperty.Delegating`
Throws:
  `IOException`