Package org.jsoup.internal
Class StringUtil
java.lang.Object
org.jsoup.internal.StringUtil
public final class StringUtil extends Object
A minimal String utility class. Designed for internal jsoup use only - the API and outcome may change without
notice.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStringUtil.StringJoinerA StringJoiner allows incremental / filtered joining of a set of stringable objects. -
Constructor Summary
Constructors Constructor Description StringUtil() -
Method Summary
Modifier and Type Method Description static voidappendNormalisedWhitespace(StringBuilder accum, String string, boolean stripLeading)After normalizing the whitespace within a string, appends it to a string builder.static StringBuilderborrowBuilder()Maintains cached StringBuilders in a flyweight pattern, to minimize new StringBuilder GCs.static booleanin(String needle, String... haystack)static booleaninSorted(String needle, String[] haystack)static booleanisActuallyWhitespace(int c)Tests if a code point is "whitespace" as defined by what it looks like.static booleanisAscii(String string)Tests that a String contains only ASCII characters.static booleanisBlank(String string)Tests if a string is blank: null, empty, or only whitespace (" ", \r\n, \t, etc)static booleanisInvisibleChar(int c)static booleanisNumeric(String string)Tests if a string is numeric, i.e.static booleanisWhitespace(int c)Tests if a code point is "whitespace" as defined in the HTML spec.static Stringjoin(String[] strings, String sep)Join an array of strings by a separatorstatic Stringjoin(Collection<?> strings, String sep)Join a collection of strings by a separatorstatic Stringjoin(Iterator<?> strings, String sep)Join a collection of strings by a separatorstatic StringnormaliseWhitespace(String string)Normalise the whitespace within this string; multiple spaces collapse to a single, and all whitespace characters (e.g.static Stringpadding(int width)Returns space padding (up to a max of 30).static StringreleaseBuilder(StringBuilder sb)Release a borrowed builder.static Stringresolve(String baseUrl, String relUrl)Create a new absolute URL, from a provided existing absolute URL and a relative URL component.static URLresolve(URL base, String relUrl)Create a new absolute URL, from a provided existing absolute URL and a relative URL component.
-
Constructor Details
-
StringUtil
public StringUtil()
-
-
Method Details
-
join
Join a collection of strings by a separator- Parameters:
strings- collection of string objectssep- string to place between strings- Returns:
- joined string
-
join
Join a collection of strings by a separator- Parameters:
strings- iterator of string objectssep- string to place between strings- Returns:
- joined string
-
join
Join an array of strings by a separator- Parameters:
strings- collection of string objectssep- string to place between strings- Returns:
- joined string
-
padding
Returns space padding (up to a max of 30).- Parameters:
width- amount of padding desired- Returns:
- string of spaces * width
-
isBlank
Tests if a string is blank: null, empty, or only whitespace (" ", \r\n, \t, etc)- Parameters:
string- string to test- Returns:
- if string is blank
-
isNumeric
Tests if a string is numeric, i.e. contains only digit characters- Parameters:
string- string to test- Returns:
- true if only digit chars, false if empty or null or contains non-digit chars
-
isWhitespace
public static boolean isWhitespace(int c)Tests if a code point is "whitespace" as defined in the HTML spec. Used for output HTML.- Parameters:
c- code point to test- Returns:
- true if code point is whitespace, false otherwise
- See Also:
isActuallyWhitespace(int)
-
isActuallyWhitespace
public static boolean isActuallyWhitespace(int c)Tests if a code point is "whitespace" as defined by what it looks like. Used for Element.text etc.- Parameters:
c- code point to test- Returns:
- true if code point is whitespace, false otherwise
-
isInvisibleChar
public static boolean isInvisibleChar(int c) -
normaliseWhitespace
Normalise the whitespace within this string; multiple spaces collapse to a single, and all whitespace characters (e.g. newline, tab) convert to a simple space- Parameters:
string- content to normalise- Returns:
- normalised string
-
appendNormalisedWhitespace
public static void appendNormalisedWhitespace(StringBuilder accum, String string, boolean stripLeading)After normalizing the whitespace within a string, appends it to a string builder.- Parameters:
accum- builder to append tostring- string to normalize whitespace withinstripLeading- set to true if you wish to remove any leading whitespace
-
in
-
inSorted
-
isAscii
Tests that a String contains only ASCII characters.- Parameters:
string- scanned string- Returns:
- true if all characters are in range 0 - 127
-
resolve
Create a new absolute URL, from a provided existing absolute URL and a relative URL component.- Parameters:
base- the existing absolute base URLrelUrl- the relative URL to resolve. (If it's already absolute, it will be returned)- Returns:
- the resolved absolute URL
- Throws:
MalformedURLException- if an error occurred generating the URL
-
resolve
Create a new absolute URL, from a provided existing absolute URL and a relative URL component.- Parameters:
baseUrl- the existing absolute base URLrelUrl- the relative URL to resolve. (If it's already absolute, it will be returned)- Returns:
- an absolute URL if one was able to be generated, or the empty string if not
-
borrowBuilder
Maintains cached StringBuilders in a flyweight pattern, to minimize new StringBuilder GCs. The StringBuilder is prevented from growing too large.Care must be taken to release the builder once its work has been completed, with
releaseBuilder(java.lang.StringBuilder)- Returns:
- an empty StringBuilder
-
releaseBuilder
Release a borrowed builder. Care must be taken not to use the builder after it has been returned, as its contents may be changed by this method, or by a concurrent thread.- Parameters:
sb- the StringBuilder to release.- Returns:
- the string value of the released String Builder (as an incentive to release it!).
-