Package com.fasterxml.jackson.core.util

# Class BufferRecyclers

java.lang.Object
com.fasterxml.jackson.core.util.BufferRecyclers

@Deprecated public class BufferRecyclers extends Object
Deprecated.
Since 2.16 recycling aspects are handled via `RecyclerPool`.
Helper entity used to control access to simple buffer recycling scheme used for some encoding, decoding tasks.

Since:
  2.9.2
See Also:
  - `BufferRecycler`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final ThreadLocal<SoftReference<BufferRecycler>>`
`_recyclerRef`
Deprecated.
This `ThreadLocal` contains a `SoftReference` to a `BufferRecycler` used to provide a low-cost buffer recycling between reader and writer instances.
`static final String`
`SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS`
Deprecated.
System property that is checked to see if recycled buffers (see `BufferRecycler`) should be tracked, for purpose of forcing release of all such buffers, typically during major garbage-collection.

## Constructor Summary

Constructors
Constructor
Description
`BufferRecyclers()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`static byte[]`
`encodeAsUTF8(String text)`
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `encodeAsUTF8()`) instead.
`static BufferRecycler`
`getBufferRecycler()`
Deprecated.
Since 2.16 should use `RecyclerPool` abstraction instead of calling static methods of this class
`static JsonStringEncoder`
`getJsonStringEncoder()`
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` instead.
`static void`
`quoteAsJsonText(CharSequence input, StringBuilder output)`
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `quoteAsString()`) instead.
`static char[]`
`quoteAsJsonText(String rawText)`
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `quoteAsString()`) instead.
`static byte[]`
`quoteAsJsonUTF8(String rawText)`
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` (and then `quoteAsUTF8()`) instead.
`static int`
`releaseBuffers()`
Deprecated.
Specialized method that will release all recycled `BufferRecycler` if (and only if) recycler tracking has been enabled (see `SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS`).

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS

public static final String SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS
Deprecated.
System property that is checked to see if recycled buffers (see `BufferRecycler`) should be tracked, for purpose of forcing release of all such buffers, typically during major garbage-collection.

Since:
  2.9.6
See Also:
  - Constant Field Values

### _recyclerRef

protected static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
Deprecated.
This `ThreadLocal` contains a `SoftReference` to a `BufferRecycler` used to provide a low-cost buffer recycling between reader and writer instances.

## Constructor Details

### BufferRecyclers

public BufferRecyclers()
Deprecated.

## Method Details

### getBufferRecycler

@Deprecated public static BufferRecycler getBufferRecycler()
Deprecated.
Since 2.16 should use `RecyclerPool` abstraction instead of calling static methods of this class
Main accessor to call for accessing possibly recycled `BufferRecycler` instance.

Returns:
  `BufferRecycler` to use

### releaseBuffers

public static int releaseBuffers()
Deprecated.
Specialized method that will release all recycled `BufferRecycler` if (and only if) recycler tracking has been enabled (see `SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS`). This method is usually called on shutdown of the container like Application Server to ensure that no references are reachable via `ThreadLocal`s as this may cause unintentional retention of sizable amounts of memory. It may also be called regularly if GC for some reason does not clear up `SoftReference`s aggressively enough.

Returns:
  Number of buffers released, if tracking enabled (zero or more); -1 if tracking not enabled.
Since:
  2.9.6

### getJsonStringEncoder

@Deprecated public static JsonStringEncoder getJsonStringEncoder()
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` instead. NOTE: was accidentally removed but reintroduced as deprecated in 2.12.5, to be removed from 3.0)
Not to be used any more.

Returns:
  `JsonStringEncoder` instance to use.

### encodeAsUTF8

@Deprecated public static byte[] encodeAsUTF8(String text)
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `encodeAsUTF8()`) instead. NOTE: was accidentally removed but reintroduced as deprecated in 2.12.5, to be removed from 3.0)
Not to be used any more.

Parameters:
  `text` - String to encode
Returns:
  String encoded as UTF-8 bytes.

### quoteAsJsonText

@Deprecated public static char[] quoteAsJsonText(String rawText)
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `quoteAsString()`) instead. NOTE: was accidentally removed but reintroduced as deprecated in 2.12.5, to be removed from 3.0)
Not to be used any more:

Parameters:
  `rawText` - String to quote
Returns:
  Quoted text as `char[]`

### quoteAsJsonText

@Deprecated public static void quoteAsJsonText(CharSequence input, StringBuilder output)
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` and then `quoteAsString()`) instead. NOTE: was accidentally removed but reintroduced as deprecated in 2.12.5, to be removed from 3.0)
Not to be used any more.

Parameters:
  `input` - Textual content to quote
  `output` - Builder to append quoted content

### quoteAsJsonUTF8

@Deprecated public static byte[] quoteAsJsonUTF8(String rawText)
Deprecated.
Since 2.10 call `JsonStringEncoder.getInstance()` (and then `quoteAsUTF8()`) instead. NOTE: was accidentally removed but reintroduced as deprecated in 2.12.5, to be removed from 3.0)
Not to be used any more.

Parameters:
  `rawText` - String to quote
Returns:
  Quoted text as `byte[]`