Class SettableAnyProperty
- java.lang.Object
-
- com.fasterxml.jackson.databind.deser.SettableAnyProperty
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
SettableAnyProperty.JsonNodeFieldAnyProperty,SettableAnyProperty.MapFieldAnyProperty,SettableAnyProperty.MethodAnyProperty
public abstract class SettableAnyProperty extends java.lang.Object implements java.io.SerializableClass 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: starting with 2.14, is
abstractclass with multiple concrete implementations- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classSettableAnyProperty.JsonNodeFieldAnyPropertyprotected static classSettableAnyProperty.MapFieldAnyPropertyprotected static classSettableAnyProperty.MethodAnyProperty
-
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 boolean_setterIsFieldprotected JavaType_typeprotected JsonDeserializer<java.lang.Object>_valueDeserializerprotected TypeDeserializer_valueTypeDeserializer
-
Constructor Summary
Constructors Constructor Description SettableAnyProperty(BeanProperty property, AnnotatedMember setter, JavaType type, KeyDeserializer keyDeser, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer typeDeser)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void_set(java.lang.Object instance, java.lang.Object propName, java.lang.Object value)protected void_throwAsIOE(java.lang.Exception e, java.lang.Object propName, java.lang.Object value)static SettableAnyPropertyconstructForJsonNodeField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, JsonDeserializer<java.lang.Object> valueDeser)static SettableAnyPropertyconstructForMapField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer typeDeser)static SettableAnyPropertyconstructForMethod(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer typeDeser)java.lang.Objectdeserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)voiddeserializeAndSet(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object instance, java.lang.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()java.lang.StringgetPropertyName()JavaTypegetType()booleanhasValueDeserializer()voidset(java.lang.Object instance, java.lang.Object propName, java.lang.Object value)java.lang.StringtoString()abstract SettableAnyPropertywithValueDeserializer(JsonDeserializer<java.lang.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
-
_setterIsField
protected final boolean _setterIsField
-
_type
protected final JavaType _type
-
_valueDeserializer
protected JsonDeserializer<java.lang.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<java.lang.Object> valueDeser, TypeDeserializer typeDeser)
-
-
Method Detail
-
constructForMethod
public static SettableAnyProperty constructForMethod(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer typeDeser)
- Since:
- 2.14
-
constructForMapField
public static SettableAnyProperty constructForMapField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer typeDeser)
- Since:
- 2.14
-
constructForJsonNodeField
public static SettableAnyProperty constructForJsonNodeField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, JsonDeserializer<java.lang.Object> valueDeser)
- Since:
- 2.14
-
withValueDeserializer
public abstract SettableAnyProperty withValueDeserializer(JsonDeserializer<java.lang.Object> deser)
-
fixAccess
public void fixAccess(DeserializationConfig config)
-
getProperty
public BeanProperty getProperty()
-
hasValueDeserializer
public boolean hasValueDeserializer()
-
getType
public JavaType getType()
-
getPropertyName
public java.lang.String getPropertyName()
- Since:
- 2.14
-
deserializeAndSet
public void deserializeAndSet(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object instance, java.lang.String propName) throws java.io.IOExceptionMethod called to deserialize appropriate value, given parser (and context), and set it using appropriate method (a setter method).- Throws:
java.io.IOException
-
deserialize
public java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException- Throws:
java.io.IOException
-
set
public void set(java.lang.Object instance, java.lang.Object propName, java.lang.Object value) throws java.io.IOException- Throws:
java.io.IOException
-
_set
protected abstract void _set(java.lang.Object instance, java.lang.Object propName, java.lang.Object value) throws java.lang.Exception- Throws:
java.lang.Exception
-
_throwAsIOE
protected void _throwAsIOE(java.lang.Exception e, java.lang.Object propName, java.lang.Object value) throws java.io.IOException- Parameters:
e- Exception to re-throw or wrappropName- Name of property (from Json input) to setvalue- Value of the property- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-