Modified:
websites/production/commons/content/proper/commons-lang/apidocs/src-html/org/apache/commons/lang3/StringUtils.html
==============================================================================
---
websites/production/commons/content/proper/commons-lang/apidocs/src-html/org/apache/commons/lang3/StringUtils.html
(original)
+++
websites/production/commons/content/proper/commons-lang/apidocs/src-html/org/apache/commons/lang3/StringUtils.html
Thu Aug 29 19:59:17 2024
@@ -9044,576 +9044,574 @@
<span class="source-line-no">9031</span><span id="line-9031"> * @param
charsetName</span>
<span class="source-line-no">9032</span><span id="line-9032"> *
the encoding to use, if null then use the platform default</span>
<span class="source-line-no">9033</span><span id="line-9033"> * @return a
new String</span>
-<span class="source-line-no">9034</span><span id="line-9034"> * @throws
UnsupportedEncodingException</span>
-<span class="source-line-no">9035</span><span id="line-9035"> *
Never thrown</span>
-<span class="source-line-no">9036</span><span id="line-9036"> * @throws
NullPointerException</span>
-<span class="source-line-no">9037</span><span id="line-9037"> *
if the input is null</span>
-<span class="source-line-no">9038</span><span id="line-9038"> *
@deprecated use {@link StringUtils#toEncodedString(byte[], Charset)} instead of
String constants in your code</span>
-<span class="source-line-no">9039</span><span id="line-9039"> * @since
3.1</span>
-<span class="source-line-no">9040</span><span id="line-9040"> */</span>
-<span class="source-line-no">9041</span><span id="line-9041">
@Deprecated</span>
-<span class="source-line-no">9042</span><span id="line-9042"> public static
String toString(final byte[] bytes, final String charsetName) throws
UnsupportedEncodingException {</span>
-<span class="source-line-no">9043</span><span id="line-9043"> return
new String(bytes, Charsets.toCharset(charsetName));</span>
-<span class="source-line-no">9044</span><span id="line-9044"> }</span>
-<span class="source-line-no">9045</span><span id="line-9045"></span>
-<span class="source-line-no">9046</span><span id="line-9046"> private
static String toStringOrEmpty(final Object obj) {</span>
-<span class="source-line-no">9047</span><span id="line-9047"> return
Objects.toString(obj, EMPTY);</span>
-<span class="source-line-no">9048</span><span id="line-9048"> }</span>
-<span class="source-line-no">9049</span><span id="line-9049"></span>
-<span class="source-line-no">9050</span><span id="line-9050"> /**</span>
-<span class="source-line-no">9051</span><span id="line-9051"> * Removes
control characters (char &lt;= 32) from both</span>
-<span class="source-line-no">9052</span><span id="line-9052"> * ends of
this String, handling {@code null} by returning</span>
-<span class="source-line-no">9053</span><span id="line-9053"> * {@code
null}.</span>
-<span class="source-line-no">9054</span><span id="line-9054"> *</span>
-<span class="source-line-no">9055</span><span id="line-9055"> *
<p>The String is trimmed using {@link String#trim()}.</span>
-<span class="source-line-no">9056</span><span id="line-9056"> * Trim
removes start and end characters &lt;= 32.</span>
-<span class="source-line-no">9057</span><span id="line-9057"> * To strip
whitespace use {@link #strip(String)}.</p></span>
-<span class="source-line-no">9058</span><span id="line-9058"> *</span>
-<span class="source-line-no">9059</span><span id="line-9059"> *
<p>To trim your choice of characters, use the</span>
-<span class="source-line-no">9060</span><span id="line-9060"> * {@link
#strip(String, String)} methods.</p></span>
-<span class="source-line-no">9061</span><span id="line-9061"> *</span>
-<span class="source-line-no">9062</span><span id="line-9062"> *
<pre></span>
-<span class="source-line-no">9063</span><span id="line-9063"> *
StringUtils.trim(null) = null</span>
-<span class="source-line-no">9064</span><span id="line-9064"> *
StringUtils.trim("") = ""</span>
-<span class="source-line-no">9065</span><span id="line-9065"> *
StringUtils.trim(" ") = ""</span>
-<span class="source-line-no">9066</span><span id="line-9066"> *
StringUtils.trim("abc") = "abc"</span>
-<span class="source-line-no">9067</span><span id="line-9067"> *
StringUtils.trim(" abc ") = "abc"</span>
-<span class="source-line-no">9068</span><span id="line-9068"> *
</pre></span>
-<span class="source-line-no">9069</span><span id="line-9069"> *</span>
-<span class="source-line-no">9070</span><span id="line-9070"> * @param str
the String to be trimmed, may be null</span>
-<span class="source-line-no">9071</span><span id="line-9071"> * @return
the trimmed string, {@code null} if null String input</span>
-<span class="source-line-no">9072</span><span id="line-9072"> */</span>
-<span class="source-line-no">9073</span><span id="line-9073"> public static
String trim(final String str) {</span>
-<span class="source-line-no">9074</span><span id="line-9074"> return
str == null ? null : str.trim();</span>
-<span class="source-line-no">9075</span><span id="line-9075"> }</span>
-<span class="source-line-no">9076</span><span id="line-9076"></span>
-<span class="source-line-no">9077</span><span id="line-9077"> /**</span>
-<span class="source-line-no">9078</span><span id="line-9078"> * Removes
control characters (char &lt;= 32) from both</span>
-<span class="source-line-no">9079</span><span id="line-9079"> * ends of
this String returning an empty String ("") if the String</span>
-<span class="source-line-no">9080</span><span id="line-9080"> * is empty
("") after the trim or if it is {@code null}.</span>
-<span class="source-line-no">9081</span><span id="line-9081"> *</span>
-<span class="source-line-no">9082</span><span id="line-9082"> *
<p>The String is trimmed using {@link String#trim()}.</span>
-<span class="source-line-no">9083</span><span id="line-9083"> * Trim
removes start and end characters &lt;= 32.</span>
-<span class="source-line-no">9084</span><span id="line-9084"> * To strip
whitespace use {@link #stripToEmpty(String)}.</span>
-<span class="source-line-no">9085</span><span id="line-9085"> *</span>
-<span class="source-line-no">9086</span><span id="line-9086"> *
<pre></span>
-<span class="source-line-no">9087</span><span id="line-9087"> *
StringUtils.trimToEmpty(null) = ""</span>
-<span class="source-line-no">9088</span><span id="line-9088"> *
StringUtils.trimToEmpty("") = ""</span>
-<span class="source-line-no">9089</span><span id="line-9089"> *
StringUtils.trimToEmpty(" ") = ""</span>
-<span class="source-line-no">9090</span><span id="line-9090"> *
StringUtils.trimToEmpty("abc") = "abc"</span>
-<span class="source-line-no">9091</span><span id="line-9091"> *
StringUtils.trimToEmpty(" abc ") = "abc"</span>
-<span class="source-line-no">9092</span><span id="line-9092"> *
</pre></span>
-<span class="source-line-no">9093</span><span id="line-9093"> *</span>
-<span class="source-line-no">9094</span><span id="line-9094"> * @param str
the String to be trimmed, may be null</span>
-<span class="source-line-no">9095</span><span id="line-9095"> * @return
the trimmed String, or an empty String if {@code null} input</span>
-<span class="source-line-no">9096</span><span id="line-9096"> * @since
2.0</span>
-<span class="source-line-no">9097</span><span id="line-9097"> */</span>
-<span class="source-line-no">9098</span><span id="line-9098"> public static
String trimToEmpty(final String str) {</span>
-<span class="source-line-no">9099</span><span id="line-9099"> return
str == null ? EMPTY : str.trim();</span>
-<span class="source-line-no">9100</span><span id="line-9100"> }</span>
-<span class="source-line-no">9101</span><span id="line-9101"></span>
-<span class="source-line-no">9102</span><span id="line-9102"> /**</span>
-<span class="source-line-no">9103</span><span id="line-9103"> * Removes
control characters (char &lt;= 32) from both</span>
-<span class="source-line-no">9104</span><span id="line-9104"> * ends of
this String returning {@code null} if the String is</span>
-<span class="source-line-no">9105</span><span id="line-9105"> * empty ("")
after the trim or if it is {@code null}.</span>
-<span class="source-line-no">9106</span><span id="line-9106"> *</span>
-<span class="source-line-no">9107</span><span id="line-9107"> *
<p>The String is trimmed using {@link String#trim()}.</span>
-<span class="source-line-no">9108</span><span id="line-9108"> * Trim
removes start and end characters &lt;= 32.</span>
-<span class="source-line-no">9109</span><span id="line-9109"> * To strip
whitespace use {@link #stripToNull(String)}.</span>
-<span class="source-line-no">9110</span><span id="line-9110"> *</span>
-<span class="source-line-no">9111</span><span id="line-9111"> *
<pre></span>
-<span class="source-line-no">9112</span><span id="line-9112"> *
StringUtils.trimToNull(null) = null</span>
-<span class="source-line-no">9113</span><span id="line-9113"> *
StringUtils.trimToNull("") = null</span>
-<span class="source-line-no">9114</span><span id="line-9114"> *
StringUtils.trimToNull(" ") = null</span>
-<span class="source-line-no">9115</span><span id="line-9115"> *
StringUtils.trimToNull("abc") = "abc"</span>
-<span class="source-line-no">9116</span><span id="line-9116"> *
StringUtils.trimToNull(" abc ") = "abc"</span>
-<span class="source-line-no">9117</span><span id="line-9117"> *
</pre></span>
-<span class="source-line-no">9118</span><span id="line-9118"> *</span>
-<span class="source-line-no">9119</span><span id="line-9119"> * @param str
the String to be trimmed, may be null</span>
-<span class="source-line-no">9120</span><span id="line-9120"> * @return
the trimmed String,</span>
-<span class="source-line-no">9121</span><span id="line-9121"> * {@code
null} if only chars &lt;= 32, empty or null String input</span>
-<span class="source-line-no">9122</span><span id="line-9122"> * @since
2.0</span>
-<span class="source-line-no">9123</span><span id="line-9123"> */</span>
-<span class="source-line-no">9124</span><span id="line-9124"> public static
String trimToNull(final String str) {</span>
-<span class="source-line-no">9125</span><span id="line-9125"> final
String ts = trim(str);</span>
-<span class="source-line-no">9126</span><span id="line-9126"> return
isEmpty(ts) ? null : ts;</span>
-<span class="source-line-no">9127</span><span id="line-9127"> }</span>
-<span class="source-line-no">9128</span><span id="line-9128"></span>
-<span class="source-line-no">9129</span><span id="line-9129"> /**</span>
-<span class="source-line-no">9130</span><span id="line-9130"> * Truncates
a String. This will turn</span>
-<span class="source-line-no">9131</span><span id="line-9131"> * "Now is
the time for all good men" into "Now is the time for".</span>
-<span class="source-line-no">9132</span><span id="line-9132"> *</span>
-<span class="source-line-no">9133</span><span id="line-9133"> *
<p>Specifically:</p></span>
-<span class="source-line-no">9134</span><span id="line-9134"> *
<ul></span>
-<span class="source-line-no">9135</span><span id="line-9135"> *
<li>If {@code str} is less than {@code maxWidth} characters</span>
-<span class="source-line-no">9136</span><span id="line-9136"> *
long, return it.</li></span>
-<span class="source-line-no">9137</span><span id="line-9137"> *
<li>Else truncate it to {@code substring(str, 0,
maxWidth)}.</li></span>
-<span class="source-line-no">9138</span><span id="line-9138"> *
<li>If {@code maxWidth} is less than {@code 0}, throw an</span>
-<span class="source-line-no">9139</span><span id="line-9139"> *
{@link IllegalArgumentException}.</li></span>
-<span class="source-line-no">9140</span><span id="line-9140"> *
<li>In no case will it return a String of length greater than</span>
-<span class="source-line-no">9141</span><span id="line-9141"> *
{@code maxWidth}.</li></span>
-<span class="source-line-no">9142</span><span id="line-9142"> *
</ul></span>
-<span class="source-line-no">9143</span><span id="line-9143"> *</span>
-<span class="source-line-no">9144</span><span id="line-9144"> *
<pre></span>
-<span class="source-line-no">9145</span><span id="line-9145"> *
StringUtils.truncate(null, 0) = null</span>
-<span class="source-line-no">9146</span><span id="line-9146"> *
StringUtils.truncate(null, 2) = null</span>
-<span class="source-line-no">9147</span><span id="line-9147"> *
StringUtils.truncate("", 4) = ""</span>
-<span class="source-line-no">9148</span><span id="line-9148"> *
StringUtils.truncate("abcdefg", 4) = "abcd"</span>
-<span class="source-line-no">9149</span><span id="line-9149"> *
StringUtils.truncate("abcdefg", 6) = "abcdef"</span>
-<span class="source-line-no">9150</span><span id="line-9150"> *
StringUtils.truncate("abcdefg", 7) = "abcdefg"</span>
-<span class="source-line-no">9151</span><span id="line-9151"> *
StringUtils.truncate("abcdefg", 8) = "abcdefg"</span>
-<span class="source-line-no">9152</span><span id="line-9152"> *
StringUtils.truncate("abcdefg", -1) = throws an IllegalArgumentException</span>
-<span class="source-line-no">9153</span><span id="line-9153"> *
</pre></span>
-<span class="source-line-no">9154</span><span id="line-9154"> *</span>
-<span class="source-line-no">9155</span><span id="line-9155"> * @param str
the String to truncate, may be null</span>
-<span class="source-line-no">9156</span><span id="line-9156"> * @param
maxWidth maximum length of result String, must be positive</span>
-<span class="source-line-no">9157</span><span id="line-9157"> * @return
truncated String, {@code null} if null String input</span>
-<span class="source-line-no">9158</span><span id="line-9158"> * @throws
IllegalArgumentException If {@code maxWidth} is less than {@code 0}</span>
-<span class="source-line-no">9159</span><span id="line-9159"> * @since
3.5</span>
-<span class="source-line-no">9160</span><span id="line-9160"> */</span>
-<span class="source-line-no">9161</span><span id="line-9161"> public static
String truncate(final String str, final int maxWidth) {</span>
-<span class="source-line-no">9162</span><span id="line-9162"> return
truncate(str, 0, maxWidth);</span>
-<span class="source-line-no">9163</span><span id="line-9163"> }</span>
-<span class="source-line-no">9164</span><span id="line-9164"></span>
-<span class="source-line-no">9165</span><span id="line-9165"> /**</span>
-<span class="source-line-no">9166</span><span id="line-9166"> * Truncates
a String. This will turn</span>
-<span class="source-line-no">9167</span><span id="line-9167"> * "Now is
the time for all good men" into "is the time for all".</span>
-<span class="source-line-no">9168</span><span id="line-9168"> *</span>
-<span class="source-line-no">9169</span><span id="line-9169"> *
<p>Works like {@code truncate(String, int)}, but allows you to
specify</span>
-<span class="source-line-no">9170</span><span id="line-9170"> * a "left
edge" offset.</span>
-<span class="source-line-no">9171</span><span id="line-9171"> *</span>
-<span class="source-line-no">9172</span><span id="line-9172"> *
<p>Specifically:</p></span>
-<span class="source-line-no">9173</span><span id="line-9173"> *
<ul></span>
-<span class="source-line-no">9174</span><span id="line-9174"> *
<li>If {@code str} is less than {@code maxWidth} characters</span>
-<span class="source-line-no">9175</span><span id="line-9175"> *
long, return it.</li></span>
-<span class="source-line-no">9176</span><span id="line-9176"> *
<li>Else truncate it to {@code substring(str, offset,
maxWidth)}.</li></span>
-<span class="source-line-no">9177</span><span id="line-9177"> *
<li>If {@code maxWidth} is less than {@code 0}, throw an</span>
+<span class="source-line-no">9034</span><span id="line-9034"> * @throws
NullPointerException</span>
+<span class="source-line-no">9035</span><span id="line-9035"> *
if the input is null</span>
+<span class="source-line-no">9036</span><span id="line-9036"> *
@deprecated use {@link StringUtils#toEncodedString(byte[], Charset)} instead of
String constants in your code</span>
+<span class="source-line-no">9037</span><span id="line-9037"> * @since
3.1</span>
+<span class="source-line-no">9038</span><span id="line-9038"> */</span>
+<span class="source-line-no">9039</span><span id="line-9039">
@Deprecated</span>
+<span class="source-line-no">9040</span><span id="line-9040"> public static
String toString(final byte[] bytes, final String charsetName) {</span>
+<span class="source-line-no">9041</span><span id="line-9041"> return
new String(bytes, Charsets.toCharset(charsetName));</span>
+<span class="source-line-no">9042</span><span id="line-9042"> }</span>
+<span class="source-line-no">9043</span><span id="line-9043"></span>
+<span class="source-line-no">9044</span><span id="line-9044"> private
static String toStringOrEmpty(final Object obj) {</span>
+<span class="source-line-no">9045</span><span id="line-9045"> return
Objects.toString(obj, EMPTY);</span>
+<span class="source-line-no">9046</span><span id="line-9046"> }</span>
+<span class="source-line-no">9047</span><span id="line-9047"></span>
+<span class="source-line-no">9048</span><span id="line-9048"> /**</span>
+<span class="source-line-no">9049</span><span id="line-9049"> * Removes
control characters (char &lt;= 32) from both</span>
+<span class="source-line-no">9050</span><span id="line-9050"> * ends of
this String, handling {@code null} by returning</span>
+<span class="source-line-no">9051</span><span id="line-9051"> * {@code
null}.</span>
+<span class="source-line-no">9052</span><span id="line-9052"> *</span>
+<span class="source-line-no">9053</span><span id="line-9053"> *
<p>The String is trimmed using {@link String#trim()}.</span>
+<span class="source-line-no">9054</span><span id="line-9054"> * Trim
removes start and end characters &lt;= 32.</span>
+<span class="source-line-no">9055</span><span id="line-9055"> * To strip
whitespace use {@link #strip(String)}.</p></span>
+<span class="source-line-no">9056</span><span id="line-9056"> *</span>
+<span class="source-line-no">9057</span><span id="line-9057"> *
<p>To trim your choice of characters, use the</span>
+<span class="source-line-no">9058</span><span id="line-9058"> * {@link
#strip(String, String)} methods.</p></span>
+<span class="source-line-no">9059</span><span id="line-9059"> *</span>
+<span class="source-line-no">9060</span><span id="line-9060"> *
<pre></span>
+<span class="source-line-no">9061</span><span id="line-9061"> *
StringUtils.trim(null) = null</span>
+<span class="source-line-no">9062</span><span id="line-9062"> *
StringUtils.trim("") = ""</span>
+<span class="source-line-no">9063</span><span id="line-9063"> *
StringUtils.trim(" ") = ""</span>
+<span class="source-line-no">9064</span><span id="line-9064"> *
StringUtils.trim("abc") = "abc"</span>
+<span class="source-line-no">9065</span><span id="line-9065"> *
StringUtils.trim(" abc ") = "abc"</span>
+<span class="source-line-no">9066</span><span id="line-9066"> *
</pre></span>
+<span class="source-line-no">9067</span><span id="line-9067"> *</span>
+<span class="source-line-no">9068</span><span id="line-9068"> * @param str
the String to be trimmed, may be null</span>
+<span class="source-line-no">9069</span><span id="line-9069"> * @return
the trimmed string, {@code null} if null String input</span>
+<span class="source-line-no">9070</span><span id="line-9070"> */</span>
+<span class="source-line-no">9071</span><span id="line-9071"> public static
String trim(final String str) {</span>
+<span class="source-line-no">9072</span><span id="line-9072"> return
str == null ? null : str.trim();</span>
+<span class="source-line-no">9073</span><span id="line-9073"> }</span>
+<span class="source-line-no">9074</span><span id="line-9074"></span>
+<span class="source-line-no">9075</span><span id="line-9075"> /**</span>
+<span class="source-line-no">9076</span><span id="line-9076"> * Removes
control characters (char &lt;= 32) from both</span>
+<span class="source-line-no">9077</span><span id="line-9077"> * ends of
this String returning an empty String ("") if the String</span>
+<span class="source-line-no">9078</span><span id="line-9078"> * is empty
("") after the trim or if it is {@code null}.</span>
+<span class="source-line-no">9079</span><span id="line-9079"> *</span>
+<span class="source-line-no">9080</span><span id="line-9080"> *
<p>The String is trimmed using {@link String#trim()}.</span>
+<span class="source-line-no">9081</span><span id="line-9081"> * Trim
removes start and end characters &lt;= 32.</span>
+<span class="source-line-no">9082</span><span id="line-9082"> * To strip
whitespace use {@link #stripToEmpty(String)}.</span>
+<span class="source-line-no">9083</span><span id="line-9083"> *</span>
+<span class="source-line-no">9084</span><span id="line-9084"> *
<pre></span>
+<span class="source-line-no">9085</span><span id="line-9085"> *
StringUtils.trimToEmpty(null) = ""</span>
+<span class="source-line-no">9086</span><span id="line-9086"> *
StringUtils.trimToEmpty("") = ""</span>
+<span class="source-line-no">9087</span><span id="line-9087"> *
StringUtils.trimToEmpty(" ") = ""</span>
+<span class="source-line-no">9088</span><span id="line-9088"> *
StringUtils.trimToEmpty("abc") = "abc"</span>
+<span class="source-line-no">9089</span><span id="line-9089"> *
StringUtils.trimToEmpty(" abc ") = "abc"</span>
+<span class="source-line-no">9090</span><span id="line-9090"> *
</pre></span>
+<span class="source-line-no">9091</span><span id="line-9091"> *</span>
+<span class="source-line-no">9092</span><span id="line-9092"> * @param str
the String to be trimmed, may be null</span>
+<span class="source-line-no">9093</span><span id="line-9093"> * @return
the trimmed String, or an empty String if {@code null} input</span>
+<span class="source-line-no">9094</span><span id="line-9094"> * @since
2.0</span>
+<span class="source-line-no">9095</span><span id="line-9095"> */</span>
+<span class="source-line-no">9096</span><span id="line-9096"> public static
String trimToEmpty(final String str) {</span>
+<span class="source-line-no">9097</span><span id="line-9097"> return
str == null ? EMPTY : str.trim();</span>
+<span class="source-line-no">9098</span><span id="line-9098"> }</span>
+<span class="source-line-no">9099</span><span id="line-9099"></span>
+<span class="source-line-no">9100</span><span id="line-9100"> /**</span>
+<span class="source-line-no">9101</span><span id="line-9101"> * Removes
control characters (char &lt;= 32) from both</span>
+<span class="source-line-no">9102</span><span id="line-9102"> * ends of
this String returning {@code null} if the String is</span>
+<span class="source-line-no">9103</span><span id="line-9103"> * empty ("")
after the trim or if it is {@code null}.</span>
+<span class="source-line-no">9104</span><span id="line-9104"> *</span>
+<span class="source-line-no">9105</span><span id="line-9105"> *
<p>The String is trimmed using {@link String#trim()}.</span>
+<span class="source-line-no">9106</span><span id="line-9106"> * Trim
removes start and end characters &lt;= 32.</span>
+<span class="source-line-no">9107</span><span id="line-9107"> * To strip
whitespace use {@link #stripToNull(String)}.</span>
+<span class="source-line-no">9108</span><span id="line-9108"> *</span>
+<span class="source-line-no">9109</span><span id="line-9109"> *
<pre></span>
+<span class="source-line-no">9110</span><span id="line-9110"> *
StringUtils.trimToNull(null) = null</span>
+<span class="source-line-no">9111</span><span id="line-9111"> *
StringUtils.trimToNull("") = null</span>
+<span class="source-line-no">9112</span><span id="line-9112"> *
StringUtils.trimToNull(" ") = null</span>
+<span class="source-line-no">9113</span><span id="line-9113"> *
StringUtils.trimToNull("abc") = "abc"</span>
+<span class="source-line-no">9114</span><span id="line-9114"> *
StringUtils.trimToNull(" abc ") = "abc"</span>
+<span class="source-line-no">9115</span><span id="line-9115"> *
</pre></span>
+<span class="source-line-no">9116</span><span id="line-9116"> *</span>
+<span class="source-line-no">9117</span><span id="line-9117"> * @param str
the String to be trimmed, may be null</span>
+<span class="source-line-no">9118</span><span id="line-9118"> * @return
the trimmed String,</span>
+<span class="source-line-no">9119</span><span id="line-9119"> * {@code
null} if only chars &lt;= 32, empty or null String input</span>
+<span class="source-line-no">9120</span><span id="line-9120"> * @since
2.0</span>
+<span class="source-line-no">9121</span><span id="line-9121"> */</span>
+<span class="source-line-no">9122</span><span id="line-9122"> public static
String trimToNull(final String str) {</span>
+<span class="source-line-no">9123</span><span id="line-9123"> final
String ts = trim(str);</span>
+<span class="source-line-no">9124</span><span id="line-9124"> return
isEmpty(ts) ? null : ts;</span>
+<span class="source-line-no">9125</span><span id="line-9125"> }</span>
+<span class="source-line-no">9126</span><span id="line-9126"></span>
+<span class="source-line-no">9127</span><span id="line-9127"> /**</span>
+<span class="source-line-no">9128</span><span id="line-9128"> * Truncates
a String. This will turn</span>
+<span class="source-line-no">9129</span><span id="line-9129"> * "Now is
the time for all good men" into "Now is the time for".</span>
+<span class="source-line-no">9130</span><span id="line-9130"> *</span>
+<span class="source-line-no">9131</span><span id="line-9131"> *
<p>Specifically:</p></span>
+<span class="source-line-no">9132</span><span id="line-9132"> *
<ul></span>
+<span class="source-line-no">9133</span><span id="line-9133"> *
<li>If {@code str} is less than {@code maxWidth} characters</span>
+<span class="source-line-no">9134</span><span id="line-9134"> *
long, return it.</li></span>
+<span class="source-line-no">9135</span><span id="line-9135"> *
<li>Else truncate it to {@code substring(str, 0,
maxWidth)}.</li></span>
+<span class="source-line-no">9136</span><span id="line-9136"> *
<li>If {@code maxWidth} is less than {@code 0}, throw an</span>
+<span class="source-line-no">9137</span><span id="line-9137"> *
{@link IllegalArgumentException}.</li></span>
+<span class="source-line-no">9138</span><span id="line-9138"> *
<li>In no case will it return a String of length greater than</span>
+<span class="source-line-no">9139</span><span id="line-9139"> *
{@code maxWidth}.</li></span>
+<span class="source-line-no">9140</span><span id="line-9140"> *
</ul></span>
+<span class="source-line-no">9141</span><span id="line-9141"> *</span>
+<span class="source-line-no">9142</span><span id="line-9142"> *
<pre></span>
+<span class="source-line-no">9143</span><span id="line-9143"> *
StringUtils.truncate(null, 0) = null</span>
+<span class="source-line-no">9144</span><span id="line-9144"> *
StringUtils.truncate(null, 2) = null</span>
+<span class="source-line-no">9145</span><span id="line-9145"> *
StringUtils.truncate("", 4) = ""</span>
+<span class="source-line-no">9146</span><span id="line-9146"> *
StringUtils.truncate("abcdefg", 4) = "abcd"</span>
+<span class="source-line-no">9147</span><span id="line-9147"> *
StringUtils.truncate("abcdefg", 6) = "abcdef"</span>
+<span class="source-line-no">9148</span><span id="line-9148"> *
StringUtils.truncate("abcdefg", 7) = "abcdefg"</span>
+<span class="source-line-no">9149</span><span id="line-9149"> *
StringUtils.truncate("abcdefg", 8) = "abcdefg"</span>
+<span class="source-line-no">9150</span><span id="line-9150"> *
StringUtils.truncate("abcdefg", -1) = throws an IllegalArgumentException</span>
+<span class="source-line-no">9151</span><span id="line-9151"> *
</pre></span>
+<span class="source-line-no">9152</span><span id="line-9152"> *</span>
+<span class="source-line-no">9153</span><span id="line-9153"> * @param str
the String to truncate, may be null</span>
+<span class="source-line-no">9154</span><span id="line-9154"> * @param
maxWidth maximum length of result String, must be positive</span>
+<span class="source-line-no">9155</span><span id="line-9155"> * @return
truncated String, {@code null} if null String input</span>
+<span class="source-line-no">9156</span><span id="line-9156"> * @throws
IllegalArgumentException If {@code maxWidth} is less than {@code 0}</span>
+<span class="source-line-no">9157</span><span id="line-9157"> * @since
3.5</span>
+<span class="source-line-no">9158</span><span id="line-9158"> */</span>
+<span class="source-line-no">9159</span><span id="line-9159"> public static
String truncate(final String str, final int maxWidth) {</span>
+<span class="source-line-no">9160</span><span id="line-9160"> return
truncate(str, 0, maxWidth);</span>
+<span class="source-line-no">9161</span><span id="line-9161"> }</span>
+<span class="source-line-no">9162</span><span id="line-9162"></span>
+<span class="source-line-no">9163</span><span id="line-9163"> /**</span>
+<span class="source-line-no">9164</span><span id="line-9164"> * Truncates
a String. This will turn</span>
+<span class="source-line-no">9165</span><span id="line-9165"> * "Now is
the time for all good men" into "is the time for all".</span>
+<span class="source-line-no">9166</span><span id="line-9166"> *</span>
+<span class="source-line-no">9167</span><span id="line-9167"> *
<p>Works like {@code truncate(String, int)}, but allows you to
specify</span>
+<span class="source-line-no">9168</span><span id="line-9168"> * a "left
edge" offset.</span>
+<span class="source-line-no">9169</span><span id="line-9169"> *</span>
+<span class="source-line-no">9170</span><span id="line-9170"> *
<p>Specifically:</p></span>
+<span class="source-line-no">9171</span><span id="line-9171"> *
<ul></span>
+<span class="source-line-no">9172</span><span id="line-9172"> *
<li>If {@code str} is less than {@code maxWidth} characters</span>
+<span class="source-line-no">9173</span><span id="line-9173"> *
long, return it.</li></span>
+<span class="source-line-no">9174</span><span id="line-9174"> *
<li>Else truncate it to {@code substring(str, offset,
maxWidth)}.</li></span>
+<span class="source-line-no">9175</span><span id="line-9175"> *
<li>If {@code maxWidth} is less than {@code 0}, throw an</span>
+<span class="source-line-no">9176</span><span id="line-9176"> *
{@link IllegalArgumentException}.</li></span>
+<span class="source-line-no">9177</span><span id="line-9177"> *
<li>If {@code offset} is less than {@code 0}, throw an</span>
<span class="source-line-no">9178</span><span id="line-9178"> *
{@link IllegalArgumentException}.</li></span>
-<span class="source-line-no">9179</span><span id="line-9179"> *
<li>If {@code offset} is less than {@code 0}, throw an</span>
-<span class="source-line-no">9180</span><span id="line-9180"> *
{@link IllegalArgumentException}.</li></span>
-<span class="source-line-no">9181</span><span id="line-9181"> *
<li>In no case will it return a String of length greater than</span>
-<span class="source-line-no">9182</span><span id="line-9182"> *
{@code maxWidth}.</li></span>
-<span class="source-line-no">9183</span><span id="line-9183"> *
</ul></span>
-<span class="source-line-no">9184</span><span id="line-9184"> *</span>
-<span class="source-line-no">9185</span><span id="line-9185"> *
<pre></span>
-<span class="source-line-no">9186</span><span id="line-9186"> *
StringUtils.truncate(null, 0, 0) = null</span>
-<span class="source-line-no">9187</span><span id="line-9187"> *
StringUtils.truncate(null, 2, 4) = null</span>
-<span class="source-line-no">9188</span><span id="line-9188"> *
StringUtils.truncate("", 0, 10) = ""</span>
-<span class="source-line-no">9189</span><span id="line-9189"> *
StringUtils.truncate("", 2, 10) = ""</span>
-<span class="source-line-no">9190</span><span id="line-9190"> *
StringUtils.truncate("abcdefghij", 0, 3) = "abc"</span>
-<span class="source-line-no">9191</span><span id="line-9191"> *
StringUtils.truncate("abcdefghij", 5, 6) = "fghij"</span>
-<span class="source-line-no">9192</span><span id="line-9192"> *
StringUtils.truncate("raspberry peach", 10, 15) = "peach"</span>
-<span class="source-line-no">9193</span><span id="line-9193"> *
StringUtils.truncate("abcdefghijklmno", 0, 10) = "abcdefghij"</span>
-<span class="source-line-no">9194</span><span id="line-9194"> *
StringUtils.truncate("abcdefghijklmno", -1, 10) = throws an
IllegalArgumentException</span>
-<span class="source-line-no">9195</span><span id="line-9195"> *
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, 10) = throws an
IllegalArgumentException</span>
-<span class="source-line-no">9196</span><span id="line-9196"> *
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, Integer.MAX_VALUE) =
throws an IllegalArgumentException</span>
-<span class="source-line-no">9197</span><span id="line-9197"> *
StringUtils.truncate("abcdefghijklmno", 0, Integer.MAX_VALUE) =
"abcdefghijklmno"</span>
-<span class="source-line-no">9198</span><span id="line-9198"> *
StringUtils.truncate("abcdefghijklmno", 1, 10) = "bcdefghijk"</span>
-<span class="source-line-no">9199</span><span id="line-9199"> *
StringUtils.truncate("abcdefghijklmno", 2, 10) = "cdefghijkl"</span>
-<span class="source-line-no">9200</span><span id="line-9200"> *
StringUtils.truncate("abcdefghijklmno", 3, 10) = "defghijklm"</span>
-<span class="source-line-no">9201</span><span id="line-9201"> *
StringUtils.truncate("abcdefghijklmno", 4, 10) = "efghijklmn"</span>
-<span class="source-line-no">9202</span><span id="line-9202"> *
StringUtils.truncate("abcdefghijklmno", 5, 10) = "fghijklmno"</span>
-<span class="source-line-no">9203</span><span id="line-9203"> *
StringUtils.truncate("abcdefghijklmno", 5, 5) = "fghij"</span>
-<span class="source-line-no">9204</span><span id="line-9204"> *
StringUtils.truncate("abcdefghijklmno", 5, 3) = "fgh"</span>
-<span class="source-line-no">9205</span><span id="line-9205"> *
StringUtils.truncate("abcdefghijklmno", 10, 3) = "klm"</span>
-<span class="source-line-no">9206</span><span id="line-9206"> *
StringUtils.truncate("abcdefghijklmno", 10, Integer.MAX_VALUE) = "klmno"</span>
-<span class="source-line-no">9207</span><span id="line-9207"> *
StringUtils.truncate("abcdefghijklmno", 13, 1) = "n"</span>
-<span class="source-line-no">9208</span><span id="line-9208"> *
StringUtils.truncate("abcdefghijklmno", 13, Integer.MAX_VALUE) = "no"</span>
-<span class="source-line-no">9209</span><span id="line-9209"> *
StringUtils.truncate("abcdefghijklmno", 14, 1) = "o"</span>
-<span class="source-line-no">9210</span><span id="line-9210"> *
StringUtils.truncate("abcdefghijklmno", 14, Integer.MAX_VALUE) = "o"</span>
-<span class="source-line-no">9211</span><span id="line-9211"> *
StringUtils.truncate("abcdefghijklmno", 15, 1) = ""</span>
-<span class="source-line-no">9212</span><span id="line-9212"> *
StringUtils.truncate("abcdefghijklmno", 15, Integer.MAX_VALUE) = ""</span>
-<span class="source-line-no">9213</span><span id="line-9213"> *
StringUtils.truncate("abcdefghijklmno", Integer.MAX_VALUE, Integer.MAX_VALUE) =
""</span>
-<span class="source-line-no">9214</span><span id="line-9214"> *
StringUtils.truncate("abcdefghij", 3, -1) = throws an
IllegalArgumentException</span>
-<span class="source-line-no">9215</span><span id="line-9215"> *
StringUtils.truncate("abcdefghij", -2, 4) = throws an
IllegalArgumentException</span>
-<span class="source-line-no">9216</span><span id="line-9216"> *
</pre></span>
-<span class="source-line-no">9217</span><span id="line-9217"> *</span>
-<span class="source-line-no">9218</span><span id="line-9218"> * @param str
the String to truncate, may be null</span>
-<span class="source-line-no">9219</span><span id="line-9219"> * @param
offset left edge of source String</span>
-<span class="source-line-no">9220</span><span id="line-9220"> * @param
maxWidth maximum length of result String, must be positive</span>
-<span class="source-line-no">9221</span><span id="line-9221"> * @return
truncated String, {@code null} if null String input</span>
-<span class="source-line-no">9222</span><span id="line-9222"> * @throws
IllegalArgumentException If {@code offset} or {@code maxWidth} is less than
{@code 0}</span>
-<span class="source-line-no">9223</span><span id="line-9223"> * @since
3.5</span>
-<span class="source-line-no">9224</span><span id="line-9224"> */</span>
-<span class="source-line-no">9225</span><span id="line-9225"> public static
String truncate(final String str, final int offset, final int maxWidth) {</span>
-<span class="source-line-no">9226</span><span id="line-9226"> if
(offset < 0) {</span>
-<span class="source-line-no">9227</span><span id="line-9227"> throw
new IllegalArgumentException("offset cannot be negative");</span>
-<span class="source-line-no">9228</span><span id="line-9228"> }</span>
-<span class="source-line-no">9229</span><span id="line-9229"> if
(maxWidth < 0) {</span>
-<span class="source-line-no">9230</span><span id="line-9230"> throw
new IllegalArgumentException("maxWith cannot be negative");</span>
-<span class="source-line-no">9231</span><span id="line-9231"> }</span>
-<span class="source-line-no">9232</span><span id="line-9232"> if (str
== null) {</span>
-<span class="source-line-no">9233</span><span id="line-9233">
return null;</span>
-<span class="source-line-no">9234</span><span id="line-9234"> }</span>
-<span class="source-line-no">9235</span><span id="line-9235"> if
(offset > str.length()) {</span>
-<span class="source-line-no">9236</span><span id="line-9236">
return EMPTY;</span>
-<span class="source-line-no">9237</span><span id="line-9237"> }</span>
-<span class="source-line-no">9238</span><span id="line-9238"> if
(str.length() > maxWidth) {</span>
-<span class="source-line-no">9239</span><span id="line-9239"> final
int ix = Math.min(offset + maxWidth, str.length());</span>
-<span class="source-line-no">9240</span><span id="line-9240">
return str.substring(offset, ix);</span>
-<span class="source-line-no">9241</span><span id="line-9241"> }</span>
-<span class="source-line-no">9242</span><span id="line-9242"> return
str.substring(offset);</span>
-<span class="source-line-no">9243</span><span id="line-9243"> }</span>
-<span class="source-line-no">9244</span><span id="line-9244"></span>
-<span class="source-line-no">9245</span><span id="line-9245"> /**</span>
-<span class="source-line-no">9246</span><span id="line-9246"> *
Uncapitalizes a String, changing the first character to lower case as</span>
-<span class="source-line-no">9247</span><span id="line-9247"> * per {@link
Character#toLowerCase(int)}. No other characters are changed.</span>
-<span class="source-line-no">9248</span><span id="line-9248"> *</span>
-<span class="source-line-no">9249</span><span id="line-9249"> *
<p>For a word based algorithm, see {@link
org.apache.commons.text.WordUtils#uncapitalize(String)}.</span>
-<span class="source-line-no">9250</span><span id="line-9250"> * A {@code
null} input String returns {@code null}.</p></span>
-<span class="source-line-no">9251</span><span id="line-9251"> *</span>
-<span class="source-line-no">9252</span><span id="line-9252"> *
<pre></span>
-<span class="source-line-no">9253</span><span id="line-9253"> *
StringUtils.uncapitalize(null) = null</span>
-<span class="source-line-no">9254</span><span id="line-9254"> *
StringUtils.uncapitalize("") = ""</span>
-<span class="source-line-no">9255</span><span id="line-9255"> *
StringUtils.uncapitalize("cat") = "cat"</span>
-<span class="source-line-no">9256</span><span id="line-9256"> *
StringUtils.uncapitalize("Cat") = "cat"</span>
-<span class="source-line-no">9257</span><span id="line-9257"> *
StringUtils.uncapitalize("CAT") = "cAT"</span>
-<span class="source-line-no">9258</span><span id="line-9258"> *
</pre></span>
-<span class="source-line-no">9259</span><span id="line-9259"> *</span>
-<span class="source-line-no">9260</span><span id="line-9260"> * @param str
the String to uncapitalize, may be null</span>
-<span class="source-line-no">9261</span><span id="line-9261"> * @return
the uncapitalized String, {@code null} if null String input</span>
-<span class="source-line-no">9262</span><span id="line-9262"> * @see
org.apache.commons.text.WordUtils#uncapitalize(String)</span>
-<span class="source-line-no">9263</span><span id="line-9263"> * @see
#capitalize(String)</span>
-<span class="source-line-no">9264</span><span id="line-9264"> * @since
2.0</span>
-<span class="source-line-no">9265</span><span id="line-9265"> */</span>
-<span class="source-line-no">9266</span><span id="line-9266"> public static
String uncapitalize(final String str) {</span>
-<span class="source-line-no">9267</span><span id="line-9267"> final int
strLen = length(str);</span>
-<span class="source-line-no">9268</span><span id="line-9268"> if
(strLen == 0) {</span>
-<span class="source-line-no">9269</span><span id="line-9269">
return str;</span>
-<span class="source-line-no">9270</span><span id="line-9270"> }</span>
-<span class="source-line-no">9271</span><span id="line-9271"></span>
-<span class="source-line-no">9272</span><span id="line-9272"> final int
firstCodePoint = str.codePointAt(0);</span>
-<span class="source-line-no">9273</span><span id="line-9273"> final int
newCodePoint = Character.toLowerCase(firstCodePoint);</span>
-<span class="source-line-no">9274</span><span id="line-9274"> if
(firstCodePoint == newCodePoint) {</span>
-<span class="source-line-no">9275</span><span id="line-9275"> //
already capitalized</span>
-<span class="source-line-no">9276</span><span id="line-9276">
return str;</span>
-<span class="source-line-no">9277</span><span id="line-9277"> }</span>
-<span class="source-line-no">9278</span><span id="line-9278"></span>
-<span class="source-line-no">9279</span><span id="line-9279"> final
int[] newCodePoints = new int[strLen]; // cannot be longer than the char
array</span>
-<span class="source-line-no">9280</span><span id="line-9280"> int
outOffset = 0;</span>
-<span class="source-line-no">9281</span><span id="line-9281">
newCodePoints[outOffset++] = newCodePoint; // copy the first code point</span>
-<span class="source-line-no">9282</span><span id="line-9282"> for (int
inOffset = Character.charCount(firstCodePoint); inOffset < strLen; ) {</span>
-<span class="source-line-no">9283</span><span id="line-9283"> final
int codePoint = str.codePointAt(inOffset);</span>
-<span class="source-line-no">9284</span><span id="line-9284">
newCodePoints[outOffset++] = codePoint; // copy the remaining ones</span>
-<span class="source-line-no">9285</span><span id="line-9285">
inOffset += Character.charCount(codePoint);</span>
-<span class="source-line-no">9286</span><span id="line-9286"> }</span>
-<span class="source-line-no">9287</span><span id="line-9287"> return
new String(newCodePoints, 0, outOffset);</span>
-<span class="source-line-no">9288</span><span id="line-9288"> }</span>
-<span class="source-line-no">9289</span><span id="line-9289"></span>
-<span class="source-line-no">9290</span><span id="line-9290"> /**</span>
-<span class="source-line-no">9291</span><span id="line-9291"> * Unwraps a
given string from a character.</span>
-<span class="source-line-no">9292</span><span id="line-9292"> *</span>
-<span class="source-line-no">9293</span><span id="line-9293"> *
<pre></span>
-<span class="source-line-no">9294</span><span id="line-9294"> *
StringUtils.unwrap(null, null) = null</span>
-<span class="source-line-no">9295</span><span id="line-9295"> *
StringUtils.unwrap(null, '\0') = null</span>
-<span class="source-line-no">9296</span><span id="line-9296"> *
StringUtils.unwrap(null, '1') = null</span>
-<span class="source-line-no">9297</span><span id="line-9297"> *
StringUtils.unwrap("a", 'a') = "a"</span>
-<span class="source-line-no">9298</span><span id="line-9298"> *
StringUtils.unwrap("aa", 'a') = ""</span>
-<span class="source-line-no">9299</span><span id="line-9299"> *
StringUtils.unwrap("\'abc\'", '\'') = "abc"</span>
-<span class="source-line-no">9300</span><span id="line-9300"> *
StringUtils.unwrap("AABabcBAA", 'A') = "ABabcBA"</span>
-<span class="source-line-no">9301</span><span id="line-9301"> *
StringUtils.unwrap("A", '#') = "A"</span>
-<span class="source-line-no">9302</span><span id="line-9302"> *
StringUtils.unwrap("#A", '#') = "#A"</span>
-<span class="source-line-no">9303</span><span id="line-9303"> *
StringUtils.unwrap("A#", '#') = "A#"</span>
-<span class="source-line-no">9304</span><span id="line-9304"> *
</pre></span>
-<span class="source-line-no">9305</span><span id="line-9305"> *</span>
-<span class="source-line-no">9306</span><span id="line-9306"> * @param
str</span>
-<span class="source-line-no">9307</span><span id="line-9307"> *
the String to be unwrapped, can be null</span>
-<span class="source-line-no">9308</span><span id="line-9308"> * @param
wrapChar</span>
-<span class="source-line-no">9309</span><span id="line-9309"> *
the character used to unwrap</span>
-<span class="source-line-no">9310</span><span id="line-9310"> * @return
unwrapped String or the original string</span>
-<span class="source-line-no">9311</span><span id="line-9311"> *
if it is not quoted properly with the wrapChar</span>
-<span class="source-line-no">9312</span><span id="line-9312"> * @since
3.6</span>
-<span class="source-line-no">9313</span><span id="line-9313"> */</span>
-<span class="source-line-no">9314</span><span id="line-9314"> public static
String unwrap(final String str, final char wrapChar) {</span>
-<span class="source-line-no">9315</span><span id="line-9315"> if
(isEmpty(str) || wrapChar == CharUtils.NUL || str.length() == 1) {</span>
-<span class="source-line-no">9316</span><span id="line-9316">
return str;</span>
-<span class="source-line-no">9317</span><span id="line-9317"> }</span>
-<span class="source-line-no">9318</span><span id="line-9318"></span>
-<span class="source-line-no">9319</span><span id="line-9319"> if
(str.charAt(0) == wrapChar && str.charAt(str.length() - 1) == wrapChar)
{</span>
-<span class="source-line-no">9320</span><span id="line-9320"> final
int startIndex = 0;</span>
-<span class="source-line-no">9321</span><span id="line-9321"> final
int endIndex = str.length() - 1;</span>
-<span class="source-line-no">9322</span><span id="line-9322"></span>
-<span class="source-line-no">9323</span><span id="line-9323">
return str.substring(startIndex + 1, endIndex);</span>
-<span class="source-line-no">9324</span><span id="line-9324"> }</span>
-<span class="source-line-no">9325</span><span id="line-9325"></span>
-<span class="source-line-no">9326</span><span id="line-9326"> return
str;</span>
-<span class="source-line-no">9327</span><span id="line-9327"> }</span>
-<span class="source-line-no">9328</span><span id="line-9328"></span>
-<span class="source-line-no">9329</span><span id="line-9329"> /**</span>
-<span class="source-line-no">9330</span><span id="line-9330"> * Unwraps a
given string from another string.</span>
-<span class="source-line-no">9331</span><span id="line-9331"> *</span>
-<span class="source-line-no">9332</span><span id="line-9332"> *
<pre></span>
-<span class="source-line-no">9333</span><span id="line-9333"> *
StringUtils.unwrap(null, null) = null</span>
-<span class="source-line-no">9334</span><span id="line-9334"> *
StringUtils.unwrap(null, "") = null</span>
-<span class="source-line-no">9335</span><span id="line-9335"> *
StringUtils.unwrap(null, "1") = null</span>
-<span class="source-line-no">9336</span><span id="line-9336"> *
StringUtils.unwrap("a", "a") = "a"</span>
-<span class="source-line-no">9337</span><span id="line-9337"> *
StringUtils.unwrap("aa", "a") = ""</span>
-<span class="source-line-no">9338</span><span id="line-9338"> *
StringUtils.unwrap("\'abc\'", "\'") = "abc"</span>
-<span class="source-line-no">9339</span><span id="line-9339"> *
StringUtils.unwrap("\"abc\"", "\"") = "abc"</span>
-<span class="source-line-no">9340</span><span id="line-9340"> *
StringUtils.unwrap("AABabcBAA", "AA") = "BabcB"</span>
-<span class="source-line-no">9341</span><span id="line-9341"> *
StringUtils.unwrap("A", "#") = "A"</span>
-<span class="source-line-no">9342</span><span id="line-9342"> *
StringUtils.unwrap("#A", "#") = "#A"</span>
-<span class="source-line-no">9343</span><span id="line-9343"> *
StringUtils.unwrap("A#", "#") = "A#"</span>
-<span class="source-line-no">9344</span><span id="line-9344"> *
</pre></span>
-<span class="source-line-no">9345</span><span id="line-9345"> *</span>
-<span class="source-line-no">9346</span><span id="line-9346"> * @param
str</span>
-<span class="source-line-no">9347</span><span id="line-9347"> *
the String to be unwrapped, can be null</span>
-<span class="source-line-no">9348</span><span id="line-9348"> * @param
wrapToken</span>
-<span class="source-line-no">9349</span><span id="line-9349"> *
the String used to unwrap</span>
-<span class="source-line-no">9350</span><span id="line-9350"> * @return
unwrapped String or the original string</span>
-<span class="source-line-no">9351</span><span id="line-9351"> *
if it is not quoted properly with the wrapToken</span>
-<span class="source-line-no">9352</span><span id="line-9352"> * @since
3.6</span>
-<span class="source-line-no">9353</span><span id="line-9353"> */</span>
-<span class="source-line-no">9354</span><span id="line-9354"> public static
String unwrap(final String str, final String wrapToken) {</span>
-<span class="source-line-no">9355</span><span id="line-9355"> if
(isEmpty(str) || isEmpty(wrapToken) || str.length() < 2 *
wrapToken.length()) {</span>
-<span class="source-line-no">9356</span><span id="line-9356">
return str;</span>
-<span class="source-line-no">9357</span><span id="line-9357"> }</span>
-<span class="source-line-no">9358</span><span id="line-9358"></span>
-<span class="source-line-no">9359</span><span id="line-9359"> if
(startsWith(str, wrapToken) && endsWith(str, wrapToken)) {</span>
-<span class="source-line-no">9360</span><span id="line-9360">
return str.substring(wrapToken.length(), str.lastIndexOf(wrapToken));</span>
-<span class="source-line-no">9361</span><span id="line-9361"> }</span>
-<span class="source-line-no">9362</span><span id="line-9362"></span>
-<span class="source-line-no">9363</span><span id="line-9363"> return
str;</span>
-<span class="source-line-no">9364</span><span id="line-9364"> }</span>
-<span class="source-line-no">9365</span><span id="line-9365"></span>
-<span class="source-line-no">9366</span><span id="line-9366"> /**</span>
-<span class="source-line-no">9367</span><span id="line-9367"> * Converts a
String to upper case as per {@link String#toUpperCase()}.</span>
+<span class="source-line-no">9179</span><span id="line-9179"> *
<li>In no case will it return a String of length greater than</span>
+<span class="source-line-no">9180</span><span id="line-9180"> *
{@code maxWidth}.</li></span>
+<span class="source-line-no">9181</span><span id="line-9181"> *
</ul></span>
+<span class="source-line-no">9182</span><span id="line-9182"> *</span>
+<span class="source-line-no">9183</span><span id="line-9183"> *
<pre></span>
+<span class="source-line-no">9184</span><span id="line-9184"> *
StringUtils.truncate(null, 0, 0) = null</span>
+<span class="source-line-no">9185</span><span id="line-9185"> *
StringUtils.truncate(null, 2, 4) = null</span>
+<span class="source-line-no">9186</span><span id="line-9186"> *
StringUtils.truncate("", 0, 10) = ""</span>
+<span class="source-line-no">9187</span><span id="line-9187"> *
StringUtils.truncate("", 2, 10) = ""</span>
+<span class="source-line-no">9188</span><span id="line-9188"> *
StringUtils.truncate("abcdefghij", 0, 3) = "abc"</span>
+<span class="source-line-no">9189</span><span id="line-9189"> *
StringUtils.truncate("abcdefghij", 5, 6) = "fghij"</span>
+<span class="source-line-no">9190</span><span id="line-9190"> *
StringUtils.truncate("raspberry peach", 10, 15) = "peach"</span>
+<span class="source-line-no">9191</span><span id="line-9191"> *
StringUtils.truncate("abcdefghijklmno", 0, 10) = "abcdefghij"</span>
+<span class="source-line-no">9192</span><span id="line-9192"> *
StringUtils.truncate("abcdefghijklmno", -1, 10) = throws an
IllegalArgumentException</span>
+<span class="source-line-no">9193</span><span id="line-9193"> *
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, 10) = throws an
IllegalArgumentException</span>
+<span class="source-line-no">9194</span><span id="line-9194"> *
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, Integer.MAX_VALUE) =
throws an IllegalArgumentException</span>
+<span class="source-line-no">9195</span><span id="line-9195"> *
StringUtils.truncate("abcdefghijklmno", 0, Integer.MAX_VALUE) =
"abcdefghijklmno"</span>
+<span class="source-line-no">9196</span><span id="line-9196"> *
StringUtils.truncate("abcdefghijklmno", 1, 10) = "bcdefghijk"</span>
+<span class="source-line-no">9197</span><span id="line-9197"> *
StringUtils.truncate("abcdefghijklmno", 2, 10) = "cdefghijkl"</span>
+<span class="source-line-no">9198</span><span id="line-9198"> *
StringUtils.truncate("abcdefghijklmno", 3, 10) = "defghijklm"</span>
+<span class="source-line-no">9199</span><span id="line-9199"> *
StringUtils.truncate("abcdefghijklmno", 4, 10) = "efghijklmn"</span>
+<span class="source-line-no">9200</span><span id="line-9200"> *
StringUtils.truncate("abcdefghijklmno", 5, 10) = "fghijklmno"</span>
+<span class="source-line-no">9201</span><span id="line-9201"> *
StringUtils.truncate("abcdefghijklmno", 5, 5) = "fghij"</span>
+<span class="source-line-no">9202</span><span id="line-9202"> *
StringUtils.truncate("abcdefghijklmno", 5, 3) = "fgh"</span>
+<span class="source-line-no">9203</span><span id="line-9203"> *
StringUtils.truncate("abcdefghijklmno", 10, 3) = "klm"</span>
+<span class="source-line-no">9204</span><span id="line-9204"> *
StringUtils.truncate("abcdefghijklmno", 10, Integer.MAX_VALUE) = "klmno"</span>
+<span class="source-line-no">9205</span><span id="line-9205"> *
StringUtils.truncate("abcdefghijklmno", 13, 1) = "n"</span>
+<span class="source-line-no">9206</span><span id="line-9206"> *
StringUtils.truncate("abcdefghijklmno", 13, Integer.MAX_VALUE) = "no"</span>
+<span class="source-line-no">9207</span><span id="line-9207"> *
StringUtils.truncate("abcdefghijklmno", 14, 1) = "o"</span>
+<span class="source-line-no">9208</span><span id="line-9208"> *
StringUtils.truncate("abcdefghijklmno", 14, Integer.MAX_VALUE) = "o"</span>
+<span class="source-line-no">9209</span><span id="line-9209"> *
StringUtils.truncate("abcdefghijklmno", 15, 1) = ""</span>
+<span class="source-line-no">9210</span><span id="line-9210"> *
StringUtils.truncate("abcdefghijklmno", 15, Integer.MAX_VALUE) = ""</span>
+<span class="source-line-no">9211</span><span id="line-9211"> *
StringUtils.truncate("abcdefghijklmno", Integer.MAX_VALUE, Integer.MAX_VALUE) =
""</span>
+<span class="source-line-no">9212</span><span id="line-9212"> *
StringUtils.truncate("abcdefghij", 3, -1) = throws an
IllegalArgumentException</span>
+<span class="source-line-no">9213</span><span id="line-9213"> *
StringUtils.truncate("abcdefghij", -2, 4) = throws an
IllegalArgumentException</span>
+<span class="source-line-no">9214</span><span id="line-9214"> *
</pre></span>
+<span class="source-line-no">9215</span><span id="line-9215"> *</span>
+<span class="source-line-no">9216</span><span id="line-9216"> * @param str
the String to truncate, may be null</span>
+<span class="source-line-no">9217</span><span id="line-9217"> * @param
offset left edge of source String</span>
+<span class="source-line-no">9218</span><span id="line-9218"> * @param
maxWidth maximum length of result String, must be positive</span>
+<span class="source-line-no">9219</span><span id="line-9219"> * @return
truncated String, {@code null} if null String input</span>
+<span class="source-line-no">9220</span><span id="line-9220"> * @throws
IllegalArgumentException If {@code offset} or {@code maxWidth} is less than
{@code 0}</span>
+<span class="source-line-no">9221</span><span id="line-9221"> * @since
3.5</span>
+<span class="source-line-no">9222</span><span id="line-9222"> */</span>
+<span class="source-line-no">9223</span><span id="line-9223"> public static
String truncate(final String str, final int offset, final int maxWidth) {</span>
+<span class="source-line-no">9224</span><span id="line-9224"> if
(offset < 0) {</span>
+<span class="source-line-no">9225</span><span id="line-9225"> throw
new IllegalArgumentException("offset cannot be negative");</span>
+<span class="source-line-no">9226</span><span id="line-9226"> }</span>
+<span class="source-line-no">9227</span><span id="line-9227"> if
(maxWidth < 0) {</span>
+<span class="source-line-no">9228</span><span id="line-9228"> throw
new IllegalArgumentException("maxWith cannot be negative");</span>
+<span class="source-line-no">9229</span><span id="line-9229"> }</span>
+<span class="source-line-no">9230</span><span id="line-9230"> if (str
== null) {</span>
+<span class="source-line-no">9231</span><span id="line-9231">
return null;</span>
+<span class="source-line-no">9232</span><span id="line-9232"> }</span>
+<span class="source-line-no">9233</span><span id="line-9233"> if
(offset > str.length()) {</span>
+<span class="source-line-no">9234</span><span id="line-9234">
return EMPTY;</span>
+<span class="source-line-no">9235</span><span id="line-9235"> }</span>
+<span class="source-line-no">9236</span><span id="line-9236"> if
(str.length() > maxWidth) {</span>
+<span class="source-line-no">9237</span><span id="line-9237"> final
int ix = Math.min(offset + maxWidth, str.length());</span>
+<span class="source-line-no">9238</span><span id="line-9238">
return str.substring(offset, ix);</span>
+<span class="source-line-no">9239</span><span id="line-9239"> }</span>
+<span class="source-line-no">9240</span><span id="line-9240"> return
str.substring(offset);</span>
+<span class="source-line-no">9241</span><span id="line-9241"> }</span>
+<span class="source-line-no">9242</span><span id="line-9242"></span>
+<span class="source-line-no">9243</span><span id="line-9243"> /**</span>
+<span class="source-line-no">9244</span><span id="line-9244"> *
Uncapitalizes a String, changing the first character to lower case as</span>
+<span class="source-line-no">9245</span><span id="line-9245"> * per {@link
Character#toLowerCase(int)}. No other characters are changed.</span>
+<span class="source-line-no">9246</span><span id="line-9246"> *</span>
+<span class="source-line-no">9247</span><span id="line-9247"> *
<p>For a word based algorithm, see {@link
org.apache.commons.text.WordUtils#uncapitalize(String)}.</span>
+<span class="source-line-no">9248</span><span id="line-9248"> * A {@code
null} input String returns {@code null}.</p></span>
+<span class="source-line-no">9249</span><span id="line-9249"> *</span>
+<span class="source-line-no">9250</span><span id="line-9250"> *
<pre></span>
+<span class="source-line-no">9251</span><span id="line-9251"> *
StringUtils.uncapitalize(null) = null</span>
+<span class="source-line-no">9252</span><span id="line-9252"> *
StringUtils.uncapitalize("") = ""</span>
+<span class="source-line-no">9253</span><span id="line-9253"> *
StringUtils.uncapitalize("cat") = "cat"</span>
+<span class="source-line-no">9254</span><span id="line-9254"> *
StringUtils.uncapitalize("Cat") = "cat"</span>
+<span class="source-line-no">9255</span><span id="line-9255"> *
StringUtils.uncapitalize("CAT") = "cAT"</span>
+<span class="source-line-no">9256</span><span id="line-9256"> *
</pre></span>
+<span class="source-line-no">9257</span><span id="line-9257"> *</span>
+<span class="source-line-no">9258</span><span id="line-9258"> * @param str
the String to uncapitalize, may be null</span>
+<span class="source-line-no">9259</span><span id="line-9259"> * @return
the uncapitalized String, {@code null} if null String input</span>
+<span class="source-line-no">9260</span><span id="line-9260"> * @see
org.apache.commons.text.WordUtils#uncapitalize(String)</span>
+<span class="source-line-no">9261</span><span id="line-9261"> * @see
#capitalize(String)</span>
+<span class="source-line-no">9262</span><span id="line-9262"> * @since
2.0</span>
+<span class="source-line-no">9263</span><span id="line-9263"> */</span>
+<span class="source-line-no">9264</span><span id="line-9264"> public static
String uncapitalize(final String str) {</span>
+<span class="source-line-no">9265</span><span id="line-9265"> final int
strLen = length(str);</span>
+<span class="source-line-no">9266</span><span id="line-9266"> if
(strLen == 0) {</span>
+<span class="source-line-no">9267</span><span id="line-9267">
return str;</span>
+<span class="source-line-no">9268</span><span id="line-9268"> }</span>
+<span class="source-line-no">9269</span><span id="line-9269"></span>
+<span class="source-line-no">9270</span><span id="line-9270"> final int
firstCodePoint = str.codePointAt(0);</span>
+<span class="source-line-no">9271</span><span id="line-9271"> final int
newCodePoint = Character.toLowerCase(firstCodePoint);</span>
+<span class="source-line-no">9272</span><span id="line-9272"> if
(firstCodePoint == newCodePoint) {</span>
+<span class="source-line-no">9273</span><span id="line-9273"> //
already capitalized</span>
+<span class="source-line-no">9274</span><span id="line-9274">
return str;</span>
+<span class="source-line-no">9275</span><span id="line-9275"> }</span>
+<span class="source-line-no">9276</span><span id="line-9276"></span>
+<span class="source-line-no">9277</span><span id="line-9277"> final
int[] newCodePoints = new int[strLen]; // cannot be longer than the char
array</span>
+<span class="source-line-no">9278</span><span id="line-9278"> int
outOffset = 0;</span>
+<span class="source-line-no">9279</span><span id="line-9279">
newCodePoints[outOffset++] = newCodePoint; // copy the first code point</span>
+<span class="source-line-no">9280</span><span id="line-9280"> for (int
inOffset = Character.charCount(firstCodePoint); inOffset < strLen; ) {</span>
+<span class="source-line-no">9281</span><span id="line-9281"> final
int codePoint = str.codePointAt(inOffset);</span>
+<span class="source-line-no">9282</span><span id="line-9282">
newCodePoints[outOffset++] = codePoint; // copy the remaining ones</span>
+<span class="source-line-no">9283</span><span id="line-9283">
inOffset += Character.charCount(codePoint);</span>
+<span class="source-line-no">9284</span><span id="line-9284"> }</span>
+<span class="source-line-no">9285</span><span id="line-9285"> return
new String(newCodePoints, 0, outOffset);</span>
+<span class="source-line-no">9286</span><span id="line-9286"> }</span>
+<span class="source-line-no">9287</span><span id="line-9287"></span>
+<span class="source-line-no">9288</span><span id="line-9288"> /**</span>
+<span class="source-line-no">9289</span><span id="line-9289"> * Unwraps a
given string from a character.</span>
+<span class="source-line-no">9290</span><span id="line-9290"> *</span>
+<span class="source-line-no">9291</span><span id="line-9291"> *
<pre></span>
+<span class="source-line-no">9292</span><span id="line-9292"> *
StringUtils.unwrap(null, null) = null</span>
+<span class="source-line-no">9293</span><span id="line-9293"> *
StringUtils.unwrap(null, '\0') = null</span>
+<span class="source-line-no">9294</span><span id="line-9294"> *
StringUtils.unwrap(null, '1') = null</span>
+<span class="source-line-no">9295</span><span id="line-9295"> *
StringUtils.unwrap("a", 'a') = "a"</span>
+<span class="source-line-no">9296</span><span id="line-9296"> *
StringUtils.unwrap("aa", 'a') = ""</span>
+<span class="source-line-no">9297</span><span id="line-9297"> *
StringUtils.unwrap("\'abc\'", '\'') = "abc"</span>
+<span class="source-line-no">9298</span><span id="line-9298"> *
StringUtils.unwrap("AABabcBAA", 'A') = "ABabcBA"</span>
+<span class="source-line-no">9299</span><span id="line-9299"> *
StringUtils.unwrap("A", '#') = "A"</span>
+<span class="source-line-no">9300</span><span id="line-9300"> *
StringUtils.unwrap("#A", '#') = "#A"</span>
+<span class="source-line-no">9301</span><span id="line-9301"> *
StringUtils.unwrap("A#", '#') = "A#"</span>
+<span class="source-line-no">9302</span><span id="line-9302"> *
</pre></span>
+<span class="source-line-no">9303</span><span id="line-9303"> *</span>
+<span class="source-line-no">9304</span><span id="line-9304"> * @param
str</span>
+<span class="source-line-no">9305</span><span id="line-9305"> *
the String to be unwrapped, can be null</span>
+<span class="source-line-no">9306</span><span id="line-9306"> * @param
wrapChar</span>
+<span class="source-line-no">9307</span><span id="line-9307"> *
the character used to unwrap</span>
+<span class="source-line-no">9308</span><span id="line-9308"> * @return
unwrapped String or the original string</span>
+<span class="source-line-no">9309</span><span id="line-9309"> *
if it is not quoted properly with the wrapChar</span>
+<span class="source-line-no">9310</span><span id="line-9310"> * @since
3.6</span>
+<span class="source-line-no">9311</span><span id="line-9311"> */</span>
+<span class="source-line-no">9312</span><span id="line-9312"> public static
String unwrap(final String str, final char wrapChar) {</span>
+<span class="source-line-no">9313</span><span id="line-9313"> if
(isEmpty(str) || wrapChar == CharUtils.NUL || str.length() == 1) {</span>
+<span class="source-line-no">9314</span><span id="line-9314">
return str;</span>
+<span class="source-line-no">9315</span><span id="line-9315"> }</span>
+<span class="source-line-no">9316</span><span id="line-9316"></span>
+<span class="source-line-no">9317</span><span id="line-9317"> if
(str.charAt(0) == wrapChar && str.charAt(str.length() - 1) == wrapChar)
{</span>
+<span class="source-line-no">9318</span><span id="line-9318"> final
int startIndex = 0;</span>
+<span class="source-line-no">9319</span><span id="line-9319"> final
int endIndex = str.length() - 1;</span>
+<span class="source-line-no">9320</span><span id="line-9320"></span>
+<span class="source-line-no">9321</span><span id="line-9321">
return str.substring(startIndex + 1, endIndex);</span>
+<span class="source-line-no">9322</span><span id="line-9322"> }</span>
+<span class="source-line-no">9323</span><span id="line-9323"></span>
+<span class="source-line-no">9324</span><span id="line-9324"> return
str;</span>
+<span class="source-line-no">9325</span><span id="line-9325"> }</span>
+<span class="source-line-no">9326</span><span id="line-9326"></span>
+<span class="source-line-no">9327</span><span id="line-9327"> /**</span>
+<span class="source-line-no">9328</span><span id="line-9328"> * Unwraps a
given string from another string.</span>
+<span class="source-line-no">9329</span><span id="line-9329"> *</span>
+<span class="source-line-no">9330</span><span id="line-9330"> *
<pre></span>
+<span class="source-line-no">9331</span><span id="line-9331"> *
StringUtils.unwrap(null, null) = null</span>
+<span class="source-line-no">9332</span><span id="line-9332"> *
StringUtils.unwrap(null, "") = null</span>
+<span class="source-line-no">9333</span><span id="line-9333"> *
StringUtils.unwrap(null, "1") = null</span>
+<span class="source-line-no">9334</span><span id="line-9334"> *
StringUtils.unwrap("a", "a") = "a"</span>
+<span class="source-line-no">9335</span><span id="line-9335"> *
StringUtils.unwrap("aa", "a") = ""</span>
+<span class="source-line-no">9336</span><span id="line-9336"> *
StringUtils.unwrap("\'abc\'", "\'") = "abc"</span>
+<span class="source-line-no">9337</span><span id="line-9337"> *
StringUtils.unwrap("\"abc\"", "\"") = "abc"</span>
+<span class="source-line-no">9338</span><span id="line-9338"> *
StringUtils.unwrap("AABabcBAA", "AA") = "BabcB"</span>
+<span class="source-line-no">9339</span><span id="line-9339"> *
StringUtils.unwrap("A", "#") = "A"</span>
+<span class="source-line-no">9340</span><span id="line-9340"> *
StringUtils.unwrap("#A", "#") = "#A"</span>
+<span class="source-line-no">9341</span><span id="line-9341"> *
StringUtils.unwrap("A#", "#") = "A#"</span>
+<span class="source-line-no">9342</span><span id="line-9342"> *
</pre></span>
+<span class="source-line-no">9343</span><span id="line-9343"> *</span>
+<span class="source-line-no">9344</span><span id="line-9344"> * @param
str</span>
+<span class="source-line-no">9345</span><span id="line-9345"> *
the String to be unwrapped, can be null</span>
+<span class="source-line-no">9346</span><span id="line-9346"> * @param
wrapToken</span>
+<span class="source-line-no">9347</span><span id="line-9347"> *
the String used to unwrap</span>
+<span class="source-line-no">9348</span><span id="line-9348"> * @return
unwrapped String or the original string</span>
+<span class="source-line-no">9349</span><span id="line-9349"> *
if it is not quoted properly with the wrapToken</span>
+<span class="source-line-no">9350</span><span id="line-9350"> * @since
3.6</span>
+<span class="source-line-no">9351</span><span id="line-9351"> */</span>
+<span class="source-line-no">9352</span><span id="line-9352"> public static
String unwrap(final String str, final String wrapToken) {</span>
+<span class="source-line-no">9353</span><span id="line-9353"> if
(isEmpty(str) || isEmpty(wrapToken) || str.length() < 2 *
wrapToken.length()) {</span>
+<span class="source-line-no">9354</span><span id="line-9354">
return str;</span>
+<span class="source-line-no">9355</span><span id="line-9355"> }</span>
+<span class="source-line-no">9356</span><span id="line-9356"></span>
+<span class="source-line-no">9357</span><span id="line-9357"> if
(startsWith(str, wrapToken) && endsWith(str, wrapToken)) {</span>
+<span class="source-line-no">9358</span><span id="line-9358">
return str.substring(wrapToken.length(), str.lastIndexOf(wrapToken));</span>
+<span class="source-line-no">9359</span><span id="line-9359"> }</span>
+<span class="source-line-no">9360</span><span id="line-9360"></span>
+<span class="source-line-no">9361</span><span id="line-9361"> return
str;</span>
+<span class="source-line-no">9362</span><span id="line-9362"> }</span>
+<span class="source-line-no">9363</span><span id="line-9363"></span>
+<span class="source-line-no">9364</span><span id="line-9364"> /**</span>
+<span class="source-line-no">9365</span><span id="line-9365"> * Converts a
String to upper case as per {@link String#toUpperCase()}.</span>
+<span class="source-line-no">9366</span><span id="line-9366"> *</span>
+<span class="source-line-no">9367</span><span id="line-9367"> * <p>A
{@code null} input String returns {@code null}.</p></span>
<span class="source-line-no">9368</span><span id="line-9368"> *</span>
-<span class="source-line-no">9369</span><span id="line-9369"> * <p>A
{@code null} input String returns {@code null}.</p></span>
-<span class="source-line-no">9370</span><span id="line-9370"> *</span>
-<span class="source-line-no">9371</span><span id="line-9371"> *
<pre></span>
-<span class="source-line-no">9372</span><span id="line-9372"> *
StringUtils.upperCase(null) = null</span>
-<span class="source-line-no">9373</span><span id="line-9373"> *
StringUtils.upperCase("") = ""</span>
-<span class="source-line-no">9374</span><span id="line-9374"> *
StringUtils.upperCase("aBc") = "ABC"</span>
-<span class="source-line-no">9375</span><span id="line-9375"> *
</pre></span>
-<span class="source-line-no">9376</span><span id="line-9376"> *</span>
-<span class="source-line-no">9377</span><span id="line-9377"> *
<p><strong>Note:</strong> As described in the documentation
for {@link String#toUpperCase()},</span>
-<span class="source-line-no">9378</span><span id="line-9378"> * the result
of this method is affected by the current locale.</span>
-<span class="source-line-no">9379</span><span id="line-9379"> * For
platform-independent case transformations, the method {@link #upperCase(String,
Locale)}</span>
-<span class="source-line-no">9380</span><span id="line-9380"> * should be
used with a specific locale (e.g. {@link Locale#ENGLISH}).</p></span>
-<span class="source-line-no">9381</span><span id="line-9381"> *</span>
-<span class="source-line-no">9382</span><span id="line-9382"> * @param str
the String to upper case, may be null</span>
-<span class="source-line-no">9383</span><span id="line-9383"> * @return
the upper-cased String, {@code null} if null String input</span>
-<span class="source-line-no">9384</span><span id="line-9384"> */</span>
-<span class="source-line-no">9385</span><span id="line-9385"> public static
String upperCase(final String str) {</span>
-<span class="source-line-no">9386</span><span id="line-9386"> if (str
== null) {</span>
-<span class="source-line-no">9387</span><span id="line-9387">
return null;</span>
-<span class="source-line-no">9388</span><span id="line-9388"> }</span>
-<span class="source-line-no">9389</span><span id="line-9389"> return
str.toUpperCase();</span>
-<span class="source-line-no">9390</span><span id="line-9390"> }</span>
-<span class="source-line-no">9391</span><span id="line-9391"></span>
-<span class="source-line-no">9392</span><span id="line-9392"> /**</span>
-<span class="source-line-no">9393</span><span id="line-9393"> * Converts a
String to upper case as per {@link String#toUpperCase(Locale)}.</span>
+<span class="source-line-no">9369</span><span id="line-9369"> *
<pre></span>
+<span class="source-line-no">9370</span><span id="line-9370"> *
StringUtils.upperCase(null) = null</span>
+<span class="source-line-no">9371</span><span id="line-9371"> *
StringUtils.upperCase("") = ""</span>
+<span class="source-line-no">9372</span><span id="line-9372"> *
StringUtils.upperCase("aBc") = "ABC"</span>
+<span class="source-line-no">9373</span><span id="line-9373"> *
</pre></span>
+<span class="source-line-no">9374</span><span id="line-9374"> *</span>
+<span class="source-line-no">9375</span><span id="line-9375"> *
<p><strong>Note:</strong> As described in the documentation
for {@link String#toUpperCase()},</span>
+<span class="source-line-no">9376</span><span id="line-9376"> * the result
of this method is affected by the current locale.</span>
+<span class="source-line-no">9377</span><span id="line-9377"> * For
platform-independent case transformations, the method {@link #upperCase(String,
Locale)}</span>
+<span class="source-line-no">9378</span><span id="line-9378"> * should be
used with a specific locale (e.g. {@link Locale#ENGLISH}).</p></span>
+<span class="source-line-no">9379</span><span id="line-9379"> *</span>
+<span class="source-line-no">9380</span><span id="line-9380"> * @param str
the String to upper case, may be null</span>
+<span class="source-line-no">9381</span><span id="line-9381"> * @return
the upper-cased String, {@code null} if null String input</span>
+<span class="source-line-no">9382</span><span id="line-9382"> */</span>
+<span class="source-line-no">9383</span><span id="line-9383"> public static
String upperCase(final String str) {</span>
+<span class="source-line-no">9384</span><span id="line-9384"> if (str
== null) {</span>
+<span class="source-line-no">9385</span><span id="line-9385">
return null;</span>
+<span class="source-line-no">9386</span><span id="line-9386"> }</span>
+<span class="source-line-no">9387</span><span id="line-9387"> return
str.toUpperCase();</span>
+<span class="source-line-no">9388</span><span id="line-9388"> }</span>
+<span class="source-line-no">9389</span><span id="line-9389"></span>
+<span class="source-line-no">9390</span><span id="line-9390"> /**</span>
+<span class="source-line-no">9391</span><span id="line-9391"> * Converts a
String to upper case as per {@link String#toUpperCase(Locale)}.</span>
+<span class="source-line-no">9392</span><span id="line-9392"> *</span>
+<span class="source-line-no">9393</span><span id="line-9393"> * <p>A
{@code null} input String returns {@code null}.</p></span>
<span class="source-line-no">9394</span><span id="line-9394"> *</span>
-<span class="source-line-no">9395</span><span id="line-9395"> * <p>A
{@code null} input String returns {@code null}.</p></span>
-<span class="source-line-no">9396</span><span id="line-9396"> *</span>
-<span class="source-line-no">9397</span><span id="line-9397"> *
<pre></span>
-<span class="source-line-no">9398</span><span id="line-9398"> *
StringUtils.upperCase(null, Locale.ENGLISH) = null</span>
-<span class="source-line-no">9399</span><span id="line-9399"> *
StringUtils.upperCase("", Locale.ENGLISH) = ""</span>
-<span class="source-line-no">9400</span><span id="line-9400"> *
StringUtils.upperCase("aBc", Locale.ENGLISH) = "ABC"</span>
-<span class="source-line-no">9401</span><span id="line-9401"> *
</pre></span>
-<span class="source-line-no">9402</span><span id="line-9402"> *</span>
-<span class="source-line-no">9403</span><span id="line-9403"> * @param str
the String to upper case, may be null</span>
-<span class="source-line-no">9404</span><span id="line-9404"> * @param
locale the locale that defines the case transformation rules, must not be
null</span>
-<span class="source-line-no">9405</span><span id="line-9405"> * @return
the upper-cased String, {@code null} if null String input</span>
-<span class="source-line-no">9406</span><span id="line-9406"> * @since
2.5</span>
-<span class="source-line-no">9407</span><span id="line-9407"> */</span>
-<span class="source-line-no">9408</span><span id="line-9408"> public static
String upperCase(final String str, final Locale locale) {</span>
-<span class="source-line-no">9409</span><span id="line-9409"> if (str
== null) {</span>
-<span class="source-line-no">9410</span><span id="line-9410">
return null;</span>
-<span class="source-line-no">9411</span><span id="line-9411"> }</span>
-<span class="source-line-no">9412</span><span id="line-9412"> return
str.toUpperCase(LocaleUtils.toLocale(locale));</span>
-<span class="source-line-no">9413</span><span id="line-9413"> }</span>
-<span class="source-line-no">9414</span><span id="line-9414"></span>
-<span class="source-line-no">9415</span><span id="line-9415"> /**</span>
-<span class="source-line-no">9416</span><span id="line-9416"> * Returns
the string representation of the {@code char} array or null.</span>
-<span class="source-line-no">9417</span><span id="line-9417"> *</span>
-<span class="source-line-no">9418</span><span id="line-9418"> * @param
value the character array.</span>
-<span class="source-line-no">9419</span><span id="line-9419"> * @return a
String or null</span>
-<span class="source-line-no">9420</span><span id="line-9420"> * @see
String#valueOf(char[])</span>
-<span class="source-line-no">9421</span><span id="line-9421"> * @since
3.9</span>
-<span class="source-line-no">9422</span><span id="line-9422"> */</span>
-<span class="source-line-no">9423</span><span id="line-9423"> public static
String valueOf(final char[] value) {</span>
-<span class="source-line-no">9424</span><span id="line-9424"> return
value == null ? null : String.valueOf(value);</span>
-<span class="source-line-no">9425</span><span id="line-9425"> }</span>
-<span class="source-line-no">9426</span><span id="line-9426"></span>
-<span class="source-line-no">9427</span><span id="line-9427"> /**</span>
-<span class="source-line-no">9428</span><span id="line-9428"> * Wraps a
string with a char.</span>
-<span class="source-line-no">9429</span><span id="line-9429"> *</span>
-<span class="source-line-no">9430</span><span id="line-9430"> *
<pre></span>
-<span class="source-line-no">9431</span><span id="line-9431"> *
StringUtils.wrap(null, *) = null</span>
-<span class="source-line-no">9432</span><span id="line-9432"> *
StringUtils.wrap("", *) = ""</span>
-<span class="source-line-no">9433</span><span id="line-9433"> *
StringUtils.wrap("ab", '\0') = "ab"</span>
-<span class="source-line-no">9434</span><span id="line-9434"> *
StringUtils.wrap("ab", 'x') = "xabx"</span>
-<span class="source-line-no">9435</span><span id="line-9435"> *
StringUtils.wrap("ab", '\'') = "'ab'"</span>
-<span class="source-line-no">9436</span><span id="line-9436"> *
StringUtils.wrap("\"ab\"", '\"') = "\"\"ab\"\""</span>
-<span class="source-line-no">9437</span><span id="line-9437"> *
</pre></span>
-<span class="source-line-no">9438</span><span id="line-9438"> *</span>
-<span class="source-line-no">9439</span><span id="line-9439"> * @param
str</span>
-<span class="source-line-no">9440</span><span id="line-9440"> *
the string to be wrapped, may be {@code null}</span>
-<span class="source-line-no">9441</span><span id="line-9441"> * @param
wrapWith</span>
-<span class="source-line-no">9442</span><span id="line-9442"> *
the char that will wrap {@code str}</span>
-<span class="source-line-no">9443</span><span id="line-9443"> * @return
the wrapped string, or {@code null} if {@code str == null}</span>
-<span class="source-line-no">9444</span><span id="line-9444"> * @since
3.4</span>
-<span class="source-line-no">9445</span><span id="line-9445"> */</span>
-<span class="source-line-no">9446</span><span id="line-9446"> public static
String wrap(final String str, final char wrapWith) {</span>
-<span class="source-line-no">9447</span><span id="line-9447"></span>
-<span class="source-line-no">9448</span><span id="line-9448"> if
(isEmpty(str) || wrapWith == CharUtils.NUL) {</span>
-<span class="source-line-no">9449</span><span id="line-9449">
return str;</span>
-<span class="source-line-no">9450</span><span id="line-9450"> }</span>
-<span class="source-line-no">9451</span><span id="line-9451"></span>
-<span class="source-line-no">9452</span><span id="line-9452"> return
wrapWith + str + wrapWith;</span>
-<span class="source-line-no">9453</span><span id="line-9453"> }</span>
-<span class="source-line-no">9454</span><span id="line-9454"></span>
-<span class="source-line-no">9455</span><span id="line-9455"> /**</span>
-<span class="source-line-no">9456</span><span id="line-9456"> * Wraps a
String with another String.</span>
-<span class="source-line-no">9457</span><span id="line-9457"> *</span>
-<span class="source-line-no">9458</span><span id="line-9458"> *
<p></span>
-<span class="source-line-no">9459</span><span id="line-9459"> * A {@code
null} input String returns {@code null}.</span>
-<span class="source-line-no">9460</span><span id="line-9460"> *
</p></span>
-<span class="source-line-no">9461</span><span id="line-9461"> *</span>
-<span class="source-line-no">9462</span><span id="line-9462"> *
<pre></span>
-<span class="source-line-no">9463</span><span id="line-9463"> *
StringUtils.wrap(null, *) = null</span>
-<span class="source-line-no">9464</span><span id="line-9464"> *
StringUtils.wrap("", *) = ""</span>
-<span class="source-line-no">9465</span><span id="line-9465"> *
StringUtils.wrap("ab", null) = "ab"</span>
-<span class="source-line-no">9466</span><span id="line-9466"> *
StringUtils.wrap("ab", "x") = "xabx"</span>
-<span class="source-line-no">9467</span><span id="line-9467"> *
StringUtils.wrap("ab", "\"") = "\"ab\""</span>
-<span class="source-line-no">9468</span><span id="line-9468"> *
StringUtils.wrap("\"ab\"", "\"") = "\"\"ab\"\""</span>
-<span class="source-line-no">9469</span><span id="line-9469"> *
StringUtils.wrap("ab", "'") = "'ab'"</span>
-<span class="source-line-no">9470</span><span id="line-9470"> *
StringUtils.wrap("'abcd'", "'") = "''abcd''"</span>
-<span class="source-line-no">9471</span><span id="line-9471"> *
StringUtils.wrap("\"abcd\"", "'") = "'\"abcd\"'"</span>
-<span class="source-line-no">9472</span><span id="line-9472"> *
StringUtils.wrap("'abcd'", "\"") = "\"'abcd'\""</span>
-<span class="source-line-no">9473</span><span id="line-9473"> *
</pre></span>
-<span class="source-line-no">9474</span><span id="line-9474"> *</span>
-<span class="source-line-no">9475</span><span id="line-9475"> * @param
str</span>
-<span class="source-line-no">9476</span><span id="line-9476"> *
the String to be wrapper, may be null</span>
-<span class="source-line-no">9477</span><span id="line-9477"> * @param
wrapWith</span>
-<span class="source-line-no">9478</span><span id="line-9478"> *
the String that will wrap str</span>
-<span class="source-line-no">9479</span><span id="line-9479"> * @return
wrapped String, {@code null} if null String input</span>
-<span class="source-line-no">9480</span><span id="line-9480"> * @since
3.4</span>
-<span class="source-line-no">9481</span><span id="line-9481"> */</span>
-<span class="source-line-no">9482</span><span id="line-9482"> public static
String wrap(final String str, final String wrapWith) {</span>
-<span class="source-line-no">9483</span><span id="line-9483"></span>
-<span class="source-line-no">9484</span><span id="line-9484"> if
(isEmpty(str) || isEmpty(wrapWith)) {</span>
-<span class="source-line-no">9485</span><span id="line-9485">
return str;</span>
[... 327 lines stripped ...]