# Uses of Package
com.fasterxml.jackson.core

Packages that use com.fasterxml.jackson.core
com.fasterxml.jackson.core: Main public API classes of the core streaming JSON processor: most importantly `JsonFactory` used for constructing JSON parser (`JsonParser`) and generator (`JsonGenerator`) instances.
com.fasterxml.jackson.core.base: Base classes used by concrete Parser and Generator implementations; contain functionality that is not specific to JSON or input abstraction (byte vs char).
com.fasterxml.jackson.core.exc: Package for some of `JsonProcessingException` subtypes contained by streaming API.
com.fasterxml.jackson.core.filter
com.fasterxml.jackson.core.format: Package that contains interfaces needed for dynamic, pluggable format (auto)detection; as well as basic utility classes for simple format detection functionality.
com.fasterxml.jackson.core.io
com.fasterxml.jackson.core.json: JSON-specific parser and generator implementation classes that Jackson defines and uses.
com.fasterxml.jackson.core.json.async: Non-blocking ("async") JSON parser implementation.
com.fasterxml.jackson.core.type: Contains classes needed for type introspection, mostly used by data binding functionality.
com.fasterxml.jackson.core.util: Utility classes used by Jackson Core functionality.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
Base64Variant.PaddingReadBehaviour Defines how the Base64Variant deals with Padding while reading
FormatFeature Marker interface that is to be implemented by data format - specific features.
FormatSchema Simple tag interface used to mark schema objects that are used by some `JsonParser` and `JsonGenerator` implementations to further specify structure of expected format.
JacksonException Base class for all Jackson-produced checked exceptions.
JsonEncoding Enumeration that defines legal encodings that can be used for JSON content, based on list of allowed encodings from JSON specification.
JsonFactory The main factory class of Jackson package, used to configure and construct reader (aka parser, `JsonParser`) and writer (aka generator, `JsonGenerator`) instances.
JsonFactory.Feature Enumeration that defines all on/off features that can only be changed for `JsonFactory`.
JsonFactoryBuilder `TSFBuilder` implementation for constructing vanilla `JsonFactory` instances for reading/writing JSON encoded content.
JsonGenerationException Exception type for exceptions during JSON writing, such as trying to output content in wrong context (non-matching end-array or end-object, for example).
JsonGenerator Base class that defines public API for writing JSON content.
JsonGenerator.Feature Enumeration that defines all togglable features for generators.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
JsonParser Base class that defines public API for reading JSON content.
JsonParser.Feature Enumeration that defines all on/off features for parsers.
JsonParser.NumberType Enumeration of possible "native" (optimal) types that can be used for numbers.
JsonpCharacterEscapes Convenience `CharacterEscapes` implementation that escapes Unicode characters `0x2028` and `0x2029` (in addition to characters escaped otherwise), which are apparently considered linefeeds as per newer Javascript specifications, and consequently problematic when using JSONP (see https://en.wikipedia.org/wiki/JSONP).
JsonPointer Implementation of JSON Pointer specification.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
ObjectCodec Abstract class that defines the interface that `JsonParser` and `JsonGenerator` use to serialize and deserialize regular Java objects (POJOs aka Beans).
PrettyPrinter Interface for objects that implement pretty printer functionality, such as indentation.
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.
StreamReadCapability Set of on/off capabilities that a `JsonParser` for given format (or in case of buffering, original format) has.
StreamReadFeature Token reader (parser) features not-specific to any particular format backend.
StreamWriteCapability Set of on/off capabilities that a `JsonGenerator` for given format (or in case of buffering, original format) has.
StreamWriteFeature Token writer (generator) features not-specific to any particular format backend.
TokenStreamFactory Intermediate base class for actual format-specific factories for constructing parsers (reading) and generators (writing).
TreeCodec Interface that defines objects that can read and write `TreeNode` instances using Streaming API.
TreeNode Marker interface used to denote JSON Tree nodes, as far as the core package knows them (which is very little): mostly needed to allow `ObjectCodec` to have some level of interoperability.
TSFBuilder Since 2.10, Builder class is offered for creating token stream factories with difference configurations: with 3.x they will be fully immutable.
Version Object that encapsulates versioning information of a component.
Versioned Interface that those Jackson components that are explicitly versioned will implement.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.base
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
JsonGenerator Base class that defines public API for writing JSON content.
JsonGenerator.Feature Enumeration that defines all togglable features for generators.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
JsonParser Base class that defines public API for reading JSON content.
JsonParser.Feature Enumeration that defines all on/off features for parsers.
JsonParser.NumberType Enumeration of possible "native" (optimal) types that can be used for numbers.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
ObjectCodec Abstract class that defines the interface that `JsonParser` and `JsonGenerator` use to serialize and deserialize regular Java objects (POJOs aka Beans).
PrettyPrinter Interface for objects that implement pretty printer functionality, such as indentation.
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.
StreamReadCapability Set of on/off capabilities that a `JsonParser` for given format (or in case of buffering, original format) has.
TreeNode Marker interface used to denote JSON Tree nodes, as far as the core package knows them (which is very little): mostly needed to allow `ObjectCodec` to have some level of interoperability.
Version Object that encapsulates versioning information of a component.
Versioned Interface that those Jackson components that are explicitly versioned will implement.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.exc
Class and Description
JacksonException Base class for all Jackson-produced checked exceptions.
JsonGenerator Base class that defines public API for writing JSON content.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParser Base class that defines public API for reading JSON content.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.filter
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
JsonGenerator Base class that defines public API for writing JSON content.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParser Base class that defines public API for reading JSON content.
JsonParser.NumberType Enumeration of possible "native" (optimal) types that can be used for numbers.
JsonPointer Implementation of JSON Pointer specification.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.
Versioned Interface that those Jackson components that are explicitly versioned will implement.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.format
Class and Description
JsonFactory The main factory class of Jackson package, used to configure and construct reader (aka parser, `JsonParser`) and writer (aka generator, `JsonGenerator`) instances.
JsonParser Base class that defines public API for reading JSON content.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.io
Class and Description
JacksonException Base class for all Jackson-produced checked exceptions.
JsonEncoding Enumeration that defines legal encodings that can be used for JSON content, based on list of allowed encodings from JSON specification.
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
JsonParser Base class that defines public API for reading JSON content.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.json
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
FormatFeature Marker interface that is to be implemented by data format - specific features.
JsonEncoding Enumeration that defines legal encodings that can be used for JSON content, based on list of allowed encodings from JSON specification.
JsonGenerationException Exception type for exceptions during JSON writing, such as trying to output content in wrong context (non-matching end-array or end-object, for example).
JsonGenerator Base class that defines public API for writing JSON content.
JsonGenerator.Feature Enumeration that defines all togglable features for generators.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
JsonParser Base class that defines public API for reading JSON content.
JsonParser.Feature Enumeration that defines all on/off features for parsers.
JsonProcessingException Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems.
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
ObjectCodec Abstract class that defines the interface that `JsonParser` and `JsonGenerator` use to serialize and deserialize regular Java objects (POJOs aka Beans).
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.
StreamReadCapability Set of on/off capabilities that a `JsonParser` for given format (or in case of buffering, original format) has.
StreamWriteCapability Set of on/off capabilities that a `JsonGenerator` for given format (or in case of buffering, original format) has.
Version Object that encapsulates versioning information of a component.
Versioned Interface that those Jackson components that are explicitly versioned will implement.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.json.async
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParseException Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
JsonParser Base class that defines public API for reading JSON content.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
ObjectCodec Abstract class that defines the interface that `JsonParser` and `JsonGenerator` use to serialize and deserialize regular Java objects (POJOs aka Beans).
StreamReadCapability Set of on/off capabilities that a `JsonParser` for given format (or in case of buffering, original format) has.
Versioned Interface that those Jackson components that are explicitly versioned will implement.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.type
Class and Description
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.

Classes in com.fasterxml.jackson.core used by com.fasterxml.jackson.core.util
Class and Description
Base64Variant Class used to define specific details of which variant of Base64 encoding/decoding is to be used.
FormatSchema Simple tag interface used to mark schema objects that are used by some `JsonParser` and `JsonGenerator` implementations to further specify structure of expected format.
JsonGenerator Base class that defines public API for writing JSON content.
JsonGenerator.Feature Enumeration that defines all togglable features for generators.
JsonLocation Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.
JsonParser Base class that defines public API for reading JSON content.
JsonParser.Feature Enumeration that defines all on/off features for parsers.
JsonParser.NumberType Enumeration of possible "native" (optimal) types that can be used for numbers.
JsonStreamContext Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API.
JsonToken Enumeration for basic token types used for returning results of parsing JSON content.
ObjectCodec Abstract class that defines the interface that `JsonParser` and `JsonGenerator` use to serialize and deserialize regular Java objects (POJOs aka Beans).
PrettyPrinter Interface for objects that implement pretty printer functionality, such as indentation.
SerializableString Interface that defines how Jackson package can interact with efficient pre-serialized or lazily-serialized and reused String representations.
StreamReadCapability Set of on/off capabilities that a `JsonParser` for given format (or in case of buffering, original format) has.
StreamWriteCapability Set of on/off capabilities that a `JsonGenerator` for given format (or in case of buffering, original format) has.
TreeNode Marker interface used to denote JSON Tree nodes, as far as the core package knows them (which is very little): mostly needed to allow `ObjectCodec` to have some level of interoperability.
Version Object that encapsulates versioning information of a component.
Versioned Interface that those Jackson components that are explicitly versioned will implement.