|
||||||||||
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.ObjectRing
Circular buffer of Object references. This class is not thread-safe.
Constructor Summary | |
ObjectRing()
Constructs an empty buffer with a capacity of 16. |
|
ObjectRing(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. |
Object |
getObject(int index)
Gets the value of a particular Object |
Object[] |
getRange(int start,
int end)
Gets a range of values as a new array. |
void |
getRange(int start,
int end,
Object[] 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. |
Object |
popBack()
Pop an Object from the back. |
Object[] |
popBack(int size)
Pop an Object array from the back. |
void |
popBack(int size,
Object[] buffer,
int pos)
Pop an Object array from the back. |
Object |
popFront()
Pop an Object from the front. |
Object[] |
popFront(int size)
Pop an Object array from the front. |
void |
popFront(int size,
Object[] buffer,
int pos)
Pop an Object array from the front. |
void |
pushBack(Object v)
Push an Object to the back |
void |
pushBack(Object[] array)
Push an Object array to the back |
void |
pushFront(Object v)
Push an Object to the front |
void |
pushFront(Object[] array)
Push an Object array to the front |
void |
setObject(int index,
Object value)
Sets the value of a particular Object |
void |
setRange(int start,
int end,
Object[] 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 ObjectRing(int initialCapacity)
initialCapacity
- the initial capacity of the buffer.
IllegalArgumentException
- if the specified initial capacity
is negativepublic ObjectRing()
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 Object getObject(int index)
index
- index to query
public void setObject(int index, Object value)
index
- index to setvalue
- the Objectpublic void getRange(int start, int end, Object[] 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 Object[] 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, Object[] 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(Object v)
v
- the Objectpublic void pushFront(Object[] array)
array
- the arraypublic void pushBack(Object v)
v
- the Objectpublic void pushBack(Object[] array)
array
- the arraypublic Object popBack()
NoSuchElementException
- ring is emptypublic Object[] popBack(int size)
size
- number of Objects to pop.
NoSuchElementException
- ring isn't large enoughpublic void popBack(int size, Object[] buffer, int pos)
size
- number of Objects to pop.buffer
- the array to populatepos
- position in the buffer
NoSuchElementException
- ring isn't large enoughpublic Object popFront()
NoSuchElementException
- ring is emptypublic Object[] popFront(int size)
size
- number of Objects to pop.
NoSuchElementException
- ring isn't large enoughpublic void popFront(int size, Object[] buffer, int pos)
size
- number of Objects 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 |