Class BeanDeserializer

    • Field Detail

      • _nullFromCreator

        protected transient java.lang.Exception _nullFromCreator
        Lazily constructed exception used as root cause if reporting problem with creator method that returns null (which is not allowed)
        Since:
        2.8
    • Method Detail

      • unwrappingDeserializer

        public JsonDeserializer<java.lang.Object> unwrappingDeserializer​(NameTransformer transformer)
        Description copied from class: JsonDeserializer
        Method that will return deserializer instance that is able to handle "unwrapped" value instances If no unwrapped instance can be constructed, will simply return this object as-is.

        Default implementation just returns 'this' indicating that no unwrapped variant exists

        Specified by:
        unwrappingDeserializer in class BeanDeserializerBase
      • deserialize

        public java.lang.Object deserialize​(com.fasterxml.jackson.core.JsonParser p,
                                            DeserializationContext ctxt)
                                     throws java.io.IOException
        Main deserialization method for bean-based objects (POJOs).
        Specified by:
        deserialize in class JsonDeserializer<java.lang.Object>
        Parameters:
        p - Parsed used for reading JSON content
        ctxt - Context that can be used to access information about this deserialization activity.
        Returns:
        Deserialized value
        Throws:
        java.io.IOException
      • _deserializeOther

        protected final java.lang.Object _deserializeOther​(com.fasterxml.jackson.core.JsonParser p,
                                                           DeserializationContext ctxt,
                                                           com.fasterxml.jackson.core.JsonToken t)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _missingToken

        @Deprecated
        protected java.lang.Object _missingToken​(com.fasterxml.jackson.core.JsonParser p,
                                                 DeserializationContext ctxt)
                                          throws java.io.IOException
        Deprecated.
        Throws:
        java.io.IOException
      • deserialize

        public java.lang.Object deserialize​(com.fasterxml.jackson.core.JsonParser p,
                                            DeserializationContext ctxt,
                                            java.lang.Object bean)
                                     throws java.io.IOException
        Secondary deserialization method, called in cases where POJO instance is created as part of deserialization, potentially after collecting some or all of the properties to set.
        Overrides:
        deserialize in class JsonDeserializer<java.lang.Object>
        Throws:
        java.io.IOException
      • deserializeFromObject

        public java.lang.Object deserializeFromObject​(com.fasterxml.jackson.core.JsonParser p,
                                                      DeserializationContext ctxt)
                                               throws java.io.IOException
        General version used when handling needs more advanced features.
        Specified by:
        deserializeFromObject in class BeanDeserializerBase
        Throws:
        java.io.IOException
      • _deserializeUsingPropertyBased

        protected java.lang.Object _deserializeUsingPropertyBased​(com.fasterxml.jackson.core.JsonParser p,
                                                                  DeserializationContext ctxt)
                                                           throws java.io.IOException
        Method called to deserialize bean using "property-based creator": this means that a non-default constructor or factory method is called, and then possibly other setters. The trick is that values for creator method need to be buffered, first; and due to non-guaranteed ordering possibly some other properties as well.
        Specified by:
        _deserializeUsingPropertyBased in class BeanDeserializerBase
        Throws:
        java.io.IOException
      • _deserializeWithErrorWrapping

        protected final java.lang.Object _deserializeWithErrorWrapping​(com.fasterxml.jackson.core.JsonParser p,
                                                                       DeserializationContext ctxt,
                                                                       SettableBeanProperty prop)
                                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeFromNull

        protected java.lang.Object deserializeFromNull​(com.fasterxml.jackson.core.JsonParser p,
                                                       DeserializationContext ctxt)
                                                throws java.io.IOException
        Helper method called for rare case of pointing to JsonToken.VALUE_NULL token. While this is most often an erroneous condition, there is one specific case with XML handling where polymorphic type with no properties is exposed as such, and should be handled same as empty Object.
        Throws:
        java.io.IOException
        Since:
        2.7
      • deserializeWithView

        protected final java.lang.Object deserializeWithView​(com.fasterxml.jackson.core.JsonParser p,
                                                             DeserializationContext ctxt,
                                                             java.lang.Object bean,
                                                             java.lang.Class<?> activeView)
                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeWithUnwrapped

        protected java.lang.Object deserializeWithUnwrapped​(com.fasterxml.jackson.core.JsonParser p,
                                                            DeserializationContext ctxt)
                                                     throws java.io.IOException
        Method called when there are declared "unwrapped" properties which need special handling
        Throws:
        java.io.IOException
      • deserializeWithUnwrapped

        protected java.lang.Object deserializeWithUnwrapped​(com.fasterxml.jackson.core.JsonParser p,
                                                            DeserializationContext ctxt,
                                                            java.lang.Object bean)
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeUsingPropertyBasedWithUnwrapped

        protected java.lang.Object deserializeUsingPropertyBasedWithUnwrapped​(com.fasterxml.jackson.core.JsonParser p,
                                                                              DeserializationContext ctxt)
                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeWithExternalTypeId

        protected java.lang.Object deserializeWithExternalTypeId​(com.fasterxml.jackson.core.JsonParser p,
                                                                 DeserializationContext ctxt)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeWithExternalTypeId

        protected java.lang.Object deserializeWithExternalTypeId​(com.fasterxml.jackson.core.JsonParser p,
                                                                 DeserializationContext ctxt,
                                                                 java.lang.Object bean)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _deserializeWithExternalTypeId

        protected java.lang.Object _deserializeWithExternalTypeId​(com.fasterxml.jackson.core.JsonParser p,
                                                                  DeserializationContext ctxt,
                                                                  java.lang.Object bean,
                                                                  ExternalTypeHandler ext)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeUsingPropertyBasedWithExternalTypeId

        protected java.lang.Object deserializeUsingPropertyBasedWithExternalTypeId​(com.fasterxml.jackson.core.JsonParser p,
                                                                                   DeserializationContext ctxt)
                                                                            throws java.io.IOException
        Throws:
        java.io.IOException