com.fasterxml.jackson.databind.introspect

Class POJOPropertiesCollector

  • java.lang.Object
    • com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector


  • public class POJOPropertiesCollector
    extends Object
    Helper class used for aggregating information about all possible properties of a POJO.
    • Field Detail

      • _config

        protected final MapperConfig<?> _config
        Configuration settings
      • _accessorNaming

        protected final AccessorNamingStrategy _accessorNaming
        Handler used for name-mangling of getter, mutator (setter/with) methods
        Since:
        2.12
      • _forSerialization

        protected final boolean _forSerialization
        True if introspection is done for serialization (giving precedence for serialization annotations), or not (false, deserialization)
      • _type

        protected final JavaType _type
        Type of POJO for which properties are being collected.
      • _classDef

        protected final AnnotatedClass _classDef
        Low-level introspected class information (methods, fields etc)
      • _useAnnotations

        protected final boolean _useAnnotations
        Since:
        2.9
      • _isRecordType

        protected final boolean _isRecordType
        Since:
        2.15
      • _collected

        protected boolean _collected
        State flag we keep to indicate whether actual property information has been collected or not.
      • _properties

        protected LinkedHashMap<String,POJOPropertyBuilder> _properties
        Set of logical property information collected so far.

        Since 2.6, this has been constructed (more) lazily, to defer throwing of exceptions for potential conflicts in cases where this may not be an actual problem.

      • _fieldRenameMappings

        protected Map<PropertyName,PropertyName> _fieldRenameMappings
        A set of "field renamings" that have been discovered, indicating intended renaming of other accessors: key is the implicit original name and value intended name to use instead.

        Note that these renamings are applied earlier than "regular" (explicit) renamings and affect implicit name: their effect may be changed by further renaming based on explicit indicators. The main use case is to effectively relink accessors based on fields discovered, and used to sort of correct otherwise missing linkage between fields and other accessors.

        Since:
        2.11
      • _jsonKeyAccessors

        protected LinkedList<AnnotatedMember> _jsonKeyAccessors
        Accessors (field or "getter" method annotated with JsonKey
        Since:
        2.12
      • _jsonValueAccessors

        protected LinkedList<AnnotatedMember> _jsonValueAccessors
        Accessors (field or "getter" method) annotated with JsonValue
      • _ignoredPropertyNames

        protected HashSet<String> _ignoredPropertyNames
        Lazily collected list of properties that can be implicitly ignored during serialization; only updated when collecting information for deserialization purposes
      • _injectables

        protected LinkedHashMap<Object,AnnotatedMember> _injectables
        Lazily collected list of members that were annotated to indicate that they represent mutators for deserializer value injection.
      • _formatOverrides

        protected com.fasterxml.jackson.annotation.JsonFormat.Value _formatOverrides
        Lazily accessed information about POJO format overrides
        Since:
        2.17
      • _stdBeanNaming

        @Deprecated
        protected final boolean _stdBeanNaming
        Deprecated. Since 2.12
      • _mutatorPrefix

        @Deprecated
        protected String _mutatorPrefix
        Deprecated. Since 2.12

Copyright © 2008–2024 FasterXML. All rights reserved.