Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.fasterxml.aalto.util
Class BufferRecycler

    java.lang.Object
      com.fasterxml.aalto.util.BufferRecycler

    public final class BufferRecycler

extends Object

This is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers. It is usually used through `ThreadLocal` member of the owning class pointing to instance of this class through a `SoftReference`. The end result is a low-overhead GC-cleanable recycling: hopefully ideal for use by stream readers.

Regarding implementation: the key design goal is simplicity; and to that end, different types of buffers are handled separately. While code may look inelegant as a result (would be cleaner to just have generic char[]/byte[] buffer accessors), benefit is that no data structures are needed, just simple references. As long as usage pattern is well known (which it is, for stream readers) this should be highly optimal and robust implementation.

Constructor Summary
`BufferRecycler()`

Method Summary
`byte[]` | `getFullBBuffer(int minSize)`
`char[]` | `getFullCBuffer(int minSize)`
`char[]` | `getMediumCBuffer(int minSize)`
`char[]` | `getSmallCBuffer(int minSize)`
`void` | `returnFullBBuffer(byte[] buffer)`
`void` | `returnFullCBuffer(char[] buffer)`
`void` | `returnMediumCBuffer(char[] buffer)`
`void` | `returnSmallCBuffer(char[] buffer)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BufferRecycler

    public BufferRecycler()

Method Detail

### getSmallCBuffer

    public char[] getSmallCBuffer(int minSize)

### returnSmallCBuffer

    public void returnSmallCBuffer(char[] buffer)

### getMediumCBuffer

    public char[] getMediumCBuffer(int minSize)

### returnMediumCBuffer

    public void returnMediumCBuffer(char[] buffer)

### getFullCBuffer

    public char[] getFullCBuffer(int minSize)

### returnFullCBuffer

    public void returnFullCBuffer(char[] buffer)

### getFullBBuffer

    public byte[] getFullBBuffer(int minSize)

### returnFullBBuffer

    public void returnFullBBuffer(byte[] buffer)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 Fasterxml.com. All Rights Reserved.