# Uses of Package
com.fasterxml.jackson.core.util

Packages that use com.fasterxml.jackson.core.util
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.io
com.fasterxml.jackson.core.json: JSON-specific parser and generator implementation classes that Jackson defines and uses.
com.fasterxml.jackson.core.sym: Internal implementation classes for efficient handling of of symbols in JSON (field names in Objects)
com.fasterxml.jackson.core.util: Utility classes used by Jackson Core functionality.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core
Class and Description
BufferRecycler This is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers.
ByteArrayBuilder Helper class that is similar to `ByteArrayOutputStream` in usage, but more geared to Jackson use cases internally.
JacksonFeature Basic API implemented by Enums used for simple Jackson "features": on/off settings and capabilities exposed as something that can be internally represented as bit sets.
JacksonFeatureSet Container similar to `EnumSet` meant for storing sets of `JacksonFeature`s (usually `Enum`s): main difference being that these sets are immutable.
JsonGeneratorDecorator Simple interface to allow adding decorators around `JsonGenerator`s.
RecyclerPool API for object pools that control creation and possible reuse of objects that are costly to create (often things like encoding/decoding buffers).
RequestPayload Container object used to contain optional information on content being parsed, passed to `JsonParseException` in case of exception being thrown; this may be useful for caller to display information on failure.
Separators Value class used with some `PrettyPrinter` implements

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.base
Class and Description
ByteArrayBuilder Helper class that is similar to `ByteArrayOutputStream` in usage, but more geared to Jackson use cases internally.
JacksonFeatureSet Container similar to `EnumSet` meant for storing sets of `JacksonFeature`s (usually `Enum`s): main difference being that these sets are immutable.
TextBuffer TextBuffer is a class similar to `StringBuffer`, with following differences: TextBuffer uses segments character arrays, to avoid having to do additional array copies when array is not big enough.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.exc
Class and Description
RequestPayload Container object used to contain optional information on content being parsed, passed to `JsonParseException` in case of exception being thrown; this may be useful for caller to display information on failure.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.filter
Class and Description
JsonGeneratorDelegate
JsonParserDelegate Helper class that implements delegation pattern for `JsonParser`, to allow for simple overridability of basic parsing functionality.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.io
Class and Description
BufferRecycler This is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers.
BufferRecycler.Gettable Tag-on interface to allow various other types to expose `BufferRecycler` they are constructed with.
TextBuffer TextBuffer is a class similar to `StringBuffer`, with following differences: TextBuffer uses segments character arrays, to avoid having to do additional array copies when array is not big enough.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.json
Class and Description
JacksonFeature Basic API implemented by Enums used for simple Jackson "features": on/off settings and capabilities exposed as something that can be internally represented as bit sets.
JacksonFeatureSet Container similar to `EnumSet` meant for storing sets of `JacksonFeature`s (usually `Enum`s): main difference being that these sets are immutable.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.sym
Class and Description
InternCache Singleton class that adds a simple first-level cache in front of regular String.intern() functionality.

Classes in com.fasterxml.jackson.core.util used by com.fasterxml.jackson.core.util
Class and Description
BufferRecycler This is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers.
BufferRecycler.Gettable Tag-on interface to allow various other types to expose `BufferRecycler` they are constructed with.
ByteArrayBuilder Helper class that is similar to `ByteArrayOutputStream` in usage, but more geared to Jackson use cases internally.
DefaultIndenter Default linefeed-based indenter, used by `DefaultPrettyPrinter` (unless overridden).
DefaultPrettyPrinter Default `PrettyPrinter` implementation that uses 2-space indentation with platform-default linefeeds.
DefaultPrettyPrinter.FixedSpaceIndenter This is a very simple indenter that only adds a single space for indentation.
DefaultPrettyPrinter.Indenter Interface that defines objects that can produce indentation used to separate object entries and array values.
DefaultPrettyPrinter.NopIndenter Dummy implementation that adds no indentation whatsoever
Instantiatable Add-on interface used to indicate things that may be "blueprint" objects which can not be used as is, but are used for creating usable per-process (serialization, deserialization) instances, using `Instantiatable.createInstance()` method.
InternCache Singleton class that adds a simple first-level cache in front of regular String.intern() functionality.
JacksonFeature Basic API implemented by Enums used for simple Jackson "features": on/off settings and capabilities exposed as something that can be internally represented as bit sets.
JacksonFeatureSet Container similar to `EnumSet` meant for storing sets of `JacksonFeature`s (usually `Enum`s): main difference being that these sets are immutable.
JsonParserDelegate Helper class that implements delegation pattern for `JsonParser`, to allow for simple overridability of basic parsing functionality.
JsonParserSequence Helper class that can be used to sequence multiple physical `JsonParser`s to create a single logical sequence of tokens, as a single `JsonParser`.
JsonRecyclerPools.BoundedPool `RecyclerPool` implementation that uses a bounded queue (`ArrayBlockingQueue` for recycling instances.
JsonRecyclerPools.ConcurrentDequePool `RecyclerPool` implementation that uses `ConcurrentLinkedDeque` for recycling instances.
JsonRecyclerPools.LockFreePool Deprecated. Since 2.18: use other implementations instead
JsonRecyclerPools.NonRecyclingPool Dummy `RecyclerPool` implementation that does not recycle anything but simply creates new instances when asked to acquire items.
JsonRecyclerPools.ThreadLocalPool `ThreadLocal`-based `RecyclerPool` implementation used for recycling `BufferRecycler` instances: see `RecyclerPool.ThreadLocalPoolBase` for full explanation of functioning.
MinimalPrettyPrinter `PrettyPrinter` implementation that adds no indentation, just implements everything necessary for value output to work as expected, and provide simpler extension points to allow for creating simple custom implementations that add specific decoration or overrides.
RecyclerPool API for object pools that control creation and possible reuse of objects that are costly to create (often things like encoding/decoding buffers).
RecyclerPool.BoundedPoolBase `RecyclerPool` implementation that uses a bounded queue (`ArrayBlockingQueue` for recycling instances.
RecyclerPool.ConcurrentDequePoolBase `RecyclerPool` implementation that uses `ConcurrentLinkedDeque` for recycling instances.
RecyclerPool.LockFreePoolBase Deprecated. Since 2.18: use other implementations
RecyclerPool.NonRecyclingPoolBase `RecyclerPool` implementation that does not use any pool but simply creates new instances when necessary.
RecyclerPool.StatefulImplBase Intermediate base class for instances that are stateful and require special handling with respect to JDK serialization, to retain "global" reference distinct from non-shared ones.
RecyclerPool.ThreadLocalPoolBase Default `RecyclerPool` implementation that uses `ThreadLocal` for recycling instances.
RecyclerPool.WithPool Simple add-on interface that poolable entities must implement.
Separators Value class used with some `PrettyPrinter` implements
Separators.Spacing Define the spacing around elements like commas and colons.
TextBuffer TextBuffer is a class similar to `StringBuffer`, with following differences: TextBuffer uses segments character arrays, to avoid having to do additional array copies when array is not big enough.