| Modifier and Type | Field and Description |
|---|---|
| private Object[] | _freeBuffer
Reusable Object array, stored here after buffer has been released having been used previously. |
| private LinkedNode | |
| private int | |
| private LinkedNode | |
| private static final int | MAX_CHUNK
Let's limit maximum size of chunks we use; helps avoid excessive allocation overhead for huge data sets. |
| private static final int | SMALL_CHUNK
Also: let's expand by doubling up until 64k chunks (which is 16k entries for 32-bit machines) |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected final void | |
| protected void | |
| public Object[] | Returns: New chunk buffer for caller to fillCompleted chunk that the caller is requesting
to append to this buffer. It is generally chunk that was
returned by an earlier call to fullChunk)resetAndStart or
appendCompletedChunk (although this is not required or
enforced)Method called to add a full Object array as a chunk buffered within this buffer, and to obtain a new array to fill. |
| public int | bufferedSize()
Method that can be used to check how many Objects have been buffered within this buffer. |
| public Object[] | completeAndClearBuffer(Object[] lastChunk, int lastChunkEntries)
Method called to indicate that the buffering process is now complete; and to construct a combined exactly-sized result array. |
| public <T> T[] | completeAndClearBuffer(Object[] lastChunk, int lastChunkEntries, Class<T>
Type of elements included in the buffer. Will be
used for constructing the result array. componentType)Type-safe alternative to
|
| public void | |
| public int | initialCapacity()
Helper method that can be used to check how much free capacity will this instance start with. |
| public Object[] | |
| public Object[] |
| _freeBuffer | back to summary |
|---|---|
| private Object[] _freeBuffer Reusable Object array, stored here after buffer has been released having been used previously. | |
| _head | back to summary |
|---|---|
| private LinkedNode<Object[]> _head | |
| _size | back to summary |
|---|---|
| private int _size Number of total buffered entries in this buffer, counting all instances
within linked list formed by following | |
| _tail | back to summary |
|---|---|
| private LinkedNode<Object[]> _tail | |
| MAX_CHUNK | back to summary |
|---|---|
| private static final int MAX_CHUNK Let's limit maximum size of chunks we use; helps avoid excessive allocation overhead for huge data sets. For now, let's limit to quarter million entries, 1 meg chunks for 32-bit machines. | |
| SMALL_CHUNK | back to summary |
|---|---|
| private static final int SMALL_CHUNK Also: let's expand by doubling up until 64k chunks (which is 16k entries for 32-bit machines) | |
| ObjectBuffer | back to summary |
|---|---|
| public ObjectBuffer() | |
| _copyTo | back to summary |
|---|---|
| protected final void _copyTo(Object resultArray, int totalSize, Object[] lastChunk, int lastChunkEntries) | |
| _reset | back to summary |
|---|---|
| protected void _reset() | |
| appendCompletedChunk | back to summary |
|---|---|
| public Object[] appendCompletedChunk(Object[] fullChunk) Method called to add a full Object array as a chunk buffered within this buffer, and to obtain a new array to fill. Caller is not to use the array it gives; but to use the returned array for continued buffering.
| |
| bufferedSize | back to summary |
|---|---|
| public int bufferedSize() Method that can be used to check how many Objects have been buffered within this buffer. | |
| completeAndClearBuffer | back to summary |
|---|---|
| public Object[] completeAndClearBuffer(Object[] lastChunk, int lastChunkEntries) Method called to indicate that the buffering process is now complete; and to construct a combined exactly-sized result array. Additionally the buffer itself will be reset to reduce memory retention.
Resulting array will be of generic | |
| completeAndClearBuffer | back to summary |
|---|---|
| public <T> T[] completeAndClearBuffer(Object[] lastChunk, int lastChunkEntries, Class<T> componentType) Type-safe alternative to
| |
| completeAndClearBuffer | back to summary |
|---|---|
| public void completeAndClearBuffer(Object[] lastChunk, int lastChunkEntries, List<Object> resultList) | |
| initialCapacity | back to summary |
|---|---|
| public int initialCapacity() Helper method that can be used to check how much free capacity will this instance start with. Can be used to choose the best instance to reuse, based on size of reusable object chunk buffer holds reference to. | |
| resetAndStart | back to summary |
|---|---|
| public Object[] resetAndStart() Method called to start buffering process. Will ensure that the buffer is empty, and then return an object array to start chunking content on | |
| resetAndStart | back to summary |
|---|---|
public Object[] resetAndStart(Object[] base, int count)
| |