# Uses of Package
com.fasterxml.jackson.databind

Packages that use com.fasterxml.jackson.databind
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.jsonFormatVisitors | Classes used for exposing logical structure of POJOs as Jackson sees it, and exposed via `ObjectMapper.acceptJsonFormatVisitor(Class, JsonFormatVisitorWrapper)` and `ObjectMapper.acceptJsonFormatVisitor(com.fasterxml.jackson.databind.JavaType, JsonFormatVisitorWrapper)` methods.
com.fasterxml.jackson.databind.jsonschema | Classes needed for JSON schema support (currently just ability to generate schemas using serialization part of data mapping)
com.fasterxml.jackson.databind.jsontype | Package that contains interfaces that define how to implement functionality for dynamically resolving type during deserialization.
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.node | Contains concrete `JsonNode` implementations Jackson uses for the Tree model.
com.fasterxml.jackson.databind.ser | Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.impl | Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.std |
com.fasterxml.jackson.databind.type | Package that contains concrete implementations of `JavaType`, as well as the factory (`TypeFactory`) for constructing instances from various input data types (like `Class`, `Type`) and programmatically (for structured types, arrays, `List`s and `Map`s).
com.fasterxml.jackson.databind.util | Utility classes for Mapper package.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind
Class and Description
AbstractTypeResolver Defines interface for resolvers that can resolve abstract types into concrete ones; either by using static mappings, or possibly by materializing implementations dynamically.
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
AnnotationIntrospector.ReferenceProperty Value type used with managed and back references; contains type and logic name, used to link related references
AnnotationIntrospector.ReferenceProperty.Type
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
BeanProperty.Std Simple stand-alone implementation, useful as a placeholder or base class for more complex implementations.
DatabindContext Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process.
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
DeserializationFeature Enumeration that defines simple on/off features that affect the way Java objects are deserialized from JSON
InjectableValues Abstract class that defines API for objects that provide value to "inject" during deserialization.
InjectableValues.Std Simple standard implementation which uses a simple Map to store values to inject, identified by simple String keys.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonMappingException.Reference Simple bean class used to contain references.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializable Interface that can be implemented by objects that know how to serialize themselves to JSON, using `JsonGenerator` (and `SerializerProvider` if necessary).
JsonSerializable.Base Base class with minimal implementation, as well as couple of extension methods that core Jackson databinding makes use of.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
KeyDeserializer Abstract class that defines API used for deserializing JSON content field names into Java Map keys.
MapperFeature Enumeration that defines simple on/off features to set for `ObjectMapper`, and accessible (but not changeable) via `ObjectReader` and `ObjectWriter` (as well as through various convenience methods through context objects).
MappingIterator Iterator exposed by `ObjectMapper` when binding sequence of objects.
Module Simple interface for extensions that can be registered with `ObjectMapper` to provide a well-defined set of extensions to default functionality; such as support for new data types.
Module.SetupContext Interface Jackson exposes to modules for purpose of registering extended functionality.
ObjectMapper ObjectMapper provides functionality for reading and writing JSON, either to and from basic POJOs (Plain Old Java Objects), or to and from a general-purpose JSON Tree Model (`JsonNode`), as well as related functionality for performing conversions.
ObjectMapper.DefaultTyping Enumeration used with `ObjectMapper.enableDefaultTyping()` to specify what kind of types (classes) default typing should be used for.
ObjectReader Builder object that can be used for per-serialization configuration of deserialization parameters, such as root type to use or object to update (instead of constructing new instance).
ObjectWriter Builder object that can be used for per-serialization configuration of serialization parameters, such as JSON View and root type to use.
ObjectWriter.GeneratorSettings Helper class used for containing settings specifically related to (re)configuring `JsonGenerator` constructed for writing output.
ObjectWriter.Prefetch As a minor optimization, we will make an effort to pre-fetch a serializer, or at least relevant `TypeSerializer`, if given enough information.
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
PropertyNamingStrategy Class that defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"), in cases where they are not auto-detected and no explicit annotations exist for naming.
PropertyNamingStrategy.PropertyNamingStrategyBase
SequenceWriter Writer class similar to `ObjectWriter`, except that it can be used for writing sequences of values, not just a single value.
SerializationConfig Object that contains baseline configuration for serialization process.
SerializationFeature Enumeration that defines simple on/off features that affect the way Java objects are serialized.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.cfg
Class and Description
AbstractTypeResolver Defines interface for resolvers that can resolve abstract types into concrete ones; either by using static mappings, or possibly by materializing implementations dynamically.
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
DeserializationConfig Object that contains baseline configuration for deserialization process.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
KeyDeserializer Abstract class that defines API used for deserializing JSON content field names into Java Map keys.
MapperFeature Enumeration that defines simple on/off features to set for `ObjectMapper`, and accessible (but not changeable) via `ObjectReader` and `ObjectWriter` (as well as through various convenience methods through context objects).
PropertyNamingStrategy Class that defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"), in cases where they are not auto-detected and no explicit annotations exist for naming.
SerializationConfig Object that contains baseline configuration for serialization process.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.deser
Class and Description
AbstractTypeResolver Defines interface for resolvers that can resolve abstract types into concrete ones; either by using static mappings, or possibly by materializing implementations dynamically.
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DatabindContext Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process.
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
InjectableValues Abstract class that defines API for objects that provide value to "inject" during deserialization.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
KeyDeserializer Abstract class that defines API used for deserializing JSON content field names into Java Map keys.
ObjectReader Builder object that can be used for per-serialization configuration of deserialization parameters, such as root type to use or object to update (instead of constructing new instance).
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.deser.impl
Class and Description
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
BeanProperty.Std Simple stand-alone implementation, useful as a placeholder or base class for more complex implementations.
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.deser.std
Class and Description
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
KeyDeserializer Abstract class that defines API used for deserializing JSON content field names into Java Map keys.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.exc
Class and Description
JsonMappingException Checked exception used to signal fatal problems with mapping of content.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.ext
Class and Description
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
SerializationConfig Object that contains baseline configuration for serialization process.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.introspect
Class and Description
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
AnnotationIntrospector.ReferenceProperty Value type used with managed and back references; contains type and logic name, used to link related references
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
DeserializationConfig Object that contains baseline configuration for deserialization process.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
PropertyNamingStrategy Class that defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"), in cases where they are not auto-detected and no explicit annotations exist for naming.
SerializationConfig Object that contains baseline configuration for serialization process.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.jsonFormatVisitors
Class and Description
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.jsonschema
Class and Description
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.jsontype
Class and Description
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DatabindContext Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process.
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
SerializationConfig Object that contains baseline configuration for serialization process.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.jsontype.impl
Class and Description
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DatabindContext Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process.
DeserializationConfig Object that contains baseline configuration for deserialization process.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
SerializationConfig Object that contains baseline configuration for serialization process.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.module
Class and Description
AbstractTypeResolver Defines interface for resolvers that can resolve abstract types into concrete ones; either by using static mappings, or possibly by materializing implementations dynamically.
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
DeserializationConfig Object that contains baseline configuration for deserialization process.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonDeserializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonDeserializer`s too) to deserialize Objects of arbitrary types from JSON, using provided `JsonParser`.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
KeyDeserializer Abstract class that defines API used for deserializing JSON content field names into Java Map keys.
Module Simple interface for extensions that can be registered with `ObjectMapper` to provide a well-defined set of extensions to default functionality; such as support for new data types.
Module.SetupContext Interface Jackson exposes to modules for purpose of registering extended functionality.
PropertyNamingStrategy Class that defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"), in cases where they are not auto-detected and no explicit annotations exist for naming.
SerializationConfig Object that contains baseline configuration for serialization process.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.node
Class and Description
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializable Interface that can be implemented by objects that know how to serialize themselves to JSON, using `JsonGenerator` (and `SerializerProvider` if necessary).
JsonSerializable.Base Base class with minimal implementation, as well as couple of extension methods that core Jackson databinding makes use of.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.ser
Class and Description
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
DatabindContext Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
SerializationConfig Object that contains baseline configuration for serialization process.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.ser.impl
Class and Description
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.ser.std
Class and Description
BeanDescription Basic container for information gathered by `ClassIntrospector` to help in constructing serializers and deserializers.
BeanProperty Bean properties are logical entities that represent data that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans") contain; and that are accessed using accessors (methods like getters and setters, fields, constructor parametrers).
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonMappingException Checked exception used to signal fatal problems with mapping of content.
JsonNode Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements.
JsonSerializable Interface that can be implemented by objects that know how to serialize themselves to JSON, using `JsonGenerator` (and `SerializerProvider` if necessary).
JsonSerializer Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
SerializationConfig Object that contains baseline configuration for serialization process.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.type
Class and Description
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonSerializable Interface that can be implemented by objects that know how to serialize themselves to JSON, using `JsonGenerator` (and `SerializerProvider` if necessary).
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.

Classes in com.fasterxml.jackson.databind used by com.fasterxml.jackson.databind.util
Class and Description
AnnotationIntrospector Abstract class that defines API used for introspecting annotation-based configuration for serialization and deserialization.
DeserializationContext Context for the process of deserialization a single root-level value.
JavaType Base class for type token classes used both to contain information and as keys for deserializers.
JsonSerializable Interface that can be implemented by objects that know how to serialize themselves to JSON, using `JsonGenerator` (and `SerializerProvider` if necessary).
PropertyMetadata Simple container class used for storing "additional" metadata about properties.
PropertyName Simple value class used for containing names of properties as defined by annotations (and possibly other configuration sources).
SerializationConfig Object that contains baseline configuration for serialization process.
SerializerProvider Class that defines API used by `ObjectMapper` and `JsonSerializer`s to obtain serializers capable of serializing instances of specific types; as well as the default implementation of the functionality.