## Uses of Class
org.codehaus.jackson.map.BeanDescription

- Packages that use BeanDescription
  Package | Description
  --- | ---
  org.codehaus.jackson.map | Contains basic mapper (conversion) functionality that allows for converting between regular streaming json content and Java objects (beans or Tree Model: support for both is via `ObjectMapper` class, as well as convenience methods included in `JsonParser`
  org.codehaus.jackson.map.deser | Contains implementation classes of deserialization part of data binding.
  org.codehaus.jackson.map.introspect | Functionality needed for Bean introspection, required for detecting accessors and mutators for Beans, as well as locating and handling method annotations.
  org.codehaus.jackson.map.module | Package that contains classes and interfaces to help implement custom extension `Module`s (which are registered using `ObjectMapper.registerModule(org.codehaus.jackson.map.Module)`.

- - ### Uses of BeanDescription in org.codehaus.jackson.map

    Classes in org.codehaus.jackson.map with type parameters of type BeanDescription
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ClassIntrospector<T extends BeanDescription>` Helper class used to introspect features of POJO value classes used with Jackson.

    Fields in org.codehaus.jackson.map with type parameters of type BeanDescription
    Modifier and Type | Field and Description
    --- | ---
    `protected ClassIntrospector<? extends BeanDescription>` | MapperConfig.Base.`_classIntrospector` Introspector used to figure out Bean properties needed for bean serialization and deserialization.
    `protected static ClassIntrospector<? extends BeanDescription>` | ObjectMapper.`DEFAULT_INTROSPECTOR`

    Methods in org.codehaus.jackson.map 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
    `<DESC extends BeanDescription> DESC` | MapperConfig.`introspectClassAnnotations(Class<?> cls)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `abstract <DESC extends BeanDescription> DESC` | MapperConfig.`introspectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `<T extends BeanDescription> T` | SerializationConfig.`introspectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `<T extends BeanDescription> T` | DeserializationConfig.`introspectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
    `<DESC extends BeanDescription> DESC` | 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.
    `abstract <DESC extends BeanDescription> DESC` | 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.
    `<T extends BeanDescription> T` | SerializationConfig.`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.
    `<T extends BeanDescription> T` | DeserializationConfig.`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.
    `<T extends BeanDescription> T` | DeserializationConfig.`introspectForCreation(JavaType type)` Method that will introspect subset of bean properties needed to construct bean instance.

    Methods in org.codehaus.jackson.map that return types with arguments of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `ClassIntrospector<? extends BeanDescription>` | MapperConfig.`getClassIntrospector()`
    `ClassIntrospector<? extends BeanDescription>` | MapperConfig.Base.`getClassIntrospector()`

    Methods in org.codehaus.jackson.map with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `JsonSerializer<?>` | Serializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, BeanProperty property, 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, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | Deserializers.`findBeanDeserializer(JavaType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property)` Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array or tree node)
    `JsonDeserializer<?>` | Deserializers.Base.`findBeanDeserializer(JavaType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property)`
    `JsonDeserializer<?>` | Deserializers.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate serializer for specified `Collection` (List, Set etc) type.
    `JsonDeserializer<?>` | Deserializers.Base.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | Deserializers.`findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, 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, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | Serializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.Base.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.Base.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | Deserializers.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property)` Method called to locate deserializer for specified `Enum` type.
    `JsonDeserializer<?>` | Deserializers.Base.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property)`
    `KeyDeserializer` | KeyDeserializers.`findKeyDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property)`
    `JsonDeserializer<?>` | Deserializers.`findMapDeserializer(MapType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)` Method called to locate deserializer for specified `Map` type.
    `JsonDeserializer<?>` | Deserializers.Base.`findMapDeserializer(MapType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | Deserializers.`findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, 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, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | Serializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.Base.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.Base.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | Serializers.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property)` Method called by serialization framework first time a serializer is needed for specified type, which is not of a container type (for which other methods are called).
    `JsonSerializer<?>` | Serializers.Base.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property)`

    Method parameters in org.codehaus.jackson.map with type arguments of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `SerializationConfig` | SerializationConfig.`withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)`
    `abstract T` | MapperConfig.`withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)` Method for constructing and returning a new instance with different `ClassIntrospector` to use.
    `MapperConfig.Base` | MapperConfig.Base.`withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)`
    `DeserializationConfig` | DeserializationConfig.`withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)`

    Constructor parameters in org.codehaus.jackson.map with type arguments of type BeanDescription
    Constructor and Description
    `DeserializationConfig(ClassIntrospector<? extends BeanDescription> intr, AnnotationIntrospector annIntr, VisibilityChecker<?> vc, SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy, TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)` Constructor used by ObjectMapper to create default configuration object instance.
    `MapperConfig.Base(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai, VisibilityChecker<?> vc, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi)`
    `MapperConfig(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai, VisibilityChecker<?> vc, SubtypeResolver str, PropertyNamingStrategy pns, TypeFactory tf, HandlerInstantiator hi)`
    `SerializationConfig(ClassIntrospector<? extends BeanDescription> intr, AnnotationIntrospector annIntr, VisibilityChecker<?> vc, SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy, TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)` Constructor used by ObjectMapper to create default configuration object instance.

  - ### Uses of BeanDescription in org.codehaus.jackson.map.deser

    Methods in org.codehaus.jackson.map.deser with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `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)`

    Constructors in org.codehaus.jackson.map.deser with parameters of type BeanDescription
    Constructor and Description
    `BeanDeserializer(BeanDescription beanDesc, BeanProperty property, ValueInstantiator valueInstantiator, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, HashSet<String> ignorableProps, boolean ignoreAllUnknown, SettableAnyProperty anySetter, List<ValueInjector> injectables)`

  - ### Uses of BeanDescription in org.codehaus.jackson.map.introspect

    Subclasses of BeanDescription in org.codehaus.jackson.map.introspect
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicBeanDescription` Default `BeanDescription` implementation.

  - ### Uses of BeanDescription in org.codehaus.jackson.map.module

    Methods in org.codehaus.jackson.map.module with parameters of type BeanDescription
    Modifier and Type | Method and Description
    --- | ---
    `JsonSerializer<?>` | SimpleSerializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findBeanDeserializer(JavaType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findCollectionDeserializer(CollectionType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property)`
    `KeyDeserializer` | SimpleKeyDeserializers.`findKeyDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findMapDeserializer(MapType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonDeserializer<?>` | SimpleDeserializers.`findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | SimpleSerializers.`findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property)`
    `ValueInstantiator` | SimpleValueInstantiators.`findValueInstantiator(DeserializationConfig config, BeanDescription beanDesc, ValueInstantiator defaultInstantiator)`