com.fasterxml.jackson.databind.ser

Class PropertyBuilder

    • Field Detail

      • _defaultBean

        protected Object _defaultBean
        If a property has serialization inclusion value of JsonInclude.Include.NON_DEFAULT, we may need to know the default value of the bean, to know if property value equals default one.

        NOTE: only used if enclosing class defines NON_DEFAULT, but NOT if it is the global default OR per-property override.

      • _defaultInclusion

        protected final JsonInclude.Value _defaultInclusion
        Default inclusion mode for properties of the POJO for which properties are collected; possibly overridden on per-property basis. Combines global inclusion defaults and per-type (annotation and type-override) inclusion overrides.
      • _useRealPropertyDefaults

        protected final boolean _useRealPropertyDefaults
        Marker flag used to indicate that "real" default values are to be used for properties, as per per-type value inclusion of type NON_DEFAULT
        Since:
        2.8
    • Method Detail

      • getClassAnnotations

        public Annotations getClassAnnotations()
      • findSerializationType

        protected JavaType findSerializationType(Annotated a,
                                     boolean useStaticTyping,
                                     JavaType declaredType)
                                          throws JsonMappingException
        Method that will try to determine statically defined type of property being serialized, based on annotations (for overrides), and alternatively declared type (if static typing for serialization is enabled). If neither can be used (no annotations, dynamic typing), returns null.
        Throws:
        JsonMappingException
      • getDefaultBean

        protected Object getDefaultBean()
      • getPropertyDefaultValue

        @Deprecated
        protected Object getPropertyDefaultValue(String name,
                                                AnnotatedMember member,
                                                JavaType type)
        Deprecated. Since 2.8.5 since this will not allow determining difference between "no default instance" case and default being `null`.
        Accessor used to find out "default value" for given property, to use for comparing values to serialize, to determine whether to exclude value from serialization with inclusion type of JsonInclude.Include.NON_DEFAULT. This method is called when we specifically want to know default value within context of a POJO, when annotation is within containing class, and not for property or defined as global baseline.

        Note that returning of pseudo-type JsonInclude.Include.NON_EMPTY requires special handling.

        Since:
        2.7
      • getDefaultValue

        protected Object getDefaultValue(JavaType type)
        Accessor used to find out "default value" to use for comparing values to serialize, to determine whether to exclude value from serialization with inclusion type of JsonInclude.Include.NON_DEFAULT.

        Default logic is such that for primitives and wrapper types for primitives, expected defaults (0 for `int` and `java.lang.Integer`) are returned; for Strings, empty String, and for structured (Maps, Collections, arrays) and reference types, criteria JsonInclude.Include.NON_DEFAULT is used.

        Since:
        2.7

Copyright © 2008–2018 FasterXML. All rights reserved.