Package io.netty.util.internal
Class StringUtil
- java.lang.Object
-
- io.netty.util.internal.StringUtil
-
public final class StringUtil extends java.lang.Object
String utility class.
-
-
Field Summary
Fields Modifier and Type Field Description static char
CARRIAGE_RETURN
static char
COMMA
static char
DOUBLE_QUOTE
static java.lang.String
EMPTY_STRING
static char
LINE_FEED
static java.lang.String
NEWLINE
static char
SPACE
static char
TAB
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
byteToHexString(int value)
Converts the specified byte value into a hexadecimal integer.static <T extends java.lang.Appendable>
TbyteToHexString(T buf, int value)
Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer.static java.lang.String
byteToHexStringPadded(int value)
Converts the specified byte value into a 2-digit hexadecimal integer.static <T extends java.lang.Appendable>
TbyteToHexStringPadded(T buf, int value)
Converts the specified byte value into a 2-digit hexadecimal integer and appends it to the specified buffer.static boolean
commonSuffixOfLength(java.lang.String s, java.lang.String p, int len)
Checks if two strings have the same suffix of specified lengthstatic byte
decodeHexByte(java.lang.CharSequence s, int pos)
Decode a 2-digit hex byte from within a string.static byte[]
decodeHexDump(java.lang.CharSequence hexDump)
Decodes a hex dumpstatic byte[]
decodeHexDump(java.lang.CharSequence hexDump, int fromIndex, int length)
Decodes part of a string with hex dumpstatic int
decodeHexNibble(byte b)
Helper to decode half of a hexadecimal number from a string.static int
decodeHexNibble(char c)
Helper to decode half of a hexadecimal number from a string.static boolean
endsWith(java.lang.CharSequence s, char c)
Determine if the strings
ends with the charc
.static java.lang.CharSequence
escapeCsv(java.lang.CharSequence value)
Escapes the specified value, if necessary according to RFC-4180.static java.lang.CharSequence
escapeCsv(java.lang.CharSequence value, boolean trimWhiteSpace)
Escapes the specified value, if necessary according to RFC-4180.static int
indexOfNonWhiteSpace(java.lang.CharSequence seq, int offset)
Find the index of the first non-white space character ins
starting atoffset
.static int
indexOfWhiteSpace(java.lang.CharSequence seq, int offset)
Find the index of the first white space character ins
starting atoffset
.static boolean
isNullOrEmpty(java.lang.String s)
Determine if a string isnull
orString.isEmpty()
returnstrue
.static boolean
isSurrogate(char c)
Determine ifc
lies within the range of values defined for Surrogate Code Point.static java.lang.CharSequence
join(java.lang.CharSequence separator, java.lang.Iterable<? extends java.lang.CharSequence> elements)
Returns a char sequence that contains allelements
joined by a given separator.static int
length(java.lang.String s)
Get the length of a string,null
input is considered0
length.static java.lang.String
simpleClassName(java.lang.Class<?> clazz)
Generates a simplified name from aClass
.static java.lang.String
simpleClassName(java.lang.Object o)
The shortcut tosimpleClassName(o.getClass())
.static java.lang.String
substringAfter(java.lang.String value, char delim)
Get the item after one char delim if the delim is found (else null).static java.lang.String
substringBefore(java.lang.String value, char delim)
Get the item before one char delim if the delim is found (else null).static java.lang.String
toHexString(byte[] src)
Converts the specified byte array into a hexadecimal value.static java.lang.String
toHexString(byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value.static <T extends java.lang.Appendable>
TtoHexString(T dst, byte[] src)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.static <T extends java.lang.Appendable>
TtoHexString(T dst, byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.static java.lang.String
toHexStringPadded(byte[] src)
Converts the specified byte array into a hexadecimal value.static java.lang.String
toHexStringPadded(byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value.static <T extends java.lang.Appendable>
TtoHexStringPadded(T dst, byte[] src)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.static <T extends java.lang.Appendable>
TtoHexStringPadded(T dst, byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.static java.lang.CharSequence
trimOws(java.lang.CharSequence value)
Trim optional white-space characters from the specified value, according to RFC-7230.static java.lang.CharSequence
unescapeCsv(java.lang.CharSequence value)
Unescapes the specified escaped CSV field, if necessary according to RFC-4180.static java.util.List<java.lang.CharSequence>
unescapeCsvFields(java.lang.CharSequence value)
Unescapes the specified escaped CSV fields according to RFC-4180.
-
-
-
Field Detail
-
EMPTY_STRING
public static final java.lang.String EMPTY_STRING
- See Also:
- Constant Field Values
-
NEWLINE
public static final java.lang.String NEWLINE
-
DOUBLE_QUOTE
public static final char DOUBLE_QUOTE
- See Also:
- Constant Field Values
-
COMMA
public static final char COMMA
- See Also:
- Constant Field Values
-
LINE_FEED
public static final char LINE_FEED
- See Also:
- Constant Field Values
-
CARRIAGE_RETURN
public static final char CARRIAGE_RETURN
- See Also:
- Constant Field Values
-
TAB
public static final char TAB
- See Also:
- Constant Field Values
-
SPACE
public static final char SPACE
- See Also:
- Constant Field Values
-
-
Method Detail
-
substringAfter
public static java.lang.String substringAfter(java.lang.String value, char delim)
Get the item after one char delim if the delim is found (else null). This operation is a simplified and optimized version ofString.split(String, int)
.
-
substringBefore
public static java.lang.String substringBefore(java.lang.String value, char delim)
Get the item before one char delim if the delim is found (else null). This operation is a simplified and optimized version ofString.split(String, int)
.
-
commonSuffixOfLength
public static boolean commonSuffixOfLength(java.lang.String s, java.lang.String p, int len)
Checks if two strings have the same suffix of specified length- Parameters:
s
- stringp
- stringlen
- length of the common suffix- Returns:
- true if both s and p are not null and both have the same suffix. Otherwise - false
-
byteToHexStringPadded
public static java.lang.String byteToHexStringPadded(int value)
Converts the specified byte value into a 2-digit hexadecimal integer.
-
byteToHexStringPadded
public static <T extends java.lang.Appendable> T byteToHexStringPadded(T buf, int value)
Converts the specified byte value into a 2-digit hexadecimal integer and appends it to the specified buffer.
-
toHexStringPadded
public static java.lang.String toHexStringPadded(byte[] src)
Converts the specified byte array into a hexadecimal value.
-
toHexStringPadded
public static java.lang.String toHexStringPadded(byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value.
-
toHexStringPadded
public static <T extends java.lang.Appendable> T toHexStringPadded(T dst, byte[] src)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
-
toHexStringPadded
public static <T extends java.lang.Appendable> T toHexStringPadded(T dst, byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
-
byteToHexString
public static java.lang.String byteToHexString(int value)
Converts the specified byte value into a hexadecimal integer.
-
byteToHexString
public static <T extends java.lang.Appendable> T byteToHexString(T buf, int value)
Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer.
-
toHexString
public static java.lang.String toHexString(byte[] src)
Converts the specified byte array into a hexadecimal value.
-
toHexString
public static java.lang.String toHexString(byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value.
-
toHexString
public static <T extends java.lang.Appendable> T toHexString(T dst, byte[] src)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
-
toHexString
public static <T extends java.lang.Appendable> T toHexString(T dst, byte[] src, int offset, int length)
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer.
-
decodeHexNibble
public static int decodeHexNibble(char c)
Helper to decode half of a hexadecimal number from a string.- Parameters:
c
- The ASCII character of the hexadecimal number to decode. Must be in the range[0-9a-fA-F]
.- Returns:
- The hexadecimal value represented in the ASCII character
given, or
-1
if the character is invalid.
-
decodeHexNibble
public static int decodeHexNibble(byte b)
Helper to decode half of a hexadecimal number from a string.- Parameters:
b
- The ASCII character of the hexadecimal number to decode. Must be in the range[0-9a-fA-F]
.- Returns:
- The hexadecimal value represented in the ASCII character
given, or
-1
if the character is invalid.
-
decodeHexByte
public static byte decodeHexByte(java.lang.CharSequence s, int pos)
Decode a 2-digit hex byte from within a string.
-
decodeHexDump
public static byte[] decodeHexDump(java.lang.CharSequence hexDump, int fromIndex, int length)
Decodes part of a string with hex dump- Parameters:
hexDump
- aCharSequence
which contains the hex dumpfromIndex
- start of hex dump inhexDump
length
- hex string length
-
decodeHexDump
public static byte[] decodeHexDump(java.lang.CharSequence hexDump)
Decodes a hex dump
-
simpleClassName
public static java.lang.String simpleClassName(java.lang.Object o)
The shortcut tosimpleClassName(o.getClass())
.
-
simpleClassName
public static java.lang.String simpleClassName(java.lang.Class<?> clazz)
Generates a simplified name from aClass
. Similar toClass.getSimpleName()
, but it works fine with anonymous classes.
-
escapeCsv
public static java.lang.CharSequence escapeCsv(java.lang.CharSequence value)
Escapes the specified value, if necessary according to RFC-4180.- Parameters:
value
- The value which will be escaped according to RFC-4180- Returns:
CharSequence
the escaped value if necessary, or the value unchanged
-
escapeCsv
public static java.lang.CharSequence escapeCsv(java.lang.CharSequence value, boolean trimWhiteSpace)
Escapes the specified value, if necessary according to RFC-4180.
-
unescapeCsv
public static java.lang.CharSequence unescapeCsv(java.lang.CharSequence value)
Unescapes the specified escaped CSV field, if necessary according to RFC-4180.- Parameters:
value
- The escaped CSV field which will be unescaped according to RFC-4180- Returns:
CharSequence
the unescaped value if necessary, or the value unchanged
-
unescapeCsvFields
public static java.util.List<java.lang.CharSequence> unescapeCsvFields(java.lang.CharSequence value)
Unescapes the specified escaped CSV fields according to RFC-4180.- Parameters:
value
- A string with multiple CSV escaped fields which will be unescaped according to RFC-4180- Returns:
List
the list of unescaped fields
-
length
public static int length(java.lang.String s)
Get the length of a string,null
input is considered0
length.
-
isNullOrEmpty
public static boolean isNullOrEmpty(java.lang.String s)
Determine if a string isnull
orString.isEmpty()
returnstrue
.
-
indexOfNonWhiteSpace
public static int indexOfNonWhiteSpace(java.lang.CharSequence seq, int offset)
Find the index of the first non-white space character ins
starting atoffset
.- Parameters:
seq
- The string to search.offset
- The offset to start searching at.- Returns:
- the index of the first non-white space character or <
-1
if none was found.
-
indexOfWhiteSpace
public static int indexOfWhiteSpace(java.lang.CharSequence seq, int offset)
Find the index of the first white space character ins
starting atoffset
.- Parameters:
seq
- The string to search.offset
- The offset to start searching at.- Returns:
- the index of the first white space character or <
-1
if none was found.
-
isSurrogate
public static boolean isSurrogate(char c)
Determine ifc
lies within the range of values defined for Surrogate Code Point.- Parameters:
c
- the character to check.- Returns:
true
ifc
lies within the range of values defined for Surrogate Code Point.false
otherwise.
-
endsWith
public static boolean endsWith(java.lang.CharSequence s, char c)
Determine if the strings
ends with the charc
.- Parameters:
s
- the string to testc
- the tested char- Returns:
- true if
s
ends with the charc
-
trimOws
public static java.lang.CharSequence trimOws(java.lang.CharSequence value)
Trim optional white-space characters from the specified value, according to RFC-7230.- Parameters:
value
- the value to trim- Returns:
CharSequence
the trimmed value if necessary, or the value unchanged
-
join
public static java.lang.CharSequence join(java.lang.CharSequence separator, java.lang.Iterable<? extends java.lang.CharSequence> elements)
Returns a char sequence that contains allelements
joined by a given separator.- Parameters:
separator
- for each elementelements
- to join together- Returns:
- a char sequence joined by a given separator.
-
-