Module tools.jackson.core
Package tools.jackson.core.util
package tools.jackson.core.util
Utility classes used by Jackson Core functionality.
-
ClassDescriptionThis is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers.Tag-on interface to allow various other types to expose
BufferRecyclerthey are constructed with.Deprecated.Since 3.0Helper class that is similar toByteArrayOutputStreamin usage, but more geared to Jackson use cases internally.Default linefeed-based indenter, used byDefaultPrettyPrinter(unless overridden).DefaultPrettyPrinterimplementation that uses 2-space indentation with platform-default linefeeds.This is a very simple indenter that only adds a single space for indentation.Interface that defines objects that can produce indentation used to separate object entries and array values.Dummy implementation that adds no indentation whatsoeverAdd-on interface used to indicate things that may be "blueprint" objects which cannot be used as is, but are used for creating usable per-process (serialization, deserialization) instances, usingInstantiatable.createInstance()method.Internal Use Only.Singleton class that adds a simple first-level cache in front of regular String.intern() functionality.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<F extends JacksonFeature>Container similar toEnumSetmeant for storing sets ofJacksonFeatures (usuallyEnums): main difference being that these sets are immutable.Simple interface to allow adding decorators aroundJsonGenerators.Helper class that implements delegation pattern forJsonParser, to allow for simple overridability of basic parsing functionality.Helper class that can be used to sequence multiple physicalJsonParsers to create a single logical sequence of tokens, as a singleJsonParser.ConvenienceCharacterEscapesimplementation 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).Set ofRecyclerPoolimplementations to be used by the default JSON-backedJsonFactoryfor recyclingBufferRecyclercontainers.RecyclerPoolimplementation that uses a bounded queue (ArrayBlockingQueuefor recycling instances.RecyclerPoolimplementation that usesConcurrentLinkedDequefor recycling instances.DummyRecyclerPoolimplementation that does not recycle anything but simply creates new instances when asked to acquire items.ThreadLocal-basedRecyclerPoolimplementation used for recyclingBufferRecyclerinstances: seeRecyclerPool.ThreadLocalPoolBasefor full explanation of functioning.PrettyPrinterimplementation 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.Simple tag interface used primarily to allow databind to pass entities with name without needing to expose more details of implementation.RecyclerPool<P extends RecyclerPool.WithPool<P>>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<P extends RecyclerPool.WithPool<P>>RecyclerPoolimplementation that uses a bounded queue (ArrayBlockingQueuefor recycling instances.RecyclerPool.ConcurrentDequePoolBase<P extends RecyclerPool.WithPool<P>>RecyclerPoolimplementation that usesConcurrentLinkedDequefor recycling instances.RecyclerPool.NonRecyclingPoolBase<P extends RecyclerPool.WithPool<P>>RecyclerPoolimplementation that does not use any pool but simply creates new instances when necessary.RecyclerPool.StatefulImplBase<P extends RecyclerPool.WithPool<P>>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<P extends RecyclerPool.WithPool<P>>DefaultRecyclerPoolimplementation that usesThreadLocalfor recycling instances.RecyclerPool.WithPool<P extends RecyclerPool.WithPool<P>>Simple add-on interface that poolable entities must implement.Value class used with somePrettyPrinterimplementsDefine the spacing around elements like commas and colons.Basic implementation ofTokenStreamContextuseful for most format backendJsonParserimplementations (with notable exception of JSON that needs bit more advanced state).Basic implementation ofTokenStreamContextuseful for most format backendJsonGeneratorimplementations (with notable exception of JSON that needs bit more advanced state).Interface that defines one method (seeSnapshottable.snapshot()) for ensuring that we get an instance that does not allow modifying state of `this` instance.TextBuffer is a class similar toStringBuffer, with following differences: TextBuffer uses segments character arrays, to avoid having to do additional array copies when array is not big enough.Functionality for supporting exposing of componentVersions.