Package com.blackrook.redis.struct
Class DataList
- java.lang.Object
 - 
- com.blackrook.redis.struct.DataList
 
 
- 
public class DataList extends Object
A mutable buffer of data.- Author:
 - Matthew Tropiano
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CAPACITYDefault capacity for a new list. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataListappend(byte b)Appends a byte to the end of this buffer.DataListappend(byte[] b)Appends a series of bytes to the end of this buffer.DataListappend(byte[] b, int offset, int length)Appends a series of bytes to the end of this buffer.protected voidcapacityCheck(int requiredLength)Increases the size of the internal buffer if necessary.DataListclear()Deletes all bytes from this buffer.DataListdelete(int startIndex, int length)Deletes a series of bytes from this buffer.intgetCapacity()Gets the capacity of this buffer.intgetCapacityIncrement()Returns the capacity increment value.voidgetData(int offset, byte[] out)Gets a subset of data from this buffer.byte[]getData(int offset, int length)Gets a subset of data from this buffer.DataListinsertAt(byte[] b, int startIndex)Inserts a series of bytes into this buffer at a specific index.booleanisEmpty()voidsetCapacity(int capacity)Sets this buffer's capacity to some value.voidsetCapacityIncrement(int capacityInc)Sets the capacity increment value.intsize()byte[]toByteArray()Returns the bytes in this vector into an array.StringtoString() 
 - 
 
- 
- 
Field Detail
- 
DEFAULT_CAPACITY
public static final int DEFAULT_CAPACITY
Default capacity for a new list.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Constructor Detail
- 
DataList
public DataList()
Makes a new volatile list. 
- 
DataList
public DataList(int capacity)
Makes a new buffer that doubles every resize.- Parameters:
 capacity- the initial capacity of this list. If 0 or less, it is 1.
 
- 
DataList
public DataList(int capacity, int capacityInc)Makes a new buffer.- Parameters:
 capacity- the initial capacity of this list.capacityInc- what to increase the capacity of this list by if this reaches the max. if 0 or less, it will double.
 
 - 
 
- 
Method Detail
- 
getData
public byte[] getData(int offset, int length)Gets a subset of data from this buffer.- Parameters:
 offset- the offset into the vector.length- the length of data in bytes to copy.- Returns:
 - a byte array of the requested data.
 - Throws:
 IndexOutOfBoundsException- if offset plus length exceeds size.
 
- 
getData
public void getData(int offset, byte[] out)Gets a subset of data from this buffer.- Parameters:
 offset- the offset into the vector.out- the target array to copy into.- Throws:
 IndexOutOfBoundsException- if offset plus length exceeds size.
 
- 
getCapacity
public int getCapacity()
Gets the capacity of this buffer.- Returns:
 - the current capacity in bytes.
 
 
- 
setCapacity
public void setCapacity(int capacity)
Sets this buffer's capacity to some value. If this buffer is set to a capacity that is less than the current one, it will cut the buffer short. If the capacity argument is 0 or less, it is set to 1.- Parameters:
 capacity- the new capacity of this buffer.
 
- 
getCapacityIncrement
public int getCapacityIncrement()
Returns the capacity increment value.- Returns:
 - the current capacity increment.
 
 
- 
setCapacityIncrement
public void setCapacityIncrement(int capacityInc)
Sets the capacity increment value.- Parameters:
 capacityInc- what to increase the capacity of this list by if this reaches the max. if 0 or less, it will double.
 
- 
size
public int size()
- Returns:
 - the amount of bytes in the buffer.
 
 
- 
isEmpty
public boolean isEmpty()
 
- 
append
public DataList append(byte b)
Appends a byte to the end of this buffer.- Parameters:
 b- the byte to add.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
append
public DataList append(byte[] b)
Appends a series of bytes to the end of this buffer.- Parameters:
 b- the bytes to add.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
append
public DataList append(byte[] b, int offset, int length)
Appends a series of bytes to the end of this buffer.- Parameters:
 b- the bytes to add.offset- the offset into the array to start the copy.length- the amount of bytes to copy from the source array into the buffer.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
insertAt
public DataList insertAt(byte[] b, int startIndex)
Inserts a series of bytes into this buffer at a specific index.- Parameters:
 b- the bytes to add.startIndex- the starting index into the buffer for removing bytes.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
delete
public DataList delete(int startIndex, int length)
Deletes a series of bytes from this buffer.- Parameters:
 startIndex- the starting index into the buffer for removing bytes.length- the amount of bytes to copy from the source array into the buffer.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
clear
public DataList clear()
Deletes all bytes from this buffer.- Returns:
 - this buffer, so that these commands can be chained.
 
 
- 
capacityCheck
protected void capacityCheck(int requiredLength)
Increases the size of the internal buffer if necessary.- Parameters:
 requiredLength- the required length that the buffer needs to be.
 
- 
toByteArray
public byte[] toByteArray()
Returns the bytes in this vector into an array.- Returns:
 - a new array with this list's data.
 
 
 - 
 
 -