Class SettableAnyProperty

  • All Implemented Interfaces:
    java.io.Serializable

    public class SettableAnyProperty
    extends java.lang.Object
    implements java.io.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 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
      • _valueDeserializer

        protected JsonDeserializer<java.lang.Object> _valueDeserializer
      • _valueTypeDeserializer

        protected final TypeDeserializer _valueTypeDeserializer
      • _keyDeserializer

        protected final KeyDeserializer _keyDeserializer
        Since:
        2.9
    • Method Detail

      • hasValueDeserializer

        public boolean hasValueDeserializer()
      • deserializeAndSet

        public final void deserializeAndSet​(com.fasterxml.jackson.core.JsonParser p,
                                            DeserializationContext ctxt,
                                            java.lang.Object instance,
                                            java.lang.String propName)
                                     throws java.io.IOException
        Method 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
      • _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 wrap
        propName - Name of property (from Json input) to set
        value - Value of the property
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object