public final class Bytes extends Object implements Comparable<Bytes>, Serializable
The reason Fluo did not use ByteBuffer is because its not immutable, even a read only ByteBuffer has a mutable position. This makes ByteBuffer unsuitable for place where an immutable data type is desirable, like a key for a map.
Bytes.EMPTY is used to represent a Bytes object with no data.
Modifier and Type | Class and Description |
---|---|
static class |
Bytes.BytesBuilder
This class provides an easy, efficient, reusable mechanism for building immutable Bytes
objects.
|
Constructor and Description |
---|
Bytes() |
Modifier and Type | Method and Description |
---|---|
static Bytes.BytesBuilder |
builder()
Provides an efficient and reusable way to build immutable Bytes objects.
|
static Bytes.BytesBuilder |
builder(int initialCapacity) |
byte |
byteAt(int i)
Gets a byte within this sequence of bytes
|
int |
compareTo(Bytes other)
Compares this to the passed bytes, byte by byte, returning a negative, zero, or positive result
if the first sequence is less than, equal to, or greater than the second.
|
void |
copyTo(byte[] dest,
int destPos)
Copy entire Bytes object to specific byte array.
|
void |
copyTo(int start,
int end,
byte[] dest,
int destPos)
Copy a subsequence of Bytes to specific byte array.
|
boolean |
endsWith(Bytes suffix)
Checks if this has the passed suffix
|
boolean |
equals(Object other)
Returns true if this Bytes object equals another.
|
int |
hashCode() |
int |
length()
Gets the length of bytes
|
static Bytes |
of(byte[] array)
Creates a Bytes object by copying the data of the given byte array
|
static Bytes |
of(byte[] data,
int offset,
int length)
Creates a Bytes object by copying the data of a subsequence of the given byte array
|
static Bytes |
of(ByteBuffer bb)
Creates a Bytes object by copying the data of the given ByteBuffer.
|
static Bytes |
of(CharSequence cs)
Creates a Bytes object by copying the data of the CharSequence and encoding it using UTF-8.
|
static Bytes |
of(String s)
Creates a Bytes object by copying the value of the given String
|
static Bytes |
of(String s,
Charset c)
Creates a Bytes object by copying the value of the given String with a given charset
|
boolean |
startsWith(Bytes prefix)
Checks if this has the passed prefix
|
Bytes |
subSequence(int start,
int end)
Returns a portion of the Bytes object
|
byte[] |
toArray()
Returns a byte array containing a copy of the bytes
|
ByteBuffer |
toByteBuffer() |
InputStream |
toInputStream() |
String |
toString()
Creates UTF-8 String using Bytes data
|
void |
writeTo(OutputStream out) |
public static final Bytes EMPTY
public byte byteAt(int i)
i
- index into sequenceIllegalArgumentException
- if i is out of rangepublic int length()
public Bytes subSequence(int start, int end)
start
- index of subsequence start (inclusive)end
- index of subsequence end (exclusive)public byte[] toArray()
public String toString()
public ByteBuffer toByteBuffer()
public InputStream toInputStream()
public void writeTo(OutputStream out) throws IOException
IOException
public final int compareTo(Bytes other)
compareTo
in interface Comparable<Bytes>
public final boolean equals(Object other)
public static final Bytes of(byte[] array)
public static final Bytes of(byte[] data, int offset, int length)
data
- Byte dataoffset
- Starting offset in byte array (inclusive)length
- Number of bytes to includepublic static final Bytes of(ByteBuffer bb)
bb
- Data will be read from this ByteBuffer in such a way that its position is not
changed.public static final Bytes of(CharSequence cs)
public static final Bytes of(String s)
public static final Bytes of(String s, Charset c)
public boolean startsWith(Bytes prefix)
prefix
- is a Bytes object to compare to thispublic boolean endsWith(Bytes suffix)
suffix
- is a Bytes object to compare to thispublic static Bytes.BytesBuilder builder()
public static Bytes.BytesBuilder builder(int initialCapacity)
initialCapacity
- The initial size of the byte builders internal array.public void copyTo(byte[] dest, int destPos)
dest
- destination arraydestPos
- starting position in the destination data.IndexOutOfBoundsException
- if copying would cause access of data outside array
bounds.NullPointerException
- if either src
or dest
is
null
.public void copyTo(int start, int end, byte[] dest, int destPos)
start
- index of subsequence start (inclusive)end
- index of subsequence end (exclusive)dest
- destination arraydestPos
- starting position in the destination data.IndexOutOfBoundsException
- if copying would cause access of data outside array
bounds.NullPointerException
- if either src
or dest
is
null
.Copyright © 2016–2017 The Apache Software Foundation. All rights reserved.