## Uses of Class
com.fasterxml.jackson.databind.BeanDescription

- Packages that use BeanDescription
  Package | Description
  --- | ---
  com.fasterxml.jackson.databind | Basic data binding (mapping) functionality that allows for reading JSON content into Java Objects (POJOs) and JSON Trees (`JsonNode`), as well as writing Java Objects and trees as JSON.
  com.fasterxml.jackson.databind.cfg | Package that contains most of configuration-related classes; exception being couple of most-commonly used configuration things (like Feature enumerations) that are at the main level (`com.fasterxml.jackson.databind`).
  com.fasterxml.jackson.databind.deser | Contains implementation classes of deserialization part of data binding.
  com.fasterxml.jackson.databind.deser.impl | Contains those implementation classes of deserialization part of data binding that are not considered part of public or semi-public interfaces.
  com.fasterxml.jackson.databind.deser.std | Contains public standard implementations of abstraction that Jackson uses.
  com.fasterxml.jackson.databind.exc |
  com.fasterxml.jackson.databind.ext | Contains extended support for "external" packages: things that may or may not be present in runtime environment, but that are commonly enough used so that explicit support can be added.
  com.fasterxml.jackson.databind.introspect | Functionality needed for Bean introspection, required for detecting accessors and mutators for Beans, as well as locating and handling method annotations.
  com.fasterxml.jackson.databind.jsontype.impl | Package that contains standard implementations for `TypeResolverBuilder` and `TypeIdResolver`.
  com.fasterxml.jackson.databind.module | Package that contains classes and interfaces to help implement custom extension `Module`s (which are registered using `ObjectMapper.registerModule(com.fasterxml.jackson.databind.Module)`.
  com.fasterxml.jackson.databind.ser | Contains implementation classes of serialization part of data binding.
  com.fasterxml.jackson.databind.ser.std |

- - ### Uses of BeanDescription in com.fasterxml.jackson.databind

    Methods in com.fasterxml.jackson.databind with type parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `<T extends BeanDescription> T` | SerializationConfig.`introspect(JavaType type)` Method that will introspect full bean properties for the purpose of building a bean serializer
    `<T extends BeanDescription> T` | DeserializationConfig.`introspect(JavaType type)` Method that will introspect full bean properties for the purpose of building a bean deserializer
    `<T extends BeanDescription> T` | DeserializationConfig.`introspectForBuilder(JavaType type)`
    `<T extends BeanDescription> T` | DeserializationConfig.`introspectForCreation(JavaType type)` Method that will introspect subset of bean properties needed to construct bean instance.

    Methods in com.fasterxml.jackson.databind with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | SerializerProvider.`reportBadPropertyDefinition(BeanDescription bean, BeanPropertyDefinition prop, String message, Object... msgArgs)` Helper method called to indicate problem in POJO (serialization) definitions or settings regarding specific property (of a type), unrelated to actual JSON content to map.
    `<T> T` | DeserializationContext.`reportBadPropertyDefinition(BeanDescription bean, BeanPropertyDefinition prop, String msg, Object... msgArgs)` Helper method called to indicate problem in POJO (serialization) definitions or settings regarding specific property (of a type), unrelated to actual JSON content to map.
    `<T> T` | SerializerProvider.`reportBadTypeDefinition(BeanDescription bean, String msg, Object... msgArgs)` Helper method called to indicate problem in POJO (serialization) definitions or settings regarding specific Java type, unrelated to actual JSON content to map.
    `<T> T` | DeserializationContext.`reportBadTypeDefinition(BeanDescription bean, String msg, Object... msgArgs)` Helper method called to indicate problem in POJO (serialization) definitions or settings regarding specific Java type, unrelated to actual JSON content to map.
    `JavaType` | AbstractTypeResolver.`resolveAbstractType(DeserializationConfig config, BeanDescription typeDesc)` Method called to try to resolve an abstract type into concrete type (usually for purposes of deserializing), when no concrete implementation was found.

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.cfg

    Methods in com.fasterxml.jackson.databind.cfg that return BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `BeanDescription` | MapperConfig.`introspectClassAnnotations(Class<?> cls)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `BeanDescription` | MapperConfig.`introspectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `BeanDescription` | MapperConfig.`introspectDirectClassAnnotations(Class<?> cls)` Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.
    `BeanDescription` | MapperConfig.`introspectDirectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.deser

    Fields in com.fasterxml.jackson.databind.deser declared as BeanDescription
    Modifier and Type | Field and Description
    --- | ---
    `protected BeanDescription` | BeanDeserializerBuilder.`_beanDesc` Introspected information about POJO for deserializer to handle

    Methods in com.fasterxml.jackson.databind.deser with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | BasicDeserializerFactory.`_addDeserializerConstructors(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, Map<AnnotatedWithParams,BeanPropertyDefinition[]> creatorParams)`
    `protected void` | BasicDeserializerFactory.`_addDeserializerFactoryMethods(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, Map<AnnotatedWithParams,BeanPropertyDefinition[]> creatorParams)`
    `protected void` | BasicDeserializerFactory.`_addExplicitAnyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate)` Helper method called when there is the explicit "is-creator", but no mode declaration.
    `protected void` | BasicDeserializerFactory.`_addExplicitDelegatingCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate)` Helper method called when there is the explicit "is-creator" with mode of "delegating"
    `protected void` | BasicDeserializerFactory.`_addExplicitPropertyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate)` Helper method called when there is the explicit "is-creator" with mode of "properties-based"
    `protected ValueInstantiator` | BasicDeserializerFactory.`_constructDefaultValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc)` Method that will construct standard default `ValueInstantiator` using annotations (like @JsonCreator) and visibility rules
    `protected JsonDeserializer<?>` | DeserializerCache.`_createDeserializer2(DeserializationContext ctxt, DeserializerFactory factory, JavaType type, BeanDescription beanDesc)`
    `protected Map<AnnotatedWithParams,BeanPropertyDefinition[]>` | BasicDeserializerFactory.`_findCreatorsFromProperties(DeserializationContext ctxt, BeanDescription beanDesc)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<Object>` | BasicDeserializerFactory.`_findCustomBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomReferenceDeserializer(ReferenceType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`_findCustomTreeNodeDeserializer(Class<? extends JsonNode> type, DeserializationConfig config, BeanDescription beanDesc)`
    `protected void` | BasicDeserializerFactory.`_reportUnwrappedCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, AnnotatedParameter param)`
    `protected void` | BeanDeserializerFactory.`_validateSubType(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)`
    `protected void` | BeanDeserializerFactory.`addBackReferenceProperties(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder)` Method that will find if bean has any managed- or back-reference properties, and if so add them to bean, to be linked during resolution phase.
    `protected void` | BeanDeserializerFactory.`addBeanProps(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder)` Method called to figure out settable properties for the bean deserializer to use.
    `protected void` | BeanDeserializerFactory.`addInjectables(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder)` Method called locate all members used for value injection (if any), constructor `ValueInjector` instances, and add them to builder.
    `protected void` | BeanDeserializerFactory.`addObjectIdReader(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder)`
    `protected void` | BeanDeserializerFactory.`addReferenceProperties(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder)` Deprecated.
    `JsonDeserializer<Object>` | BeanDeserializerFactory.`buildBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Method that is to actually build a bean deserializer instance.
    `protected JsonDeserializer<Object>` | BeanDeserializerFactory.`buildBuilderBasedDeserializer(DeserializationContext ctxt, JavaType valueType, BeanDescription builderDesc)` Method for constructing a bean deserializer that uses specified intermediate Builder for binding data, and construction of the value instance.
    `JsonDeserializer<Object>` | BeanDeserializerFactory.`buildThrowableDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)`
    `protected SettableAnyProperty` | BeanDeserializerFactory.`constructAnySetter(DeserializationContext ctxt, BeanDescription beanDesc, AnnotatedMember mutator)` Method called to construct fallback `SettableAnyProperty` for handling unknown bean properties, given a method that has been designated as such setter.
    `protected BeanDeserializerBuilder` | BeanDeserializerFactory.`constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc)` Overridable method that constructs a `BeanDeserializerBuilder` which is used to accumulate information needed to create deserializer instance.
    `protected SettableBeanProperty` | BasicDeserializerFactory.`constructCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, PropertyName name, int index, AnnotatedParameter param, JacksonInject.Value injectable)` Method that will construct a property object that represents a logical property passed via Creator (constructor or static factory method)
    `static AbstractDeserializer` | AbstractDeserializer.`constructForNonPOJO(BeanDescription beanDesc)` Factory method used when constructing instances for non-POJO types, like `Map`s.
    `protected SettableBeanProperty` | BeanDeserializerFactory.`constructSettableProperty(DeserializationContext ctxt, BeanDescription beanDesc, BeanPropertyDefinition propDef, JavaType propType0)` Method that will construct a regular bean property setter using the given setter method.
    `protected SettableBeanProperty` | BeanDeserializerFactory.`constructSetterlessProperty(DeserializationContext ctxt, BeanDescription beanDesc, BeanPropertyDefinition propDef)` Method that will construct a regular bean property setter using the given setter method.
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription beanDesc)` Method called to create (or, for completely immutable deserializers, reuse) a deserializer that can convert JSON content into values of specified Java type.
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<Object>` | DeserializerFactory.`createBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Method called to create (or, for completely immutable deserializers, reuse) a deserializer that can convert JSON content into values of specified Java "bean" (POJO) type.
    `JsonDeserializer<Object>` | BeanDeserializerFactory.`createBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Method that `DeserializerCache`s call to create a new deserializer for types other than Collections, Maps, arrays and enums.
    `abstract JsonDeserializer<Object>` | DeserializerFactory.`createBuilderBasedDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc, Class<?> builderClass)` Method called to create a deserializer that will use specified Builder class for building value instances.
    `JsonDeserializer<Object>` | BeanDeserializerFactory.`createBuilderBasedDeserializer(DeserializationContext ctxt, JavaType valueType, BeanDescription beanDesc, Class<?> builderClass)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createCollectionLikeDeserializer(DeserializationContext ctxt, CollectionLikeType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createCollectionLikeDeserializer(DeserializationContext ctxt, CollectionLikeType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Factory method for constructing serializers of `Enum` types.
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createMapDeserializer(DeserializationContext ctxt, MapType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createMapDeserializer(DeserializationContext ctxt, MapType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createMapLikeDeserializer(DeserializationContext ctxt, MapLikeType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createMapLikeDeserializer(DeserializationContext ctxt, MapLikeType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createReferenceDeserializer(DeserializationContext ctxt, ReferenceType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createReferenceDeserializer(DeserializationContext ctxt, ReferenceType type, BeanDescription beanDesc)`
    `abstract JsonDeserializer<?>` | DeserializerFactory.`createTreeDeserializer(DeserializationConfig config, JavaType type, BeanDescription beanDesc)` Method called to create and return a deserializer that can construct JsonNode(s) from JSON content.
    `JsonDeserializer<?>` | BasicDeserializerFactory.`createTreeDeserializer(DeserializationConfig config, JavaType nodeType, BeanDescription beanDesc)`
    `protected List<BeanPropertyDefinition>` | BeanDeserializerFactory.`filterBeanProps(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder, List<BeanPropertyDefinition> propDefsIn, Set<String> ignored)` Helper method called to filter out explicit ignored properties, as well as properties that have "ignorable types".
    `JsonDeserializer<?>` | Deserializers.`findArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate serializer for specified array type.
    `JsonDeserializer<?>` | Deserializers.Base.`findArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | Deserializers.`findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)` Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array, reference value or tree node)
    `JsonDeserializer<?>` | Deserializers.Base.`findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | Deserializers.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate serializer for specified `Collection` (List, Set etc) type.
    `JsonDeserializer<?>` | Deserializers.Base.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | Deserializers.`findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate serializer for specified "Collection-like" type (one that acts like `Collection` but does not implement it).
    `JsonDeserializer<?>` | Deserializers.Base.`findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | BasicDeserializerFactory.`findDefaultDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Helper method called to find one of default serializers for "well-known" platform types: JDK-provided types, and small number of public Jackson API types.
    `JsonDeserializer<?>` | Deserializers.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc)` Method called to locate deserializer for specified `Enum` type.
    `JsonDeserializer<?>` | Deserializers.Base.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc)`
    `KeyDeserializer` | KeyDeserializers.`findKeyDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | Deserializers.`findMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate deserializer for specified `Map` type.
    `JsonDeserializer<?>` | Deserializers.Base.`findMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | Deserializers.`findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate serializer for specified "Map-like" type (one that acts like `Map` but does not implement it).
    `JsonDeserializer<?>` | Deserializers.Base.`findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `protected JsonDeserializer<?>` | BasicDeserializerFactory.`findOptionalStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Overridable method called after checking all other types.
    `JsonDeserializer<?>` | Deserializers.`findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer)` Method called to locate deserializer for value that is of referential type,
    `JsonDeserializer<?>` | Deserializers.Base.`findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer)`
    `protected JsonDeserializer<?>` | BeanDeserializerFactory.`findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)` Method called by `BeanDeserializerFactory` to see if there might be a standard deserializer registered for given type.
    `JsonDeserializer<?>` | Deserializers.`findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanDescription beanDesc)` Method called to locate deserializer for specified JSON tree node type.
    `JsonDeserializer<?>` | Deserializers.Base.`findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanDescription beanDesc)`
    `ValueInstantiator` | ValueInstantiators.`findValueInstantiator(DeserializationConfig config, BeanDescription beanDesc, ValueInstantiator defaultInstantiator)` Method called to find the `ValueInstantiator` to use for creating instances of specified type during deserialization.
    `ValueInstantiator` | ValueInstantiators.Base.`findValueInstantiator(DeserializationConfig config, BeanDescription beanDesc, ValueInstantiator defaultInstantiator)`
    `abstract ValueInstantiator` | DeserializerFactory.`findValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc)` Method that is to find all creators (constructors, factory methods) for the bean type to deserialize.
    `ValueInstantiator` | BasicDeserializerFactory.`findValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc)` Value instantiator is created both based on creator annotations, and on optional externally provided instantiators (registered through module interface).
    `protected JavaType` | BeanDeserializerFactory.`materializeAbstractType(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyArrayDeserializer(DeserializationConfig config, ArrayType valueType, BeanDescription beanDesc, JsonDeserializer<?> deserializer)` Method called by `DeserializerFactory` after it has constructed the standard deserializer for given `ArrayType` to make it possible to either replace or augment this deserializer with additional functionality.
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyCollectionDeserializer(DeserializationConfig config, CollectionType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyCollectionLikeDeserializer(DeserializationConfig config, CollectionLikeType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer)` Method called by `BeanDeserializerFactory` after constructing default bean deserializer instance with properties collected and ordered earlier.
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyEnumDeserializer(DeserializationConfig config, JavaType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyMapDeserializer(DeserializationConfig config, MapType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyMapLikeDeserializer(DeserializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `JsonDeserializer<?>` | BeanDeserializerModifier.`modifyReferenceDeserializer(DeserializationConfig config, ReferenceType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)`
    `protected JavaType` | BasicDeserializerFactory.`resolveType(DeserializationContext ctxt, BeanDescription beanDesc, JavaType type, AnnotatedMember member)` Deprecated. since 2.8 call `BasicDeserializerFactory.resolveMemberAndTypeAnnotations(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.introspect.AnnotatedMember, com.fasterxml.jackson.databind.JavaType)` instead.
    `BeanDeserializerBuilder` | BeanDeserializerModifier.`updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder)` Method called by `BeanDeserializerFactory` when it has collected basic information such as tentative list of properties to deserialize.
    `List<BeanPropertyDefinition>` | BeanDeserializerModifier.`updateProperties(DeserializationConfig config, BeanDescription beanDesc, List<BeanPropertyDefinition> propDefs)` Method called by `BeanDeserializerFactory` when it has collected initial list of `BeanPropertyDefinition`s, and done basic by-name and by-type filtering, but before constructing builder or actual property handlers; or arranging order.

    Constructors in com.fasterxml.jackson.databind.deser with parameters of type BeanDescription
    Constructor and Description
    `AbstractDeserializer(BeanDescription beanDesc)`
    `AbstractDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, Map<String,SettableBeanProperty> backRefProps)` Deprecated.
    `AbstractDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, Map<String,SettableBeanProperty> backRefProps, Map<String,SettableBeanProperty> props)`
    `BeanDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, HashSet<String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews)` Constructor used by `BeanDeserializerBuilder`.
    `BeanDeserializerBase(BeanDeserializerBuilder builder, BeanDescription beanDesc, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, Set<String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews)` Constructor used when initially building a deserializer instance, given a `BeanDeserializerBuilder` that contains configuration.
    `BeanDeserializerBuilder(BeanDescription beanDesc, DeserializationContext ctxt)`
    `BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, Set<String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews)` Deprecated. Since 2.9
    `BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, JavaType targetType, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, Set<String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews)` Constructor used by `BeanDeserializerBuilder`.

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.deser.impl

    Fields in com.fasterxml.jackson.databind.deser.impl declared as BeanDescription
    Modifier and Type | Field and Description
    --- | ---
    `protected BeanDescription` | CreatorCollector.`_beanDesc`

    Constructors in com.fasterxml.jackson.databind.deser.impl with parameters of type BeanDescription
    Constructor and Description
    `CreatorCollector(BeanDescription beanDesc, MapperConfig<?> config)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.deser.std

    Methods in com.fasterxml.jackson.databind.deser.std with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `KeyDeserializer` | StdKeyDeserializers.`findKeyDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.exc

    Fields in com.fasterxml.jackson.databind.exc declared as BeanDescription
    Modifier and Type | Field and Description
    --- | ---
    `protected BeanDescription` | InvalidDefinitionException.`_beanDesc`

    Methods in com.fasterxml.jackson.databind.exc that return BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `BeanDescription` | InvalidDefinitionException.`getBeanDescription()` Accessor for type definition (class) that had the definition problem, if any; may sometimes be undefined or unknown; if so, returns `null`.

    Methods in com.fasterxml.jackson.databind.exc with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `static InvalidDefinitionException` | InvalidDefinitionException.`from(JsonGenerator g, String msg, BeanDescription bean, BeanPropertyDefinition prop)`
    `static InvalidDefinitionException` | InvalidDefinitionException.`from(JsonParser p, String msg, BeanDescription bean, BeanPropertyDefinition prop)`

    Constructors in com.fasterxml.jackson.databind.exc with parameters of type BeanDescription
    Constructor and Description
    `InvalidDefinitionException(JsonGenerator g, String msg, BeanDescription bean, BeanPropertyDefinition prop)`
    `InvalidDefinitionException(JsonParser p, String msg, BeanDescription bean, BeanPropertyDefinition prop)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.ext

    Methods in com.fasterxml.jackson.databind.ext with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `JsonDeserializer<?>` | CoreXMLDeserializers.`findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | OptionalHandlerFactory.`findDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonSerializer<?>` | OptionalHandlerFactory.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)`
    `JsonSerializer<?>` | CoreXMLSerializers.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.introspect

    Subclasses of BeanDescription in com.fasterxml.jackson.databind.introspect
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicBeanDescription` Default `BeanDescription` implementation used by Jackson.

    Methods in com.fasterxml.jackson.databind.introspect that return BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `abstract BeanDescription` | ClassIntrospector.`forClassAnnotations(MapperConfig<?> cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that only has information regarding annotations class itself (or its supertypes) has, but nothing on methods or constructors.
    `abstract BeanDescription` | ClassIntrospector.`forCreation(DeserializationConfig cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that has information necessary for creating instances of given class ("creator"), as well as class annotations, but no information on member methods
    `abstract BeanDescription` | ClassIntrospector.`forDeserialization(DeserializationConfig cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that has all information needed for deserialization purposes.
    `abstract BeanDescription` | ClassIntrospector.`forDeserializationWithBuilder(DeserializationConfig cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that has all information needed for constructing deserializers that use intermediate Builder objects.
    `abstract BeanDescription` | ClassIntrospector.`forDirectClassAnnotations(MapperConfig<?> cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that only has information regarding annotations class itself has (but NOT including its supertypes), but nothing on methods or constructors.
    `abstract BeanDescription` | ClassIntrospector.`forSerialization(SerializationConfig cfg, JavaType type, ClassIntrospector.MixInResolver r)` Factory method that constructs an introspector that has all information needed for serialization purposes.

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.jsontype.impl

    Methods in com.fasterxml.jackson.databind.jsontype.impl with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `void` | SubTypeValidator.`validateSubType(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.module

    Methods in com.fasterxml.jackson.databind.module with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `JsonDeserializer<?>` | SimpleDeserializers.`findArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc)`
    `KeyDeserializer` | SimpleKeyDeserializers.`findKeyDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanDescription beanDesc)`
    `ValueInstantiator` | SimpleValueInstantiators.`findValueInstantiator(DeserializationConfig config, BeanDescription beanDesc, ValueInstantiator defaultInstantiator)`
    `JavaType` | SimpleAbstractTypeResolver.`resolveAbstractType(DeserializationConfig config, BeanDescription typeDesc)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.ser

    Fields in com.fasterxml.jackson.databind.ser declared as BeanDescription
    Modifier and Type | Field and Description
    --- | ---
    `protected BeanDescription` | PropertyBuilder.`_beanDesc`
    `protected BeanDescription` | BeanSerializerBuilder.`_beanDesc`

    Methods in com.fasterxml.jackson.databind.ser that return BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `BeanDescription` | BeanSerializerBuilder.`getBeanDescription()`

    Methods in com.fasterxml.jackson.databind.ser with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `protected MapSerializer` | BasicSerializerFactory.`_checkMapContentInclusion(SerializerProvider prov, BeanDescription beanDesc, MapSerializer mapSer)` Helper method that does figures out content inclusion value to use, if any, and construct re-configured `MapSerializer` appropriately.
    `protected JsonSerializer<?>` | BeanSerializerFactory.`_createSerializer2(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping)`
    `protected JsonInclude.Value` | BasicSerializerFactory.`_findInclusionWithContent(SerializerProvider prov, BeanDescription beanDesc, JavaType contentType, Class<?> configType)` Helper method used for finding inclusion definitions for structured container types like `Map`s and referential types (like `AtomicReference`).
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildArraySerializer(SerializerProvider prov, ArrayType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `Object[]` (and subtypes, except for String).
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildAtomicReferenceSerializer(SerializerProvider prov, ReferenceType refType, BeanDescription beanDesc, boolean staticTyping, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentSerializer)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildCollectionSerializer(SerializerProvider prov, CollectionType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `List` types that support efficient by-index access
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildContainerSerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildEnumSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildIterableSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType valueType)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildIteratorSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType valueType)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildMapEntrySerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType keyType, JavaType valueType)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`buildMapSerializer(SerializerProvider prov, MapType type, BeanDescription beanDesc, boolean staticTyping, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `Map` types.
    `List<BeanPropertyWriter>` | BeanSerializerModifier.`changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with tentative set of discovered properties.
    `protected JsonSerializer<Object>` | BeanSerializerFactory.`constructBeanSerializer(SerializerProvider prov, BeanDescription beanDesc)` Method called to construct serializer for serializing specified bean type.
    `protected BeanSerializerBuilder` | BeanSerializerFactory.`constructBeanSerializerBuilder(BeanDescription beanDesc)`
    `protected ObjectIdWriter` | BeanSerializerFactory.`constructObjectIdHandler(SerializerProvider prov, BeanDescription beanDesc, List<BeanPropertyWriter> props)`
    `protected PropertyBuilder` | BeanSerializerFactory.`constructPropertyBuilder(SerializationConfig config, BeanDescription beanDesc)`
    `protected List<BeanPropertyWriter>` | BeanSerializerFactory.`filterBeanProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> props)` Overridable method that can filter out properties.
    `JsonSerializer<?>` | Serializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified array type.
    `JsonSerializer<?>` | Serializers.Base.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `protected List<BeanPropertyWriter>` | BeanSerializerFactory.`findBeanProperties(SerializerProvider prov, BeanDescription beanDesc, BeanSerializerBuilder builder)` Method used to collect all actual serializable properties.
    `JsonSerializer<Object>` | BeanSerializerFactory.`findBeanSerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc)` Method that will try to construct a `BeanSerializer` for given class.
    `JsonSerializer<?>` | Serializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified "Collection-like" type (type that acts like `Collection`, but does not implement it).
    `JsonSerializer<?>` | Serializers.Base.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified `Collection` type.
    `JsonSerializer<?>` | Serializers.Base.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `protected Object` | BasicSerializerFactory.`findFilterId(SerializationConfig config, BeanDescription beanDesc)` Method called to find filter that is configured to be used with bean serializer being built, if any.
    `JsonSerializer<?>` | Serializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified "Map-like" type (type that acts like `Map`, but does not implement it).
    `JsonSerializer<?>` | Serializers.Base.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified `Map` type.
    `JsonSerializer<?>` | Serializers.Base.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`findOptionalStdSerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping)` Overridable method called after checking all other types.
    `JsonSerializer<?>` | Serializers.`findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer)` Method called by serialization framework first time a serializer is needed for given `ReferenceType`
    `JsonSerializer<?>` | Serializers.Base.`findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer)`
    `JsonSerializer<?>` | BasicSerializerFactory.`findReferenceSerializer(SerializerProvider prov, ReferenceType refType, BeanDescription beanDesc, boolean staticTyping)`
    `JsonSerializer<?>` | Serializers.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)` Method called by serialization framework first time a serializer is needed for specified type, which is not of a container or reference type (for which other methods are called).
    `JsonSerializer<?>` | Serializers.Base.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)`
    `protected JsonSerializer<?>` | BasicSerializerFactory.`findSerializerByAddonType(SerializationConfig config, JavaType javaType, BeanDescription beanDesc, boolean staticTyping)` Reflection-based serialized find method, which checks if given class implements one of recognized "add-on" interfaces.
    `protected JsonSerializer<?>` | BasicSerializerFactory.`findSerializerByAnnotations(SerializerProvider prov, JavaType type, BeanDescription beanDesc)` Method called to see if one of primary per-class annotations (or related, like implementing of `JsonSerializable`) determines the serializer to use.
    `protected JsonSerializer<?>` | BasicSerializerFactory.`findSerializerByLookup(JavaType type, SerializationConfig config, BeanDescription beanDesc, boolean staticTyping)` Method that will use fast lookup (and identity comparison) methods to see if we know serializer to use for given type.
    `protected JsonSerializer<?>` | BasicSerializerFactory.`findSerializerByPrimaryType(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping)` Method for checking if we can determine serializer to use based on set of known primary types, checking for set of known base types (exact matches having been compared against with `findSerializerByLookup`).
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyArraySerializer(SerializationConfig config, ArrayType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)` Method called by `DeserializerFactory` after it has constructed the standard serializer for given `ArrayType` to make it possible to either replace or augment this serializer with additional functionality.
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyCollectionLikeSerializer(SerializationConfig config, CollectionLikeType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)`
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyCollectionSerializer(SerializationConfig config, CollectionType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)`
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyEnumSerializer(SerializationConfig config, JavaType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)`
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyKeySerializer(SerializationConfig config, JavaType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)` Method called by `DeserializerFactory` after it has constructed the default key serializer to use for serializing `Map` keys of given type.
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyMapLikeSerializer(SerializationConfig config, MapLikeType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)`
    `JsonSerializer<?>` | BeanSerializerModifier.`modifyMapSerializer(SerializationConfig config, MapType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)`
    `JsonSerializer<?>` | BeanSerializerModifier.`modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer)` Method called by `BeanSerializerFactory` after constructing default bean serializer instance with properties collected and ordered earlier.
    `List<BeanPropertyWriter>` | BeanSerializerModifier.`orderProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with set of properties to serialize, in default ordering (based on defaults as well as possible type annotations).
    `protected void` | BeanSerializerFactory.`removeIgnorableTypes(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyDefinition> properties)` Method that will apply by-type limitations (as per [JACKSON-429]); by default this is based on `JsonIgnoreType` annotation but can be supplied by module-provided introspectors too.
    `protected List<BeanPropertyWriter>` | BeanSerializerFactory.`removeOverlappingTypeIds(SerializerProvider prov, BeanDescription beanDesc, BeanSerializerBuilder builder, List<BeanPropertyWriter> props)` Helper method called to ensure that we do not have "duplicate" type ids.
    `protected void` | BeanSerializerFactory.`removeSetterlessGetters(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyDefinition> properties)` Helper method that will remove all properties that do not have a mutator.
    `BeanSerializerBuilder` | BeanSerializerModifier.`updateBuilder(SerializationConfig config, BeanDescription beanDesc, BeanSerializerBuilder builder)` Method called by `BeanSerializerFactory` after collecting all information regarding POJO to serialize and updating builder with it, but before constructing serializer.
    `protected boolean` | BasicSerializerFactory.`usesStaticTyping(SerializationConfig config, BeanDescription beanDesc, TypeSerializer typeSer)` Helper method to check whether global settings and/or class annotations for the bean class indicate that static typing (declared types) should be used for properties.

    Constructors in com.fasterxml.jackson.databind.ser with parameters of type BeanDescription
    Constructor and Description
    `BeanSerializerBuilder(BeanDescription beanDesc)`
    `PropertyBuilder(SerializationConfig config, BeanDescription beanDesc)`

  - ### Uses of BeanDescription in com.fasterxml.jackson.databind.ser.std

    Methods in com.fasterxml.jackson.databind.ser.std with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `static EnumSerializer` | EnumSerializer.`construct(Class<?> enumClass, SerializationConfig config, BeanDescription beanDesc, JsonFormat.Value format)` Factory method used by `BasicSerializerFactory` for constructing serializer instance of Enum types.

Copyright © 2008–2018 FasterXML. All rights reserved.