com.fasterxml.jackson.databind.deser

## Class SettableAnyProperty

- java.lang.Object
- - com.fasterxml.jackson.databind.deser.SettableAnyProperty

All Implemented Interfaces:
  Serializable

    public class SettableAnyProperty
    extends Object
    implements Serializable

Class that represents a "wildcard" set method which can be used to generically set values of otherwise unmapped (aka "unknown") properties read from Json content.

!!! Note: might make sense to refactor to share some code with `SettableBeanProperty`?

See Also:
  Serialized Form

### Field Summary

Fields
`protected KeyDeserializer` `_keyDeserializer`
`protected BeanProperty` `_property` Method used for setting "any" properties, along with annotation information.
`protected AnnotatedMember` `_setter` Annotated variant is needed for JDK serialization only
`protected JavaType` `_type`
`protected JsonDeserializer<Object>` `_valueDeserializer`
`protected TypeDeserializer` `_valueTypeDeserializer`

### Constructor Summary

Constructors
Constructor and Description
`SettableAnyProperty(BeanProperty property, AnnotatedMember setter, JavaType type, JsonDeserializer<Object> valueDeser, TypeDeserializer typeDeser)` Deprecated.
`SettableAnyProperty(BeanProperty property, AnnotatedMember setter, JavaType type, KeyDeserializer keyDeser, JsonDeserializer<Object> valueDeser, TypeDeserializer typeDeser)`

### Method Summary

Methods
`protected void` `_throwAsIOE(Exception e, Object propName, Object value)`
`Object` `deserialize(JsonParser p, DeserializationContext ctxt)`
`void` `deserializeAndSet(JsonParser p, DeserializationContext ctxt, Object instance, String propName)` Method called to deserialize appropriate value, given parser (and context), and set it using appropriate method (a setter method).
`void` `fixAccess(DeserializationConfig config)`
`BeanProperty` `getProperty()`
`JavaType` `getType()`
`boolean` `hasValueDeserializer()`
`void` `set(Object instance, Object propName, Object value)`
`String` `toString()`
`SettableAnyProperty` `withValueDeserializer(JsonDeserializer<Object> deser)`

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

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

### Field Detail

#### _property

    protected final BeanProperty _property

Method used for setting "any" properties, along with annotation information. Retained to allow contextualization of any properties.

#### _setter

    protected final AnnotatedMember _setter

Annotated variant is needed for JDK serialization only

#### _type

    protected final JavaType _type

#### _valueDeserializer

    protected JsonDeserializer<Object> _valueDeserializer

#### _valueTypeDeserializer

    protected final TypeDeserializer _valueTypeDeserializer

#### _keyDeserializer

    protected final KeyDeserializer _keyDeserializer

Since:
  2.9

### Constructor Detail

#### SettableAnyProperty

    public SettableAnyProperty(BeanProperty property,
                       AnnotatedMember setter,
                       JavaType type,
                       KeyDeserializer keyDeser,
                       JsonDeserializer<Object> valueDeser,
                       TypeDeserializer typeDeser)

#### SettableAnyProperty

    @Deprecated
    public SettableAnyProperty(BeanProperty property,
                                  AnnotatedMember setter,
                                  JavaType type,
                                  JsonDeserializer<Object> valueDeser,
                                  TypeDeserializer typeDeser)

Deprecated.

### Method Detail

#### withValueDeserializer

    public SettableAnyProperty withValueDeserializer(JsonDeserializer<Object> deser)

#### fixAccess

    public void fixAccess(DeserializationConfig config)

#### getProperty

    public BeanProperty getProperty()

#### hasValueDeserializer

    public boolean hasValueDeserializer()

#### getType

    public JavaType getType()

#### deserializeAndSet

    public final void deserializeAndSet(JsonParser p,
                         DeserializationContext ctxt,
                         Object instance,
                         String propName)
                                 throws IOException

Method called to deserialize appropriate value, given parser (and context), and set it using appropriate method (a setter method).

Throws:
  `IOException`

#### deserialize

    public Object deserialize(JsonParser p,
                     DeserializationContext ctxt)
                       throws IOException

Throws:
  `IOException`

#### set

    public void set(Object instance,
           Object propName,
           Object value)
             throws IOException

Throws:
  `IOException`

#### _throwAsIOE

    protected void _throwAsIOE(Exception e,
                   Object propName,
                   Object value)
                        throws IOException

Parameters:
  `e` - Exception to re-throw or wrap
  `propName` - Name of property (from Json input) to set
  `value` - Value of the property
Throws:
  `IOException`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`