|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cassandra.utils.ByteBufferUtil
public class ByteBufferUtil
Utility methods to make ByteBuffers less painful The following should illustrate the different ways byte buffers can be used public void testArrayOffet() { byte[] b = "test_slice_array".getBytes(); ByteBuffer bb = ByteBuffer.allocate(1024); assert bb.position() == 0; assert bb.limit() == 1024; assert bb.capacity() == 1024; bb.put(b); assert bb.position() == b.length; assert bb.remaining() == bb.limit() - bb.position(); ByteBuffer bb2 = bb.slice(); assert bb2.position() == 0; //slice should begin at other buffers current position assert bb2.arrayOffset() == bb.position(); //to match the position in the underlying array one needs to //track arrayOffset assert bb2.limit()+bb2.arrayOffset() == bb.limit(); assert bb2.remaining() == bb.remaining(); } }
Field Summary | |
---|---|
static java.nio.ByteBuffer |
EMPTY_BYTE_BUFFER
|
Constructor Summary | |
---|---|
ByteBufferUtil()
|
Method Summary | |
---|---|
static void |
arrayCopy(java.nio.ByteBuffer buffer,
int position,
byte[] bytes,
int offset,
int length)
|
static void |
arrayCopy(java.nio.ByteBuffer src,
int srcPos,
java.nio.ByteBuffer dst,
int dstPos,
int length)
Transfer bytes from one ByteBuffer to another. |
static java.nio.ByteBuffer |
bytes(double d)
|
static java.nio.ByteBuffer |
bytes(float f)
|
static java.nio.ByteBuffer |
bytes(int i)
|
static java.nio.ByteBuffer |
bytes(long n)
|
static java.nio.ByteBuffer |
bytes(java.lang.String s)
Encode a String in a ByteBuffer using UTF_8. |
static java.nio.ByteBuffer |
bytes(java.lang.String s,
java.nio.charset.Charset charset)
Encode a String in a ByteBuffer using the provided charset. |
static java.lang.String |
bytesToHex(java.nio.ByteBuffer bytes)
|
static java.nio.ByteBuffer |
clone(java.nio.ByteBuffer buffer)
|
static int |
compare(byte[] o1,
java.nio.ByteBuffer o2)
|
static int |
compare(java.nio.ByteBuffer o1,
byte[] o2)
|
static int |
compareSubArrays(java.nio.ByteBuffer bytes1,
int offset1,
java.nio.ByteBuffer bytes2,
int offset2,
int length)
Compare two ByteBuffer at specified offsets for length. |
static int |
compareUnsigned(java.nio.ByteBuffer o1,
java.nio.ByteBuffer o2)
|
static byte[] |
getArray(java.nio.ByteBuffer buffer)
You should almost never use this. |
static java.nio.ByteBuffer |
hexToBytes(java.lang.String str)
|
static java.io.InputStream |
inputStream(java.nio.ByteBuffer bytes)
|
static int |
lastIndexOf(java.nio.ByteBuffer buffer,
byte valueToFind,
int startIndex)
ByteBuffer adaptation of org.apache.commons.lang.ArrayUtils.lastIndexOf method |
static java.nio.ByteBuffer |
readWithLength(java.io.DataInput in)
|
static java.nio.ByteBuffer |
readWithShortLength(java.io.DataInput in)
|
static java.nio.ByteBuffer |
skipShortLength(java.io.DataInput in)
|
static java.lang.String |
string(java.nio.ByteBuffer buffer)
Decode a String representation. |
static java.lang.String |
string(java.nio.ByteBuffer buffer,
java.nio.charset.Charset charset)
Decode a String representation. |
static java.lang.String |
string(java.nio.ByteBuffer buffer,
int position,
int length)
Decode a String representation. |
static java.lang.String |
string(java.nio.ByteBuffer buffer,
int position,
int length,
java.nio.charset.Charset charset)
Decode a String representation. |
static double |
toDouble(java.nio.ByteBuffer bytes)
|
static float |
toFloat(java.nio.ByteBuffer bytes)
|
static int |
toInt(java.nio.ByteBuffer bytes)
Convert a byte buffer to an integer. |
static long |
toLong(java.nio.ByteBuffer bytes)
|
static void |
write(java.nio.ByteBuffer buffer,
java.io.DataOutput out)
|
static void |
writeWithLength(java.nio.ByteBuffer bytes,
java.io.DataOutput out)
|
static void |
writeWithShortLength(java.nio.ByteBuffer buffer,
java.io.DataOutput out)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.nio.ByteBuffer EMPTY_BYTE_BUFFER
Constructor Detail |
---|
public ByteBufferUtil()
Method Detail |
---|
public static int compareUnsigned(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)
public static int compare(byte[] o1, java.nio.ByteBuffer o2)
public static int compare(java.nio.ByteBuffer o1, byte[] o2)
public static java.lang.String string(java.nio.ByteBuffer buffer) throws java.nio.charset.CharacterCodingException
buffer
- a byte buffer holding the string representation
java.nio.charset.CharacterCodingException
public static java.lang.String string(java.nio.ByteBuffer buffer, int position, int length) throws java.nio.charset.CharacterCodingException
buffer
- a byte buffer holding the string representationposition
- the starting position in buffer
to start decoding fromlength
- the number of bytes from buffer
to use
java.nio.charset.CharacterCodingException
public static java.lang.String string(java.nio.ByteBuffer buffer, int position, int length, java.nio.charset.Charset charset) throws java.nio.charset.CharacterCodingException
buffer
- a byte buffer holding the string representationposition
- the starting position in buffer
to start decoding fromlength
- the number of bytes from buffer
to usecharset
- the String encoding charset
java.nio.charset.CharacterCodingException
public static java.lang.String string(java.nio.ByteBuffer buffer, java.nio.charset.Charset charset) throws java.nio.charset.CharacterCodingException
buffer
- a byte buffer holding the string representationcharset
- the String encoding charset
java.nio.charset.CharacterCodingException
public static byte[] getArray(java.nio.ByteBuffer buffer)
public static int lastIndexOf(java.nio.ByteBuffer buffer, byte valueToFind, int startIndex)
buffer
- the array to traverse for looking for the object, may be null
valueToFind
- the value to findstartIndex
- the start index (i.e. BB position) to travers backwards from
-1
if not found.public static java.nio.ByteBuffer bytes(java.lang.String s)
s
- the string to encode
public static java.nio.ByteBuffer bytes(java.lang.String s, java.nio.charset.Charset charset)
s
- the string to encodecharset
- the String encoding charset to use
public static java.nio.ByteBuffer clone(java.nio.ByteBuffer buffer)
public static void arrayCopy(java.nio.ByteBuffer buffer, int position, byte[] bytes, int offset, int length)
public static void arrayCopy(java.nio.ByteBuffer src, int srcPos, java.nio.ByteBuffer dst, int dstPos, int length)
src
- the source ByteBuffersrcPos
- starting position in the source ByteBufferdst
- the destination ByteBufferdstPos
- starting position in the destination ByteBufferlength
- the number of bytes to copypublic static void writeWithLength(java.nio.ByteBuffer bytes, java.io.DataOutput out) throws java.io.IOException
java.io.IOException
public static void write(java.nio.ByteBuffer buffer, java.io.DataOutput out) throws java.io.IOException
java.io.IOException
public static void writeWithShortLength(java.nio.ByteBuffer buffer, java.io.DataOutput out)
public static java.nio.ByteBuffer readWithLength(java.io.DataInput in) throws java.io.IOException
java.io.IOException
public static java.nio.ByteBuffer readWithShortLength(java.io.DataInput in) throws java.io.IOException
in
- data input
java.io.IOException
- if an I/O error occurs.public static java.nio.ByteBuffer skipShortLength(java.io.DataInput in) throws java.io.IOException
in
- data input
java.io.IOException
- if an I/O error occurs.public static int toInt(java.nio.ByteBuffer bytes)
bytes
- byte buffer to convert to integer
public static long toLong(java.nio.ByteBuffer bytes)
public static float toFloat(java.nio.ByteBuffer bytes)
public static double toDouble(java.nio.ByteBuffer bytes)
public static java.nio.ByteBuffer bytes(int i)
public static java.nio.ByteBuffer bytes(long n)
public static java.nio.ByteBuffer bytes(float f)
public static java.nio.ByteBuffer bytes(double d)
public static java.io.InputStream inputStream(java.nio.ByteBuffer bytes)
public static java.lang.String bytesToHex(java.nio.ByteBuffer bytes)
public static java.nio.ByteBuffer hexToBytes(java.lang.String str)
public static int compareSubArrays(java.nio.ByteBuffer bytes1, int offset1, java.nio.ByteBuffer bytes2, int offset2, int length)
bytes1
- First byte buffer to compare.offset1
- Position to start the comparison at in the first array.bytes2
- Second byte buffer to compare.offset2
- Position to start the comparison at in the second array.length
- How many bytes to compare?
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |