java.lang.Object
tools.jackson.databind.deser.SettableAnyProperty
- Direct Known Subclasses:
SettableAnyProperty.JsonNodeFieldAnyProperty,SettableAnyProperty.JsonNodeParameterAnyProperty,SettableAnyProperty.MapFieldAnyProperty,SettableAnyProperty.MapParameterAnyProperty,SettableAnyProperty.MethodAnyProperty
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static class[databind#562] Allow @JsonAnySetter on Creator constructorprotected static classprotected static class[databind#562] Allow @JsonAnySetter on Creator constructorprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final KeyDeserializerprotected final BeanPropertyMethod used for setting "any" properties, along with annotation information.protected final AnnotatedMemberAnnotated variant is needed for JDK serialization onlyprotected final booleanprotected final JavaTypeprotected ValueDeserializer<Object>protected final TypeDeserializer -
Constructor Summary
ConstructorsConstructorDescriptionSettableAnyProperty(BeanProperty property, AnnotatedMember setter, JavaType type, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void_set(DeserializationContext ctxt, Object instance, Object propName, Object value) protected void_throwAsIOE(DeserializationContext ctxt, Throwable t, Object propName, Object value) static SettableAnyPropertyconstructForJsonNodeField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, ValueDeserializer<Object> valueDeser) static SettableAnyPropertyconstructForJsonNodeParameter(DeserializationContext ctxt, BeanProperty prop, AnnotatedMember mutator, JavaType valueType, ValueDeserializer<Object> valueDeser, int parameterIndex) static SettableAnyPropertyconstructForMapField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser) static SettableAnyPropertyconstructForMapParameter(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser, int parameterIndex) static SettableAnyPropertyconstructForMethod(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser) Create an instance of value to pass through Creator parameter.deserialize(JsonParser p, DeserializationContext ctxt) voiddeserializeAndSet(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) intAccessor for parameterIndex.getType()booleanbooleanMethod called to check whether this property is fieldbooleanMethod called to check whether this property is methodvoidset(DeserializationContext ctxt, Object instance, Object propName, Object value) toString()abstract SettableAnyProperty
-
Field Details
-
_property
Method used for setting "any" properties, along with annotation information. Retained to allow contextualization of any properties. -
_setter
Annotated variant is needed for JDK serialization only -
_setterIsField
protected final boolean _setterIsField -
_type
-
_valueDeserializer
-
_valueTypeDeserializer
-
_keyDeserializer
-
-
Constructor Details
-
SettableAnyProperty
public SettableAnyProperty(BeanProperty property, AnnotatedMember setter, JavaType type, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser)
-
-
Method Details
-
constructForMethod
public static SettableAnyProperty constructForMethod(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser) -
constructForMapField
public static SettableAnyProperty constructForMapField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser) -
constructForJsonNodeField
public static SettableAnyProperty constructForJsonNodeField(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, ValueDeserializer<Object> valueDeser) -
constructForMapParameter
public static SettableAnyProperty constructForMapParameter(DeserializationContext ctxt, BeanProperty property, AnnotatedMember field, JavaType valueType, KeyDeserializer keyDeser, ValueDeserializer<Object> valueDeser, TypeDeserializer typeDeser, int parameterIndex) - Since:
- 2.18
-
constructForJsonNodeParameter
public static SettableAnyProperty constructForJsonNodeParameter(DeserializationContext ctxt, BeanProperty prop, AnnotatedMember mutator, JavaType valueType, ValueDeserializer<Object> valueDeser, int parameterIndex) -
withValueDeserializer
-
fixAccess
-
getProperty
-
hasValueDeserializer
public boolean hasValueDeserializer() -
getType
-
getPropertyName
-
getParameterIndex
public int getParameterIndex()Accessor for parameterIndex.- Returns:
- -1 if not a parameterized setter, otherwise index of parameter
- Since:
- 2.18
-
isFieldType
public boolean isFieldType()Method called to check whether this property is field- Since:
- 2.18.1
-
isSetterType
public boolean isSetterType()Method called to check whether this property is method- Returns:
- 2.18.2
-
createParameterObject
Create an instance of value to pass through Creator parameter.- Since:
- 2.18
-
deserializeAndSet
public void deserializeAndSet(JsonParser p, DeserializationContext ctxt, Object instance, String propName) throws JacksonException Method called to deserialize appropriate value, given parser (and context), and set it using appropriate method (a setter method).- Throws:
JacksonException
-
deserialize
- Throws:
JacksonException
-
set
public void set(DeserializationContext ctxt, Object instance, Object propName, Object value) throws JacksonException - Throws:
JacksonException
-
_set
protected abstract void _set(DeserializationContext ctxt, Object instance, Object propName, Object value) throws Exception - Throws:
Exception
-
_throwAsIOE
protected void _throwAsIOE(DeserializationContext ctxt, Throwable t, Object propName, Object value) throws JacksonException - Parameters:
t- Exception to re-throw or wrappropName- Name of property (from Json input) to setvalue- Value of the property- Throws:
JacksonException
-
toString
-