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 Modifier and Type Field Description protected KeyDeserializer_keyDeserializerprotected BeanProperty_propertyMethod used for setting "any" properties, along with annotation information.protected AnnotatedMember_setterAnnotated variant is needed for JDK serialization onlyprotected JavaType_typeprotected JsonDeserializer<Object>_valueDeserializerprotected TypeDeserializer_valueTypeDeserializer
-
Constructor Summary
Constructors Constructor 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_throwAsIOE(Exception e, Object propName, Object value)Objectdeserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)voiddeserializeAndSet(com.fasterxml.jackson.core.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).voidfixAccess(DeserializationConfig config)BeanPropertygetProperty()JavaTypegetType()booleanhasValueDeserializer()voidset(Object instance, Object propName, Object value)StringtoString()SettableAnyPropertywithValueDeserializer(JsonDeserializer<Object> deser)
-
-
-
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(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Object instance, String propName) throws IOExceptionMethod called to deserialize appropriate value, given parser (and context), and set it using appropriate method (a setter method).- Throws:
IOException
-
deserialize
public Object deserialize(com.fasterxml.jackson.core.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 wrappropName- Name of property (from Json input) to setvalue- Value of the property- Throws:
IOException
-
-