com.fasterxml.sort.util
Class SegmentedBuffer

java.lang.Object
  extended by com.fasterxml.sort.util.SegmentedBuffer

public class SegmentedBuffer
extends Object

Helper class used instead of a standard JDK list or buffer, to avoid constant re-allocations.


Constructor Summary
SegmentedBuffer()
           
 
Method Summary
 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.
 int bufferedSize()
          Method that can be used to check how many Objects have been buffered within this buffer.
 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.
 int initialCapacity()
          Helper method that can be used to check how much free capacity will this instance start with.
 Object[] resetAndStart()
          Method called to start buffering process.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SegmentedBuffer

public SegmentedBuffer()
Method Detail

resetAndStart

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


appendCompletedChunk

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.

Parameters:
fullChunk - Completed chunk that the caller is requesting to append to this buffer. It is generally chunk that was returned by an earlier call to resetAndStart() or appendCompletedChunk(java.lang.Object[]) (although this is not required or enforced)
Returns:
New chunk buffer for caller to fill

completeAndClearBuffer

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 Object[] type: if a typed array is needed, use the method with additional type argument.


initialCapacity

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.


bufferedSize

public int bufferedSize()
Method that can be used to check how many Objects have been buffered within this buffer.



Copyright © 2011. All Rights Reserved.