- java.lang.Object
-
- org.xnio.ByteString
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.CharSequence,java.lang.Comparable<ByteString>
public final class ByteString extends java.lang.Object implements java.lang.Comparable<ByteString>, java.io.Serializable, java.lang.CharSequence
An immutable string of bytes. Since instances of this class are guaranteed to be immutable, they are safe to use asOptionvalues and in anOptionMap. Some operations can treat this byte string as an ASCII- or ISO-8858-1-encoded character string.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidappendTo(java.nio.ByteBuffer dest)Append the bytes of this string into the given buffer.bytebyteAt(int idx)Get the byte at an index.charcharAt(int index)intcompareTo(ByteString other)Compare this string to another in a case-sensitive manner.intcompareToIgnoreCase(ByteString other)Compare this string to another in a case-insensitive manner.ByteStringconcat(byte[] suffixBytes)ByteStringconcat(byte[] suffixBytes, int offs, int len)ByteStringconcat(java.lang.String suffix)ByteStringconcat(java.lang.String suffix, int offs, int len)static ByteStringconcat(java.lang.String prefix, java.lang.String suffix)static ByteStringconcat(java.lang.String prefix, ByteString suffix)ByteStringconcat(ByteString suffix)ByteStringconcat(ByteString suffix, int offs, int len)booleancontains(java.lang.String other)Determine whether this string contains another string (case-sensitive).booleancontains(ByteString other)Determine whether this string contains another string (case-sensitive).booleancontainsIgnoreCase(java.lang.String other)Determine whether this string contains another string (case-sensitive).booleancontainsIgnoreCase(ByteString other)Determine whether this string contains another string (case-insensitive).static ByteStringcopyOf(byte[] b, int offs, int len)Create a byte string from the given array segment.voidcopyTo(byte[] dst)Copy all the bytes from this string to the given array at the given offset.voidcopyTo(byte[] dst, int offs)Copy all the bytes from this string to the given array at the given offset.voidcopyTo(byte[] dst, int offs, int len)Copylenbytes from this string to the given array at the given offset.voidcopyTo(int srcOffs, byte[] dst, int offs, int len)Copylenbytes from this string at offsetsrcOffsto the given array at the given offset.booleanendsWith(char suffix)booleanendsWith(java.lang.String suffix)booleanendsWith(ByteString suffix)booleanendsWithIgnoreCase(char suffix)booleanendsWithIgnoreCase(java.lang.String suffix)booleanendsWithIgnoreCase(ByteString suffix)booleanequals(java.lang.Object obj)Determine if this ByteString equals another ByteString.booleanequals(ByteString other)Determine if this ByteString equals another ByteString.booleanequalsIgnoreCase(ByteString other)Determine if this ByteString equals another ByteString, ignoring case (ASCII).booleanequalToString(java.lang.String str)Determine whether thisByteStringis equal (case-sensitively) to the givenString.booleanequalToStringIgnoreCase(java.lang.String str)Determine whether thisByteStringis equal (case-insensitively) to the givenString.static ByteStringfromInt(int val)Get a string version of the given value.static ByteStringfromLong(long val)Get a string version of the given value.byte[]getBytes()Get a copy of the bytes of this ByteString.voidgetBytes(byte[] dest)Deprecated.Replaced bycopyTo(byte[]).voidgetBytes(byte[] dest, int offs)Deprecated.Replaced bycopyTo(byte[],int).voidgetBytes(byte[] dest, int offs, int len)Deprecated.Replaced bycopyTo(byte[],int,int).static ByteStringgetBytes(java.lang.String str)Get a byte string from the bytes of the character string.static ByteStringgetBytes(java.lang.String str, java.lang.String charset)Get a byte string from the bytes of a character string.static ByteStringgetBytes(java.lang.String str, java.nio.charset.Charset charset)Get a byte string from the bytes of a character string.static ByteStringgetBytes(java.nio.ByteBuffer buffer)Get a byte string from all remaining bytes of a ByteBuffer.static ByteStringgetBytes(java.nio.ByteBuffer buffer, int length)Get a byte string from a ByteBuffer.inthashCode()Get the hash code for this ByteString.inthashCodeIgnoreCase()intindexOf(char c)Get the index of the given character in this string.intindexOf(char c, int start)Get the index of the given character in this string.intindexOf(java.lang.String other)intindexOf(java.lang.String other, int start)intindexOf(ByteString other)intindexOf(ByteString other, int start)intindexOfIgnoreCase(java.lang.String other)intindexOfIgnoreCase(java.lang.String other, int start)intindexOfIgnoreCase(ByteString other)intindexOfIgnoreCase(ByteString other, int start)intlastIndexOf(char c)Get the last index of the given character in this string.intlastIndexOf(char c, int start)Get the last index of the given character in this string.intlastIndexOf(java.lang.String other)intlastIndexOf(java.lang.String other, int start)intlastIndexOf(ByteString other)intlastIndexOf(ByteString other, int start)intlastIndexOfIgnoreCase(java.lang.String other)intlastIndexOfIgnoreCase(java.lang.String other, int start)intlastIndexOfIgnoreCase(ByteString other)intlastIndexOfIgnoreCase(ByteString other, int start)intlength()Get the number of bytes in this byte string.static ByteStringof(byte... bytes)Create a byte string of the given literal bytes.booleanregionMatches(boolean ignoreCase, int offset, byte[] other, int otherOffset, int len)booleanregionMatches(boolean ignoreCase, int offset, java.lang.String other, int otherOffset, int len)booleanregionMatches(boolean ignoreCase, int offset, ByteString other, int otherOffset, int len)booleanstartsWith(char prefix)booleanstartsWith(java.lang.String prefix)booleanstartsWith(ByteString prefix)booleanstartsWithIgnoreCase(char prefix)booleanstartsWithIgnoreCase(java.lang.String prefix)booleanstartsWithIgnoreCase(ByteString prefix)ByteStringsubSequence(int start, int end)ByteStringsubstring(int offs)Get the substring of this string starting at the given offset.ByteStringsubstring(int offs, int len)Get the substring of this string starting at the given offset.inttoInt()Get the unsignedintvalue of this string.inttoInt(int start)Get the unsignedintvalue of this string.longtoLong()Get the unsignedlongvalue of this string.longtoLong(int start)Get the unsignedlongvalue of this string.java.lang.StringtoString()Decode this byte string as a Latin-1 string.java.lang.StringtoString(java.lang.String charset)Convert this byte string to a standard string.java.lang.StringtoUtf8String()Decode this byte string as a UTF-8 string.inttryAppendTo(int offs, java.nio.ByteBuffer buffer)Append as many bytes as possible to a byte buffer.voidwriteTo(java.io.OutputStream output)Append to an output stream.
-
-
-
Method Detail
-
of
public static ByteString of(byte... bytes)
Create a byte string of the given literal bytes. The given array is copied.- Parameters:
bytes- the bytes- Returns:
- the byte string
-
copyOf
public static ByteString copyOf(byte[] b, int offs, int len)
Create a byte string from the given array segment.- Parameters:
b- the byte arrayoffs- the offset into the arraylen- the number of bytes to copy- Returns:
- the new byte string
-
getBytes
public static ByteString getBytes(java.lang.String str, java.lang.String charset) throws java.io.UnsupportedEncodingException
Get a byte string from the bytes of a character string.- Parameters:
str- the character stringcharset- the character set to use- Returns:
- the byte string
- Throws:
java.io.UnsupportedEncodingException- if the encoding is not supported
-
getBytes
public static ByteString getBytes(java.lang.String str, java.nio.charset.Charset charset)
Get a byte string from the bytes of a character string.- Parameters:
str- the character stringcharset- the character set to use- Returns:
- the byte string
-
getBytes
public static ByteString getBytes(java.lang.String str)
Get a byte string from the bytes of the character string. The string must be a Latin-1 string.- Parameters:
str- the character string- Returns:
- the byte string
-
getBytes
public static ByteString getBytes(java.nio.ByteBuffer buffer)
Get a byte string from all remaining bytes of a ByteBuffer.- Parameters:
buffer- the buffer- Returns:
- the byte string
-
getBytes
public static ByteString getBytes(java.nio.ByteBuffer buffer, int length)
Get a byte string from a ByteBuffer.- Parameters:
buffer- the bufferlength- the number of bytes to get- Returns:
- the byte string
-
getBytes
public byte[] getBytes()
Get a copy of the bytes of this ByteString.- Returns:
- the copy
-
getBytes
public void getBytes(byte[] dest)
Deprecated.Replaced bycopyTo(byte[]).Copy the bytes of this ByteString into the destination array. If the array is too short to hold the bytes, then only enough bytes to fill the array will be copied.- Parameters:
dest- the destination array
-
getBytes
public void getBytes(byte[] dest, int offs)Deprecated.Replaced bycopyTo(byte[],int).Copy the bytes of this ByteString into the destination array. If the array is too short to hold the bytes, then only enough bytes to fill the array will be copied.- Parameters:
dest- the destination arrayoffs- the offset into the destination array
-
getBytes
public void getBytes(byte[] dest, int offs, int len)Deprecated.Replaced bycopyTo(byte[],int,int).Copy the bytes of this ByteString into the destination array. If the array is too short to hold the bytes, then only enough bytes to fill the array will be copied.- Parameters:
dest- the destination arrayoffs- the offset into the destination arraylen- the maximum number of bytes to copy
-
copyTo
public void copyTo(int srcOffs, byte[] dst, int offs, int len)Copylenbytes from this string at offsetsrcOffsto the given array at the given offset.- Parameters:
srcOffs- the source offsetdst- the destinationoffs- the destination offsetlen- the number of bytes to copy
-
copyTo
public void copyTo(byte[] dst, int offs, int len)Copylenbytes from this string to the given array at the given offset.- Parameters:
dst- the destinationoffs- the destination offsetlen- the number of bytes
-
copyTo
public void copyTo(byte[] dst, int offs)Copy all the bytes from this string to the given array at the given offset.- Parameters:
dst- the destinationoffs- the destination offset
-
copyTo
public void copyTo(byte[] dst)
Copy all the bytes from this string to the given array at the given offset.- Parameters:
dst- the destination
-
appendTo
public void appendTo(java.nio.ByteBuffer dest)
Append the bytes of this string into the given buffer.- Parameters:
dest- the target buffer
-
tryAppendTo
public int tryAppendTo(int offs, java.nio.ByteBuffer buffer)Append as many bytes as possible to a byte buffer.- Parameters:
offs- the start offsetbuffer- the buffer to append to- Returns:
- the number of bytes appended
-
writeTo
public void writeTo(java.io.OutputStream output) throws java.io.IOExceptionAppend to an output stream.- Parameters:
output- the stream to write to- Throws:
java.io.IOException- if an error occurs
-
compareTo
public int compareTo(ByteString other)
Compare this string to another in a case-sensitive manner.- Specified by:
compareToin interfacejava.lang.Comparable<ByteString>- Parameters:
other- the other string- Returns:
- -1, 0, or 1
-
compareToIgnoreCase
public int compareToIgnoreCase(ByteString other)
Compare this string to another in a case-insensitive manner.- Parameters:
other- the other string- Returns:
- -1, 0, or 1
-
toString
public java.lang.String toString(java.lang.String charset) throws java.io.UnsupportedEncodingExceptionConvert this byte string to a standard string.- Parameters:
charset- the character set to use- Returns:
- the standard string
- Throws:
java.io.UnsupportedEncodingException- if the charset is unknown
-
length
public int length()
Get the number of bytes in this byte string.- Specified by:
lengthin interfacejava.lang.CharSequence- Returns:
- the number of bytes
-
toString
public java.lang.String toString()
Decode this byte string as a Latin-1 string.- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classjava.lang.Object- Returns:
- the Latin-1-decoded version of this string
-
toUtf8String
public java.lang.String toUtf8String()
Decode this byte string as a UTF-8 string.- Returns:
- the UTF-8-decoded version of this string
-
byteAt
public byte byteAt(int idx)
Get the byte at an index.- Returns:
- the byte at an index
-
substring
public ByteString substring(int offs)
Get the substring of this string starting at the given offset.- Parameters:
offs- the offset- Returns:
- the substring
-
substring
public ByteString substring(int offs, int len)
Get the substring of this string starting at the given offset.- Parameters:
offs- the offsetlen- the substring length- Returns:
- the substring
-
hashCode
public int hashCode()
Get the hash code for this ByteString.- Overrides:
hashCodein classjava.lang.Object- Returns:
- the hash code
-
hashCodeIgnoreCase
public int hashCodeIgnoreCase()
-
equals
public boolean equals(java.lang.Object obj)
Determine if this ByteString equals another ByteString.- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- the other object- Returns:
trueif they are equal
-
equals
public boolean equals(ByteString other)
Determine if this ByteString equals another ByteString.- Parameters:
other- the other object- Returns:
trueif they are equal
-
equalsIgnoreCase
public boolean equalsIgnoreCase(ByteString other)
Determine if this ByteString equals another ByteString, ignoring case (ASCII).- Parameters:
other- the other object- Returns:
trueif they are equal
-
toInt
public int toInt(int start)
Get the unsignedintvalue of this string. If the value is greater than would fit in 32 bits, only the low 32 bits are returned. Parsing stops on the first non-digit character.- Parameters:
start- the index to start at (must be less than or equal to length)- Returns:
- the value
-
toInt
public int toInt()
Get the unsignedintvalue of this string. If the value is greater than would fit in 32 bits, only the low 32 bits are returned. Parsing stops on the first non-digit character.- Returns:
- the value
-
toLong
public long toLong(int start)
Get the unsignedlongvalue of this string. If the value is greater than would fit in 64 bits, only the low 64 bits are returned. Parsing stops on the first non-digit character.- Parameters:
start- the index to start at (must be less than or equal to length)- Returns:
- the value
-
toLong
public long toLong()
Get the unsignedlongvalue of this string. If the value is greater than would fit in 64 bits, only the low 64 bits are returned. Parsing stops on the first non-digit character.- Returns:
- the value
-
fromLong
public static ByteString fromLong(long val)
Get a string version of the given value.- Parameters:
val- the value- Returns:
- the string
-
fromInt
public static ByteString fromInt(int val)
Get a string version of the given value.- Parameters:
val- the value- Returns:
- the string
-
equalToString
public boolean equalToString(java.lang.String str)
Determine whether thisByteStringis equal (case-sensitively) to the givenString.- Parameters:
str- the string to check- Returns:
trueif the given string is equal (case-sensitively) to this instance,falseotherwise
-
equalToStringIgnoreCase
public boolean equalToStringIgnoreCase(java.lang.String str)
Determine whether thisByteStringis equal (case-insensitively) to the givenString.- Parameters:
str- the string to check- Returns:
trueif the given string is equal (case-insensitively) to this instance,falseotherwise
-
indexOf
public int indexOf(char c)
Get the index of the given character in this string.- Parameters:
c- the character- Returns:
- the index, or -1 if it was not found
-
indexOf
public int indexOf(char c, int start)Get the index of the given character in this string.- Parameters:
c- the character- Returns:
- the index, or -1 if it was not found
-
lastIndexOf
public int lastIndexOf(char c)
Get the last index of the given character in this string.- Parameters:
c- the character- Returns:
- the index, or -1 if it was not found
-
lastIndexOf
public int lastIndexOf(char c, int start)Get the last index of the given character in this string.- Parameters:
c- the character- Returns:
- the index, or -1 if it was not found
-
contains
public boolean contains(ByteString other)
Determine whether this string contains another string (case-sensitive).- Parameters:
other- the string to test- Returns:
trueif this string containsother,falseotherwise
-
contains
public boolean contains(java.lang.String other)
Determine whether this string contains another string (case-sensitive).- Parameters:
other- the string to test- Returns:
trueif this string containsother,falseotherwise
-
containsIgnoreCase
public boolean containsIgnoreCase(ByteString other)
Determine whether this string contains another string (case-insensitive).- Parameters:
other- the string to test- Returns:
trueif this string containsother,falseotherwise
-
containsIgnoreCase
public boolean containsIgnoreCase(java.lang.String other)
Determine whether this string contains another string (case-sensitive).- Parameters:
other- the string to test- Returns:
trueif this string containsother,falseotherwise
-
indexOf
public int indexOf(ByteString other)
-
indexOf
public int indexOf(ByteString other, int start)
-
indexOf
public int indexOf(java.lang.String other)
-
indexOf
public int indexOf(java.lang.String other, int start)
-
indexOfIgnoreCase
public int indexOfIgnoreCase(ByteString other)
-
indexOfIgnoreCase
public int indexOfIgnoreCase(ByteString other, int start)
-
indexOfIgnoreCase
public int indexOfIgnoreCase(java.lang.String other)
-
indexOfIgnoreCase
public int indexOfIgnoreCase(java.lang.String other, int start)
-
lastIndexOf
public int lastIndexOf(ByteString other)
-
lastIndexOf
public int lastIndexOf(ByteString other, int start)
-
lastIndexOf
public int lastIndexOf(java.lang.String other)
-
lastIndexOf
public int lastIndexOf(java.lang.String other, int start)
-
lastIndexOfIgnoreCase
public int lastIndexOfIgnoreCase(ByteString other)
-
lastIndexOfIgnoreCase
public int lastIndexOfIgnoreCase(ByteString other, int start)
-
lastIndexOfIgnoreCase
public int lastIndexOfIgnoreCase(java.lang.String other)
-
lastIndexOfIgnoreCase
public int lastIndexOfIgnoreCase(java.lang.String other, int start)
-
regionMatches
public boolean regionMatches(boolean ignoreCase, int offset, byte[] other, int otherOffset, int len)
-
regionMatches
public boolean regionMatches(boolean ignoreCase, int offset, ByteString other, int otherOffset, int len)
-
regionMatches
public boolean regionMatches(boolean ignoreCase, int offset, java.lang.String other, int otherOffset, int len)
-
startsWith
public boolean startsWith(ByteString prefix)
-
startsWith
public boolean startsWith(java.lang.String prefix)
-
startsWith
public boolean startsWith(char prefix)
-
startsWithIgnoreCase
public boolean startsWithIgnoreCase(ByteString prefix)
-
startsWithIgnoreCase
public boolean startsWithIgnoreCase(java.lang.String prefix)
-
startsWithIgnoreCase
public boolean startsWithIgnoreCase(char prefix)
-
endsWith
public boolean endsWith(ByteString suffix)
-
endsWith
public boolean endsWith(java.lang.String suffix)
-
endsWith
public boolean endsWith(char suffix)
-
endsWithIgnoreCase
public boolean endsWithIgnoreCase(ByteString suffix)
-
endsWithIgnoreCase
public boolean endsWithIgnoreCase(java.lang.String suffix)
-
endsWithIgnoreCase
public boolean endsWithIgnoreCase(char suffix)
-
concat
public ByteString concat(byte[] suffixBytes)
-
concat
public ByteString concat(byte[] suffixBytes, int offs, int len)
-
concat
public ByteString concat(ByteString suffix)
-
concat
public ByteString concat(ByteString suffix, int offs, int len)
-
concat
public ByteString concat(java.lang.String suffix)
-
concat
public ByteString concat(java.lang.String suffix, int offs, int len)
-
concat
public static ByteString concat(java.lang.String prefix, ByteString suffix)
-
concat
public static ByteString concat(java.lang.String prefix, java.lang.String suffix)
-
charAt
public char charAt(int index)
- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public ByteString subSequence(int start, int end)
- Specified by:
subSequencein interfacejava.lang.CharSequence
-
-