|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.virtuosotechnologies.lib.ring.AbstractRing com.virtuosotechnologies.lib.ring.ByteRing
Circular buffer of bytes. This class is not thread-safe.
Constructor Summary | |
ByteRing()
Constructs an empty buffer with a capacity of 16. |
|
ByteRing(int initialCapacity)
Constructs an empty buffer with the specified initial capacity. |
Method Summary | |
protected Object |
allocateArray(int capacity)
Override this method to allocate an array of the desired type. |
protected void |
clearArrayValues(Object array,
int start,
int end)
Override this method to clear the specified values in the array. |
protected int |
getArrayLength(Object array)
Override this method to get the length of the array. |
byte |
getByte(int index)
Gets the value of a particular byte |
byte[] |
getRange(int start,
int end)
Gets a range of values as a new array. |
void |
getRange(int start,
int end,
byte[] destination,
int pos)
Gets a range of values and copies it into the given array. |
protected void |
initArrayValues(Object array,
int start,
int end)
Override this method to initialize the specified values in the array. |
byte |
popBack()
Pop a byte from the back. |
byte[] |
popBack(int size)
Pop a byte array from the back. |
void |
popBack(int size,
byte[] buffer,
int pos)
Pop a byte array from the back. |
byte |
popFront()
Pop a byte from the front. |
byte[] |
popFront(int size)
Pop a byte array from the front. |
void |
popFront(int size,
byte[] buffer,
int pos)
Pop a byte array from the front. |
void |
pushBack(byte b)
Push a byte to the back |
void |
pushBack(byte[] array)
Push a byte array to the back |
void |
pushFront(byte b)
Push a byte to the front |
void |
pushFront(byte[] array)
Push a byte array to the front |
void |
setByte(int index,
byte value)
Sets the value of a particular byte |
void |
setRange(int start,
int end,
byte[] source,
int pos)
Sets a range of values from the given array. |
Methods inherited from class com.virtuosotechnologies.lib.ring.AbstractRing |
addBack, addFront, addMiddle, calculateRawIndex, clear, ensureCapacity, getRangeRaw, getRawArray, getSize, removeBack, removeFront, removeMiddle, setRangeRaw, trimToSize |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ByteRing(int initialCapacity)
initialCapacity
- the initial capacity of the buffer.
IllegalArgumentException
- if the specified initial capacity
is negativepublic ByteRing()
Method Detail |
protected Object allocateArray(int capacity)
allocateArray
in class AbstractRing
capacity
- size of the array to allocate
protected int getArrayLength(Object array)
getArrayLength
in class AbstractRing
array
- an array object
protected void clearArrayValues(Object array, int start, int end)
clearArrayValues
in class AbstractRing
array
- an array objectstart
- the index of the first item to clearend
- one more than the index of the last item to clearprotected void initArrayValues(Object array, int start, int end)
initArrayValues
in class AbstractRing
array
- an array objectstart
- the index of the first item to initializeend
- one more than the index of the last item to initializepublic byte getByte(int index)
index
- index to query
public void setByte(int index, byte value)
index
- index to setvalue
- the bytepublic void getRange(int start, int end, byte[] destination, int pos)
start
- starting position in the bufferend
- one more than the ending position in the bufferdestination
- destination arraypos
- starting position in the destination arraypublic byte[] getRange(int start, int end)
start
- starting position in the bufferend
- one more than the ending position in the buffer
public void setRange(int start, int end, byte[] source, int pos)
start
- starting position in the bufferend
- one more than the ending position in the buffersource
- source arraypos
- starting position in the source arraypublic void pushFront(byte b)
b
- the bytepublic void pushFront(byte[] array)
array
- the arraypublic void pushBack(byte b)
b
- the bytepublic void pushBack(byte[] array)
array
- the arraypublic byte popBack()
NoSuchElementException
- ring is emptypublic byte[] popBack(int size)
size
- number of bytes to pop.
NoSuchElementException
- ring isn't large enoughpublic void popBack(int size, byte[] buffer, int pos)
size
- number of bytes to pop.buffer
- the array to populatepos
- position in the buffer
NoSuchElementException
- ring isn't large enoughpublic byte popFront()
NoSuchElementException
- ring is emptypublic byte[] popFront(int size)
size
- number of bytes to pop.
NoSuchElementException
- ring isn't large enoughpublic void popFront(int size, byte[] buffer, int pos)
size
- number of bytes to pop.buffer
- the array to populatepos
- position in the buffer
NoSuchElementException
- ring isn't large enough
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |