Class ContainerDeserializerBase<T>

    • Field Detail

      • _containerType

        protected final JavaType _containerType
      • _nullProvider

        protected final NullValueProvider _nullProvider
        Handler we need for dealing with nulls.
        Since:
        2.9
      • _skipNullValues

        protected final boolean _skipNullValues
        Marker flag set if the _nullProvider indicates that all null content values should be skipped (instead of being possibly converted).
        Since:
        2.9
      • _unwrapSingle

        protected final java.lang.Boolean _unwrapSingle
        Specific override for this instance (from proper, or global per-type overrides) to indicate whether single value may be taken to mean an unwrapped one-element array or not. If null, left to global defaults.
        Since:
        2.9 (demoted from sub-classes where added in 2.7)
    • Constructor Detail

      • ContainerDeserializerBase

        protected ContainerDeserializerBase​(JavaType selfType,
                                            NullValueProvider nuller,
                                            java.lang.Boolean unwrapSingle)
      • ContainerDeserializerBase

        protected ContainerDeserializerBase​(JavaType selfType)
    • Method Detail

      • supportsUpdate

        public java.lang.Boolean supportsUpdate​(DeserializationConfig config)
        Description copied from class: JsonDeserializer
        Introspection method that may be called to see whether deserializer supports update of an existing value (aka "merging") or not. Return value should either be Boolean.FALSE if update is not supported at all (immutable values); Boolean.TRUE if update should usually work (regular POJOs, for example), or null if this is either not known, or may sometimes work.

        Information gathered is typically used to either prevent merging update for property (either by skipping, if based on global defaults; or by exception during deserialization construction if explicit attempt made) if Boolean.FALSE returned, or inclusion if Boolean.TRUE is specified. If "unknown" case (null returned) behavior is to exclude property if global defaults used; or to allow if explicit per-type or property merging is defined.

        Default implementation returns null to allow explicit per-type or per-property attempts.

        Overrides:
        supportsUpdate in class JsonDeserializer<T>
      • getContentType

        public JavaType getContentType()
        Accessor for declared type of contained value elements; either exact type, or one of its supertypes.
      • getContentDeserializer

        public abstract JsonDeserializer<java.lang.Object> getContentDeserializer()
        Accesor for deserializer use for deserializing content values.
      • wrapAndThrow

        @Deprecated
        protected <BOGUS> BOGUS wrapAndThrow​(java.lang.Throwable t,
                                             java.lang.Object ref,
                                             java.lang.String key)
                                      throws java.io.IOException
        Deprecated.
        Since 2.12.2 (since it does not get context for accessing config)
        Throws:
        java.io.IOException
      • wrapAndThrow

        protected <BOGUS> BOGUS wrapAndThrow​(DeserializationContext ctxt,
                                             java.lang.Throwable t,
                                             java.lang.Object ref,
                                             java.lang.String key)
                                      throws java.io.IOException
        Helper method called by various Map(-like) deserializers when encountering a processing problem (whether from underlying parser, i/o, or something else).
        Throws:
        java.io.IOException
        Since:
        2.12.2