Package io.netty.util.internal
Class StringUtil
java.lang.Object
io.netty.util.internal.StringUtil
String utility class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String[]
private static final String[]
static final char
static final char
private static final int
2 - Quote character at beginning and end.static final char
static final String
private static final byte[]
static final char
static final String
private static final char
static final char
static final char
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String
byteToHexString
(int value) Converts the specified byte value into a hexadecimal integer.static <T extends Appendable>
TbyteToHexString
(T buf, int value) Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer.static String
byteToHexStringPadded
(int value) Converts the specified byte value into a 2-digit hexadecimal integer.static <T extends 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
(String s, String p, int len) Checks if two strings have the same suffix of specified lengthstatic byte
decodeHexByte
(CharSequence s, int pos) Decode a 2-digit hex byte from within a string.static byte[]
decodeHexDump
(CharSequence hexDump) Decodes a hex dumpstatic byte[]
decodeHexDump
(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
(CharSequence s, char c) Determine if the strings
ends with the charc
.static CharSequence
escapeCsv
(CharSequence value) Escapes the specified value, if necessary according to RFC-4180.static CharSequence
escapeCsv
(CharSequence value, boolean trimWhiteSpace) Escapes the specified value, if necessary according to RFC-4180.private static int
indexOfFirstNonOwsChar
(CharSequence value, int length) private static int
indexOfLastNonOwsChar
(CharSequence value, int start, int length) static int
indexOfNonWhiteSpace
(CharSequence seq, int offset) Find the index of the first non-white space character ins
starting atoffset
.static int
indexOfWhiteSpace
(CharSequence seq, int offset) Find the index of the first white space character ins
starting atoffset
.private static boolean
isDoubleQuote
(char c) static boolean
private static boolean
isOws
(char c) static boolean
isSurrogate
(char c) Determine ifc
lies within the range of values defined for Surrogate Code Point.static CharSequence
join
(CharSequence separator, Iterable<? extends CharSequence> elements) Returns a char sequence that contains allelements
joined by a given separator.static int
Get the length of a string,null
input is considered0
length.private static IllegalArgumentException
newInvalidEscapedCsvFieldException
(CharSequence value, int index) static String
simpleClassName
(Class<?> clazz) Generates a simplified name from aClass
.static String
The shortcut tosimpleClassName(o.getClass())
.static String
substringAfter
(String value, char delim) Get the item after one char delim if the delim is found (else null).static String
substringBefore
(String value, char delim) Get the item before one char delim if the delim is found (else null).static String
toHexString
(byte[] src) Converts the specified byte array into a hexadecimal value.static String
toHexString
(byte[] src, int offset, int length) Converts the specified byte array into a hexadecimal value.static <T extends 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 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 String
toHexStringPadded
(byte[] src) Converts the specified byte array into a hexadecimal value.static String
toHexStringPadded
(byte[] src, int offset, int length) Converts the specified byte array into a hexadecimal value.static <T extends 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 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 CharSequence
trimOws
(CharSequence value) Trim optional white-space characters from the specified value, according to RFC-7230.static CharSequence
unescapeCsv
(CharSequence value) Unescapes the specified escaped CSV field, if necessary according to RFC-4180.static List
<CharSequence> unescapeCsvFields
(CharSequence value) Unescapes the specified escaped CSV fields according to RFC-4180.private static void
validateCsvFormat
(CharSequence value) Validate ifvalue
is a valid csv field without double-quotes.
-
Field Details
-
EMPTY_STRING
- See Also:
-
NEWLINE
-
DOUBLE_QUOTE
public static final char DOUBLE_QUOTE- See Also:
-
COMMA
public static final char COMMA- See Also:
-
LINE_FEED
public static final char LINE_FEED- See Also:
-
CARRIAGE_RETURN
public static final char CARRIAGE_RETURN- See Also:
-
TAB
public static final char TAB- See Also:
-
SPACE
public static final char SPACE- See Also:
-
BYTE2HEX_PAD
-
BYTE2HEX_NOPAD
-
HEX2B
private static final byte[] HEX2B -
CSV_NUMBER_ESCAPE_CHARACTERS
private static final int CSV_NUMBER_ESCAPE_CHARACTERS2 - Quote character at beginning and end. 5 - Extra allowance for anticipated escape characters that may be added.- See Also:
-
PACKAGE_SEPARATOR_CHAR
private static final char PACKAGE_SEPARATOR_CHAR- See Also:
-
-
Constructor Details
-
StringUtil
private StringUtil()
-
-
Method Details
-
substringAfter
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
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
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
Converts the specified byte value into a 2-digit hexadecimal integer. -
byteToHexStringPadded
Converts the specified byte value into a 2-digit hexadecimal integer and appends it to the specified buffer. -
toHexStringPadded
Converts the specified byte array into a hexadecimal value. -
toHexStringPadded
Converts the specified byte array into a hexadecimal value. -
toHexStringPadded
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer. -
toHexStringPadded
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer. -
byteToHexString
Converts the specified byte value into a hexadecimal integer. -
byteToHexString
Converts the specified byte value into a hexadecimal integer and appends it to the specified buffer. -
toHexString
Converts the specified byte array into a hexadecimal value. -
toHexString
Converts the specified byte array into a hexadecimal value. -
toHexString
Converts the specified byte array into a hexadecimal value and appends it to the specified buffer. -
toHexString
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
Decode a 2-digit hex byte from within a string. -
decodeHexDump
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
Decodes a hex dump -
simpleClassName
The shortcut tosimpleClassName(o.getClass())
. -
simpleClassName
Generates a simplified name from aClass
. Similar toClass.getSimpleName()
, but it works fine with anonymous classes. -
escapeCsv
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
Escapes the specified value, if necessary according to RFC-4180.- Parameters:
value
- The value which will be escaped according to RFC-4180trimWhiteSpace
- The value will first be trimmed of its optional white-space characters, according to RFC-7230- Returns:
CharSequence
the escaped value if necessary, or the value unchanged
-
unescapeCsv
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
Unescapes the specified escaped CSV fields according to RFC-4180. -
validateCsvFormat
Validate ifvalue
is a valid csv field without double-quotes.- Throws:
IllegalArgumentException
- ifvalue
needs to be encoded with double-quotes.
-
newInvalidEscapedCsvFieldException
private static IllegalArgumentException newInvalidEscapedCsvFieldException(CharSequence value, int index) -
length
Get the length of a string,null
input is considered0
length. -
isNullOrEmpty
-
indexOfNonWhiteSpace
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
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.
-
isDoubleQuote
private static boolean isDoubleQuote(char c) -
endsWith
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
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
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.
-
indexOfFirstNonOwsChar
- Returns:
length
if no OWS is found.
-
indexOfLastNonOwsChar
- Returns:
start
if no OWS is found.
-
isOws
private static boolean isOws(char c)
-