| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (1.8.0_281) on Sun Jan 15 15:58:36 CET 2023 --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>StringUtil (FreeMarker 2.3.32 API)</title> |
| <meta name="date" content="2023-01-15"> |
| <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../script.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="StringUtil (FreeMarker 2.3.32 API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":41,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":41,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":41,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/StringUtil.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../freemarker/template/utility/StandardCompress.html" title="class in freemarker.template.utility"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?freemarker/template/utility/StringUtil.html" target="_top">Frames</a></li> |
| <li><a href="StringUtil.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">freemarker.template.utility</div> |
| <h2 title="Class StringUtil" class="title">Class StringUtil</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>freemarker.template.utility.StringUtil</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public class <span class="typeNameLabel">StringUtil</span> |
| extends java.lang.Object</pre> |
| <div class="block">Some text related utilities.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Class and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncCompatibility</a></span></code> |
| <div class="block">Used as the argument of <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(String, JsStringEncCompatibility, JsStringEncQuotation)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.JsStringEncQuotation.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncQuotation</a></span></code> |
| <div class="block">Used as the argument of <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(String, JsStringEncCompatibility, JsStringEncQuotation)</code></a>.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#StringUtil--">StringUtil</a></span>()</code> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#capitalize-java.lang.String-">capitalize</a></span>(java.lang.String s)</code> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#chomp-java.lang.String-">chomp</a></span>(java.lang.String s)</code> |
| <div class="block">Removes a line-break from the end of the string (if there's any).</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>static java.util.Locale</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#deduceLocale-java.lang.String-">deduceLocale</a></span>(java.lang.String input)</code> </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#emptyToNull-java.lang.String-">emptyToNull</a></span>(java.lang.String s)</code> |
| <div class="block">Converts a 0-length string to null, leaves the string as is otherwise.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#ftlQuote-java.lang.String-">ftlQuote</a></span>(java.lang.String s)</code> |
| <div class="block">Creates a <em>quoted</em> FTL string literal from a string, using escaping where necessary.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#FTLStringLiteralDec-java.lang.String-">FTLStringLiteralDec</a></span>(java.lang.String s)</code> |
| <div class="block">FTL string literal decoding.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#FTLStringLiteralEnc-java.lang.String-">FTLStringLiteralEnc</a></span>(java.lang.String s)</code> |
| <div class="block">Escapes a string according the FTL string literal escaping rules; it doesn't add the quotation marks.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#FTLStringLiteralEnc-java.lang.String-char-">FTLStringLiteralEnc</a></span>(java.lang.String s, |
| char quotation)</code> |
| <div class="block">Escapes a string according the FTL string literal escaping rules, assuming the literal is quoted with |
| <code>quotation</code>; it doesn't add the quotation marks itself.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#getYesNo-java.lang.String-">getYesNo</a></span>(java.lang.String s)</code> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>static java.util.regex.Pattern</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#globToRegularExpression-java.lang.String-">globToRegularExpression</a></span>(java.lang.String glob)</code> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#globToRegularExpression-java.lang.String-boolean-"><code>globToRegularExpression(String, boolean)</code></a> with <code>caseInsensitive</code> argument <code>false</code>.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>static java.util.regex.Pattern</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#globToRegularExpression-java.lang.String-boolean-">globToRegularExpression</a></span>(java.lang.String glob, |
| boolean caseInsensitive)</code> |
| <div class="block">Creates a regular expression from a glob.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#HTMLEnc-java.lang.String-">HTMLEnc</a></span>(java.lang.String s)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="block"><span class="deprecationComment">Use <a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-"><code>XHTMLEnc(String)</code></a> instead, because it escapes apostrophe-quote too.</span></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isBackslashEscapedFTLIdentifierCharacter-char-">isBackslashEscapedFTLIdentifierCharacter</a></span>(char c)</code> |
| <div class="block">Tells if a character can occur in an FTL identifier if it's preceded with a backslash.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isFTLIdentifierPart-char-">isFTLIdentifierPart</a></span>(char c)</code> |
| <div class="block">Tells if a character can occur in an FTL identifier expression (without escaping) as other than the first |
| character.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isFTLIdentifierStart-char-">isFTLIdentifierStart</a></span>(char c)</code> |
| <div class="block">Tells if a character can occur on the beginning of an FTL identifier expression (without escaping).</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-">isTrimmableToEmpty</a></span>(char[] text)</code> |
| <div class="block">Tells if <code>String.trim()</code> will return a 0-length string for the <code>String</code> equivalent of the argument.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-int-">isTrimmableToEmpty</a></span>(char[] text, |
| int start)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-"><code>isTrimmableToEmpty(char[])</code></a>, but acts on a sub-array that starts at <code>start</code> (inclusive index).</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-int-int-">isTrimmableToEmpty</a></span>(char[] text, |
| int start, |
| int end)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-"><code>isTrimmableToEmpty(char[])</code></a>, but acts on a sub-array that starts at <code>start</code> (inclusive index) |
| and ends at <code>end</code> (exclusive index).</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#isXMLID-java.lang.String-">isXMLID</a></span>(java.lang.String name)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="block"><span class="deprecationComment">Don't use this outside FreeMarker; it's name if misleading, and it doesn't follow the XML specs.</span></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#javaScriptStringEnc-java.lang.String-">javaScriptStringEnc</a></span>(java.lang.String s)</code> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JavaScript string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, JsStringEncCompatibility.JAVA_SCRIPT, null)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#javaStringEnc-java.lang.String-">javaStringEnc</a></span>(java.lang.String s)</code> |
| <div class="block">Escapes the <code>String</code> with the escaping rules of Java language |
| string literals, so it's safe to insert the value into a string literal.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#javaStringEnc-java.lang.String-boolean-">javaStringEnc</a></span>(java.lang.String s, |
| boolean quote)</code> |
| <div class="block">Escapes the <code>String</code> with the escaping rules of Java language string literals, and then if <code>quote</code> is |
| true, it also adds quotation marks before and after it.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jQuote-java.lang.Object-">jQuote</a></span>(java.lang.Object obj)</code> |
| <div class="block">Converts the parameter with <code>toString</code> (if it's not <code>null</code>) and passes it to |
| <a href="../../../freemarker/template/utility/StringUtil.html#jQuote-java.lang.String-"><code>jQuote(String)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jQuote-java.lang.String-">jQuote</a></span>(java.lang.String s)</code> |
| <div class="block">Quotes string as Java Language string literal.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.Object-">jQuoteNoXSS</a></span>(java.lang.Object obj)</code> |
| <div class="block">Converts the parameter with <code>toString</code> (if not |
| <code>null</code>)and passes it to <a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.String-"><code>jQuoteNoXSS(String)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.String-">jQuoteNoXSS</a></span>(java.lang.String s)</code> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.String-"><code>jQuoteNoXSS(String)</code></a> but also escapes <code>'<'</code> |
| as <code>\</code><code>u003C</code>.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jsonStringEnc-java.lang.String-">jsonStringEnc</a></span>(java.lang.String s)</code> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JSON string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, JsStringEncCompatibility.JSON, null)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-boolean-">jsStringEnc</a></span>(java.lang.String s, |
| boolean json)</code> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="block"><span class="deprecationComment">Use <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-"><code>jsStringEnc(String, JsStringEncCompatibility)</code></a> instead.</span></div> |
| </div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-">jsStringEnc</a></span>(java.lang.String s, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncCompatibility</a> compatibility)</code> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JSON or JavaScript string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, compatibility, null)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-">jsStringEnc</a></span>(java.lang.String s, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncCompatibility</a> compatibility, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncQuotation.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncQuotation</a> quotation)</code> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JavaScript or a JSON string literal, and if the 3rd |
| argument is <code>true</code>, also adds quotation marks around it.</div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#leftPad-java.lang.String-int-">leftPad</a></span>(java.lang.String s, |
| int minLength)</code> |
| <div class="block">Pads the string at the left with spaces until it reaches the desired |
| length.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#leftPad-java.lang.String-int-char-">leftPad</a></span>(java.lang.String s, |
| int minLength, |
| char filling)</code> |
| <div class="block">Pads the string at the left with the specified character until it reaches |
| the desired length.</div> |
| </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#leftPad-java.lang.String-int-java.lang.String-">leftPad</a></span>(java.lang.String s, |
| int minLength, |
| java.lang.String filling)</code> |
| <div class="block">Pads the string at the left with a filling pattern until it reaches the |
| desired length.</div> |
| </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>static boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#matchesName-java.lang.String-java.lang.String-java.lang.String-freemarker.core.Environment-">matchesName</a></span>(java.lang.String qname, |
| java.lang.String nodeName, |
| java.lang.String nsURI, |
| <a href="../../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a> env)</code> </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>static java.util.Map</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#parseNameValuePairList-java.lang.String-java.lang.String-">parseNameValuePairList</a></span>(java.lang.String s, |
| java.lang.String defaultValue)</code> |
| <div class="block">Parses a name-value pair list, where the pairs are separated with comma, |
| and the name and value is separated with colon.</div> |
| </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#replace-java.lang.String-java.lang.String-java.lang.String-">replace</a></span>(java.lang.String text, |
| java.lang.String oldSub, |
| java.lang.String newSub)</code> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#replace-java.lang.String-java.lang.String-java.lang.String-boolean-boolean-"><code>replace(String, String, String, boolean, boolean)</code></a> with two <code>false</code> parameters.</div> |
| </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#replace-java.lang.String-java.lang.String-java.lang.String-boolean-boolean-">replace</a></span>(java.lang.String text, |
| java.lang.String oldsub, |
| java.lang.String newsub, |
| boolean caseInsensitive, |
| boolean firstOnly)</code> |
| <div class="block">Replaces all occurrences of a sub-string in a string.</div> |
| </td> |
| </tr> |
| <tr id="i37" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#rightPad-java.lang.String-int-">rightPad</a></span>(java.lang.String s, |
| int minLength)</code> |
| <div class="block">Pads the string at the right with spaces until it reaches the desired |
| length.</div> |
| </td> |
| </tr> |
| <tr id="i38" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#rightPad-java.lang.String-int-char-">rightPad</a></span>(java.lang.String s, |
| int minLength, |
| char filling)</code> |
| <div class="block">Pads the string at the right with the specified character until it |
| reaches the desired length.</div> |
| </td> |
| </tr> |
| <tr id="i39" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#rightPad-java.lang.String-int-java.lang.String-">rightPad</a></span>(java.lang.String s, |
| int minLength, |
| java.lang.String filling)</code> |
| <div class="block">Pads the string at the right with a filling pattern until it reaches the |
| desired length.</div> |
| </td> |
| </tr> |
| <tr id="i40" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#RTFEnc-java.lang.String-">RTFEnc</a></span>(java.lang.String s)</code> |
| <div class="block">Rich Text Format encoding (does not replace line breaks).</div> |
| </td> |
| </tr> |
| <tr id="i41" class="rowColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#RTFEnc-java.lang.String-java.io.Writer-">RTFEnc</a></span>(java.lang.String s, |
| java.io.Writer out)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#RTFEnc-java.lang.String-"><code>RTFEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| </td> |
| </tr> |
| <tr id="i42" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#split-java.lang.String-char-">split</a></span>(java.lang.String s, |
| char c)</code> |
| <div class="block">Splits a string at the specified character.</div> |
| </td> |
| </tr> |
| <tr id="i43" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#split-java.lang.String-java.lang.String-boolean-">split</a></span>(java.lang.String s, |
| java.lang.String sep, |
| boolean caseInsensitive)</code> |
| <div class="block">Splits a string at the specified string.</div> |
| </td> |
| </tr> |
| <tr id="i44" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#toLowerABC-int-">toLowerABC</a></span>(int n)</code> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#toUpperABC-int-"><code>toUpperABC(int)</code></a>, but produces lower case result, like <code>"ab"</code>.</div> |
| </td> |
| </tr> |
| <tr id="i45" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#toUpperABC-int-">toUpperABC</a></span>(int n)</code> |
| <div class="block">Converts <code>1</code>, <code>2</code>, <code>3</code> and so forth to <code>"A"</code>, <code>"B"</code>, <code>"C"</code> and so fort.</div> |
| </td> |
| </tr> |
| <tr id="i46" class="altColor"> |
| <td class="colFirst"><code>static char[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#trim-char:A-">trim</a></span>(char[] cs)</code> |
| <div class="block">Behaves exactly like <code>String.trim()</code>, but works on arrays.</div> |
| </td> |
| </tr> |
| <tr id="i47" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#tryToString-java.lang.Object-">tryToString</a></span>(java.lang.Object object)</code> |
| <div class="block">Tries to run <code>toString()</code>, but if that fails, returns a |
| <code>"[com.example.SomeClass.toString() failed: " + e + "]"</code> instead.</div> |
| </td> |
| </tr> |
| <tr id="i48" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#URLEnc-java.lang.String-java.lang.String-">URLEnc</a></span>(java.lang.String s, |
| java.lang.String charset)</code> |
| <div class="block">URL encoding (like%20this) for query parameter values, path <em>segments</em>, fragments; this encodes all |
| characters that are reserved anywhere.</div> |
| </td> |
| </tr> |
| <tr id="i49" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#URLPathEnc-java.lang.String-java.lang.String-">URLPathEnc</a></span>(java.lang.String s, |
| java.lang.String charset)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#URLEnc-java.lang.String-java.lang.String-"><code>URLEnc(String, String)</code></a> but doesn't escape the slash character (<code>/</code>).</div> |
| </td> |
| </tr> |
| <tr id="i50" class="altColor"> |
| <td class="colFirst"><code>static int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#versionStringToInt-java.lang.String-">versionStringToInt</a></span>(java.lang.String version)</code> |
| <div class="block">Converts a version number string to an integer for easy comparison.</div> |
| </td> |
| </tr> |
| <tr id="i51" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-">XHTMLEnc</a></span>(java.lang.String s)</code> |
| <div class="block">XHTML Encoding.</div> |
| </td> |
| </tr> |
| <tr id="i52" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-java.io.Writer-">XHTMLEnc</a></span>(java.lang.String s, |
| java.io.Writer out)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-"><code>XHTMLEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| </td> |
| </tr> |
| <tr id="i53" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-">XMLEnc</a></span>(java.lang.String s)</code> |
| <div class="block">XML Encoding.</div> |
| </td> |
| </tr> |
| <tr id="i54" class="altColor"> |
| <td class="colFirst"><code>static void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-java.io.Writer-">XMLEnc</a></span>(java.lang.String s, |
| java.io.Writer out)</code> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-"><code>XMLEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| </td> |
| </tr> |
| <tr id="i55" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XMLEncNA-java.lang.String-">XMLEncNA</a></span>(java.lang.String s)</code> |
| <div class="block">XML encoding without replacing apostrophes.</div> |
| </td> |
| </tr> |
| <tr id="i56" class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XMLEncNQG-java.lang.String-">XMLEncNQG</a></span>(java.lang.String s)</code> |
| <div class="block">XML encoding without replacing apostrophes and quotation marks and |
| greater-thans (except in <code>]]></code>).</div> |
| </td> |
| </tr> |
| <tr id="i57" class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/template/utility/StringUtil.html#XMLEncQAttr-java.lang.String-">XMLEncQAttr</a></span>(java.lang.String s)</code> |
| <div class="block">XML encoding for attribute values quoted with <tt>"</tt> (not with <tt>'</tt>!).</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="StringUtil--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>StringUtil</h4> |
| <pre>public StringUtil()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="HTMLEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>HTMLEnc</h4> |
| <pre>@Deprecated |
| public static java.lang.String HTMLEnc(java.lang.String s)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Use <a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-"><code>XHTMLEnc(String)</code></a> instead, because it escapes apostrophe-quote too.</span></div> |
| <div class="block">HTML encoding (does not convert line breaks and apostrophe-quote). |
| Replaces all '>' '<' '&' and '"' with entity reference, but not "'" (apostrophe-quote). |
| The last is not escaped as back then when this was written some user agents didn't understood |
| "&apos;" nor "&#39;".</div> |
| </li> |
| </ul> |
| <a name="XMLEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XMLEnc</h4> |
| <pre>public static java.lang.String XMLEnc(java.lang.String s)</pre> |
| <div class="block">XML Encoding. |
| Replaces all '>' '<' '&', "'" and '"' with entity reference</div> |
| </li> |
| </ul> |
| <a name="XMLEnc-java.lang.String-java.io.Writer-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XMLEnc</h4> |
| <pre>public static void XMLEnc(java.lang.String s, |
| java.io.Writer out) |
| throws java.io.IOException</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-"><code>XMLEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.io.IOException</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.24</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="XHTMLEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XHTMLEnc</h4> |
| <pre>public static java.lang.String XHTMLEnc(java.lang.String s)</pre> |
| <div class="block">XHTML Encoding. |
| Replaces all '>' '<' '&', "'" and '"' with entity reference |
| suitable for XHTML decoding in common user agents (including legacy |
| user agents, which do not decode "&apos;" to "'", so "&#39;" is used |
| instead [see http://www.w3.org/TR/xhtml1/#C_16])</div> |
| </li> |
| </ul> |
| <a name="XHTMLEnc-java.lang.String-java.io.Writer-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XHTMLEnc</h4> |
| <pre>public static void XHTMLEnc(java.lang.String s, |
| java.io.Writer out) |
| throws java.io.IOException</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#XHTMLEnc-java.lang.String-"><code>XHTMLEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.io.IOException</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.24</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="XMLEncNA-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XMLEncNA</h4> |
| <pre>public static java.lang.String XMLEncNA(java.lang.String s)</pre> |
| <div class="block">XML encoding without replacing apostrophes.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-"><code>XMLEnc(String)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="XMLEncQAttr-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XMLEncQAttr</h4> |
| <pre>public static java.lang.String XMLEncQAttr(java.lang.String s)</pre> |
| <div class="block">XML encoding for attribute values quoted with <tt>"</tt> (not with <tt>'</tt>!). |
| Also can be used for HTML attributes that are quoted with <tt>"</tt>.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-"><code>XMLEnc(String)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="XMLEncNQG-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>XMLEncNQG</h4> |
| <pre>public static java.lang.String XMLEncNQG(java.lang.String s)</pre> |
| <div class="block">XML encoding without replacing apostrophes and quotation marks and |
| greater-thans (except in <code>]]></code>).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../freemarker/template/utility/StringUtil.html#XMLEnc-java.lang.String-"><code>XMLEnc(String)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="RTFEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>RTFEnc</h4> |
| <pre>public static java.lang.String RTFEnc(java.lang.String s)</pre> |
| <div class="block">Rich Text Format encoding (does not replace line breaks). |
| Escapes all '\' '{' '}'.</div> |
| </li> |
| </ul> |
| <a name="RTFEnc-java.lang.String-java.io.Writer-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>RTFEnc</h4> |
| <pre>public static void RTFEnc(java.lang.String s, |
| java.io.Writer out) |
| throws java.io.IOException</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#RTFEnc-java.lang.String-"><code>RTFEnc(String)</code></a>, but writes the result into a <code>Writer</code>.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.io.IOException</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.24</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="URLEnc-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>URLEnc</h4> |
| <pre>public static java.lang.String URLEnc(java.lang.String s, |
| java.lang.String charset) |
| throws java.io.UnsupportedEncodingException</pre> |
| <div class="block">URL encoding (like%20this) for query parameter values, path <em>segments</em>, fragments; this encodes all |
| characters that are reserved anywhere.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.io.UnsupportedEncodingException</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="URLPathEnc-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>URLPathEnc</h4> |
| <pre>public static java.lang.String URLPathEnc(java.lang.String s, |
| java.lang.String charset) |
| throws java.io.UnsupportedEncodingException</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#URLEnc-java.lang.String-java.lang.String-"><code>URLEnc(String, String)</code></a> but doesn't escape the slash character (<code>/</code>). |
| This can be used to encode a path only if you know that no folder or file name will contain <code>/</code> |
| character (not in the path, but in the name itself), which usually stands, as the commonly used OS-es don't |
| allow that.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.io.UnsupportedEncodingException</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.21</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="FTLStringLiteralEnc-java.lang.String-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FTLStringLiteralEnc</h4> |
| <pre>public static java.lang.String FTLStringLiteralEnc(java.lang.String s, |
| char quotation)</pre> |
| <div class="block">Escapes a string according the FTL string literal escaping rules, assuming the literal is quoted with |
| <code>quotation</code>; it doesn't add the quotation marks itself.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>quotation</code> - Either <code>'"'</code> or <code>'\''</code>. It's assumed that the string literal whose part we calculate is |
| enclosed within this kind of quotation mark. Thus, the other kind of quotation character will not be |
| escaped in the result.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="FTLStringLiteralEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FTLStringLiteralEnc</h4> |
| <pre>public static java.lang.String FTLStringLiteralEnc(java.lang.String s)</pre> |
| <div class="block">Escapes a string according the FTL string literal escaping rules; it doesn't add the quotation marks. As this |
| method doesn't know if the string literal is quoted with reuglar quotation marks or apostrophe quute, it will |
| escape both.</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../freemarker/template/utility/StringUtil.html#FTLStringLiteralEnc-java.lang.String-char-"><code>FTLStringLiteralEnc(String, char)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="FTLStringLiteralDec-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FTLStringLiteralDec</h4> |
| <pre>public static java.lang.String FTLStringLiteralDec(java.lang.String s) |
| throws <a href="../../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></pre> |
| <div class="block">FTL string literal decoding. |
| |
| \\, \", \', \n, \t, \r, \b and \f will be replaced according to |
| Java rules. In additional, it knows \g, \l, \a and \{ which are |
| replaced with <, >, & and { respectively. |
| \x works as hexadecimal character code escape. The character |
| codes are interpreted according to UCS basic plane (Unicode). |
| "f\x006Fo", "f\x06Fo" and "f\x6Fo" will be "foo". |
| "f\x006F123" will be "foo123" as the maximum number of digits is 4. |
| |
| All other \X (where X is any character not mentioned above or End-of-string) |
| will cause a ParseException.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - String literal <em>without</em> the surrounding quotation marks</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String with all escape sequences resolved</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="../../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></code> - if there string contains illegal escapes</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="deduceLocale-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deduceLocale</h4> |
| <pre>public static java.util.Locale deduceLocale(java.lang.String input)</pre> |
| </li> |
| </ul> |
| <a name="capitalize-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>capitalize</h4> |
| <pre>public static java.lang.String capitalize(java.lang.String s)</pre> |
| </li> |
| </ul> |
| <a name="getYesNo-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getYesNo</h4> |
| <pre>public static boolean getYesNo(java.lang.String s)</pre> |
| </li> |
| </ul> |
| <a name="split-java.lang.String-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>split</h4> |
| <pre>public static java.lang.String[] split(java.lang.String s, |
| char c)</pre> |
| <div class="block">Splits a string at the specified character.</div> |
| </li> |
| </ul> |
| <a name="split-java.lang.String-java.lang.String-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>split</h4> |
| <pre>public static java.lang.String[] split(java.lang.String s, |
| java.lang.String sep, |
| boolean caseInsensitive)</pre> |
| <div class="block">Splits a string at the specified string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sep</code> - The string that separates the items of the resulting array. Since 2.3.28, if this is 0 length, then |
| each character will be a separate item in the array.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="replace-java.lang.String-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre>public static java.lang.String replace(java.lang.String text, |
| java.lang.String oldSub, |
| java.lang.String newSub)</pre> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#replace-java.lang.String-java.lang.String-java.lang.String-boolean-boolean-"><code>replace(String, String, String, boolean, boolean)</code></a> with two <code>false</code> parameters.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.20</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="replace-java.lang.String-java.lang.String-java.lang.String-boolean-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre>public static java.lang.String replace(java.lang.String text, |
| java.lang.String oldsub, |
| java.lang.String newsub, |
| boolean caseInsensitive, |
| boolean firstOnly)</pre> |
| <div class="block">Replaces all occurrences of a sub-string in a string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>text</code> - The string where it will replace <code>oldsub</code> with |
| <code>newsub</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>String The string after the replacements.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="chomp-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>chomp</h4> |
| <pre>public static java.lang.String chomp(java.lang.String s)</pre> |
| <div class="block">Removes a line-break from the end of the string (if there's any).</div> |
| </li> |
| </ul> |
| <a name="emptyToNull-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>emptyToNull</h4> |
| <pre>public static java.lang.String emptyToNull(java.lang.String s)</pre> |
| <div class="block">Converts a 0-length string to null, leaves the string as is otherwise.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - maybe <code>null</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="jQuote-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jQuote</h4> |
| <pre>public static java.lang.String jQuote(java.lang.Object obj)</pre> |
| <div class="block">Converts the parameter with <code>toString</code> (if it's not <code>null</code>) and passes it to |
| <a href="../../../freemarker/template/utility/StringUtil.html#jQuote-java.lang.String-"><code>jQuote(String)</code></a>.</div> |
| </li> |
| </ul> |
| <a name="jQuote-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jQuote</h4> |
| <pre>public static java.lang.String jQuote(java.lang.String s)</pre> |
| <div class="block">Quotes string as Java Language string literal. |
| Returns string <code>"null"</code> if <code>s</code> |
| is <code>null</code>.</div> |
| </li> |
| </ul> |
| <a name="jQuoteNoXSS-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jQuoteNoXSS</h4> |
| <pre>public static java.lang.String jQuoteNoXSS(java.lang.Object obj)</pre> |
| <div class="block">Converts the parameter with <code>toString</code> (if not |
| <code>null</code>)and passes it to <a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.String-"><code>jQuoteNoXSS(String)</code></a>.</div> |
| </li> |
| </ul> |
| <a name="jQuoteNoXSS-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jQuoteNoXSS</h4> |
| <pre>public static java.lang.String jQuoteNoXSS(java.lang.String s)</pre> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#jQuoteNoXSS-java.lang.String-"><code>jQuoteNoXSS(String)</code></a> but also escapes <code>'<'</code> |
| as <code>\</code><code>u003C</code>. This is used for log messages to prevent XSS |
| on poorly written Web-based log viewers.</div> |
| </li> |
| </ul> |
| <a name="ftlQuote-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ftlQuote</h4> |
| <pre>public static java.lang.String ftlQuote(java.lang.String s)</pre> |
| <div class="block">Creates a <em>quoted</em> FTL string literal from a string, using escaping where necessary. The result either |
| uses regular quotation marks (UCS 0x22) or apostrophe-quotes (UCS 0x27), depending on the string content. |
| (Currently, apostrophe-quotes will be chosen exactly when the string contains regular quotation character and |
| doesn't contain apostrophe-quote character.)</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - The value that should be converted to an FTL string literal whose evaluated value equals to <code>s</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isFTLIdentifierStart-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isFTLIdentifierStart</h4> |
| <pre>public static boolean isFTLIdentifierStart(char c)</pre> |
| <div class="block">Tells if a character can occur on the beginning of an FTL identifier expression (without escaping).</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isFTLIdentifierPart-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isFTLIdentifierPart</h4> |
| <pre>public static boolean isFTLIdentifierPart(char c)</pre> |
| <div class="block">Tells if a character can occur in an FTL identifier expression (without escaping) as other than the first |
| character.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isBackslashEscapedFTLIdentifierCharacter-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isBackslashEscapedFTLIdentifierCharacter</h4> |
| <pre>public static boolean isBackslashEscapedFTLIdentifierCharacter(char c)</pre> |
| <div class="block">Tells if a character can occur in an FTL identifier if it's preceded with a backslash. For example, <code>"-"</code> |
| is a such character (as you can have an identifier like <code>foo\-bar</code> in FTL), but <code>"f"</code> is not, as |
| it needn't be, and can't be escaped.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.31</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="javaStringEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>javaStringEnc</h4> |
| <pre>public static java.lang.String javaStringEnc(java.lang.String s)</pre> |
| <div class="block">Escapes the <code>String</code> with the escaping rules of Java language |
| string literals, so it's safe to insert the value into a string literal. |
| The resulting string will not be quoted. |
| |
| See more details at <a href="../../../freemarker/template/utility/StringUtil.html#javaStringEnc-java.lang.String-boolean-"><code>javaStringEnc(String, boolean)</code></a>, as this just calls that with <code>false</code> as the |
| 2nd argument.</div> |
| </li> |
| </ul> |
| <a name="javaStringEnc-java.lang.String-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>javaStringEnc</h4> |
| <pre>public static java.lang.String javaStringEnc(java.lang.String s, |
| boolean quote)</pre> |
| <div class="block">Escapes the <code>String</code> with the escaping rules of Java language string literals, and then if <code>quote</code> is |
| true, it also adds quotation marks before and after it. |
| |
| <p>All characters under UCS code point 0x20 will be escaped. |
| Where they have no dedicated escape sequence in Java, they will |
| be replaced with hexadecimal escape (<tt>\</tt><tt>u<i>XXXX</i></tt>).</div> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../freemarker/template/utility/StringUtil.html#jQuote-java.lang.String-"><code>jQuote(String)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="javaScriptStringEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>javaScriptStringEnc</h4> |
| <pre>public static java.lang.String javaScriptStringEnc(java.lang.String s)</pre> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JavaScript string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, JsStringEncCompatibility.JAVA_SCRIPT, null)</code></a>.</div> |
| </li> |
| </ul> |
| <a name="jsonStringEnc-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jsonStringEnc</h4> |
| <pre>public static java.lang.String jsonStringEnc(java.lang.String s)</pre> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JSON string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, JsStringEncCompatibility.JSON, null)</code></a>.</div> |
| </li> |
| </ul> |
| <a name="jsStringEnc-java.lang.String-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jsStringEnc</h4> |
| <pre>@Deprecated |
| public static java.lang.String jsStringEnc(java.lang.String s, |
| boolean json)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Use <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-"><code>jsStringEnc(String, JsStringEncCompatibility)</code></a> instead.</span></div> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JSON or JavaScript string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, json ? JsStringEncCompatibility.JSON : JsStringEncCompatibility.JAVA_SCRIPT, null)</code></a>.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.20</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jsStringEnc</h4> |
| <pre>public static java.lang.String jsStringEnc(java.lang.String s, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncCompatibility</a> compatibility)</pre> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JSON or JavaScript string literal; for more see |
| <a href="../../../freemarker/template/utility/StringUtil.html#jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"><code>jsStringEnc(s, compatibility, null)</code></a>.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.32</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="jsStringEnc-java.lang.String-freemarker.template.utility.StringUtil.JsStringEncCompatibility-freemarker.template.utility.StringUtil.JsStringEncQuotation-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>jsStringEnc</h4> |
| <pre>public static java.lang.String jsStringEnc(java.lang.String s, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncCompatibility</a> compatibility, |
| <a href="../../../freemarker/template/utility/StringUtil.JsStringEncQuotation.html" title="enum in freemarker.template.utility">StringUtil.JsStringEncQuotation</a> quotation)</pre> |
| <div class="block">Escapes a <code>String</code> to be safely insertable into a JavaScript or a JSON string literal, and if the 3rd |
| argument is <code>true</code>, also adds quotation marks around it. |
| If instead the caller ensures that the quotation marks are there, then in JSON mode (2nd argument), the quotation |
| marks must be <code>"</code>, not <code>'</code>, because for JSON we won't escape <code>'</code>. |
| |
| <p>The escaping rules guarantee that if the inside of the JavaScript/JSON string literal is from one or more |
| touching pieces that were escaped with this, no character sequence can occur that closes the |
| JavaScript/JSON string literal, or has a meaning in HTML/XML that causes the HTML script section to be closed. |
| (If, however, the escaped section is preceded by or followed by strings from other sources, this can't be |
| guaranteed in some rare cases. Like <tt>x = "</${a?js_string}"</tt> might closes the "script" |
| element if <code>a</code> is <code>"script>"</code>.) |
| |
| The escaped characters are: |
| |
| <table style="width: auto; border-collapse: collapse" border="1" summary="Characters escaped by jsStringEnc"> |
| <tr> |
| <th>Input |
| <th>Output |
| <tr> |
| <td><tt>"</tt> |
| <td><tt>\"</tt> |
| <tr> |
| <td><tt>'</tt> if not in JSON-mode, nor is the <code>quited</code> argument <code>true</code> |
| <td><tt>\'</tt> |
| <tr> |
| <td><tt>\</tt> |
| <td><tt>\\</tt> |
| <tr> |
| <td><tt>/</tt> if the method can't know that it won't be directly after <tt><</tt> |
| <td><tt>\/</tt> |
| <tr> |
| <td><tt>></tt> if the method can't know that it won't be directly after <tt>]]</tt> or <tt>--</tt> |
| <td>JavaScript: <tt>\></tt>; JSON: <tt>\</tt><tt>u003E</tt> |
| <tr> |
| <td><tt><</tt> if the method can't know that it won't be directly followed by <tt>!</tt> or <tt>?</tt> |
| <td><tt><tt>\</tt>u003C</tt> |
| <tr> |
| <td> |
| u0000-u001f (UNICODE control characters - disallowed by JSON)<br> |
| u007f-u009f (UNICODE control characters - disallowed by JSON) |
| <td><tt>\n</tt>, <tt>\r</tt> and such, or if there's no such dedicated escape: |
| JavaScript: <tt>\x<i>XX</i></tt>, JSON: <tt>\<tt>u</tt><i>XXXX</i></tt> |
| <tr> |
| <td> |
| u2028 (Line separator - source code line-break in ECMAScript)<br> |
| u2029 (Paragraph separator - source code line-break in ECMAScript)<br> |
| <td><tt>\<tt>u</tt><i>XXXX</i></tt> |
| </table></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - The string to escape</dd> |
| <dd><code>compatibility</code> - If escaping should restrict itself to rules that are valid in JSON, in JavaScript, or in both.</dd> |
| <dd><code>quotation</code> - In not <code>null</code>, quotation marks of this type are added around the value.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.32</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="parseNameValuePairList-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>parseNameValuePairList</h4> |
| <pre>public static java.util.Map parseNameValuePairList(java.lang.String s, |
| java.lang.String defaultValue) |
| throws java.text.ParseException</pre> |
| <div class="block">Parses a name-value pair list, where the pairs are separated with comma, |
| and the name and value is separated with colon. |
| The keys and values can contain only letters, digits and <tt>_</tt>. They |
| can't be quoted. White-space around the keys and values are ignored. The |
| value can be omitted if <code>defaultValue</code> is not null. When a |
| value is omitted, then the colon after the key must be omitted as well. |
| The same key can't be used for multiple times.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string to parse. |
| For example: <code>"strong:100, soft:900"</code>.</dd> |
| <dd><code>defaultValue</code> - the value used when the value is omitted in a |
| key-value pair.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the map that contains the name-value pairs.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.text.ParseException</code> - if the string is not a valid name-value |
| pair list.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isXMLID-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isXMLID</h4> |
| <pre>@Deprecated |
| public static boolean isXMLID(java.lang.String name)</pre> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Don't use this outside FreeMarker; it's name if misleading, and it doesn't follow the XML specs.</span></div> |
| <div class="block">Used internally by the XML DOM wrapper to check if the subvariable name is just an element name, or a more |
| complex XPath expression.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether the name is a valid XML element name. (This routine might only be 99% accurate. REVISIT)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="matchesName-java.lang.String-java.lang.String-java.lang.String-freemarker.core.Environment-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>matchesName</h4> |
| <pre>public static boolean matchesName(java.lang.String qname, |
| java.lang.String nodeName, |
| java.lang.String nsURI, |
| <a href="../../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a> env)</pre> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether the qname matches the combination of nodeName, nsURI, and environment prefix settings.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="leftPad-java.lang.String-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>leftPad</h4> |
| <pre>public static java.lang.String leftPad(java.lang.String s, |
| int minLength)</pre> |
| <div class="block">Pads the string at the left with spaces until it reaches the desired |
| length. If the string is longer than this length, then it returns the |
| unchanged string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="leftPad-java.lang.String-int-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>leftPad</h4> |
| <pre>public static java.lang.String leftPad(java.lang.String s, |
| int minLength, |
| char filling)</pre> |
| <div class="block">Pads the string at the left with the specified character until it reaches |
| the desired length. If the string is longer than this length, then it |
| returns the unchanged string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| <dd><code>filling</code> - the filling pattern.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="leftPad-java.lang.String-int-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>leftPad</h4> |
| <pre>public static java.lang.String leftPad(java.lang.String s, |
| int minLength, |
| java.lang.String filling)</pre> |
| <div class="block">Pads the string at the left with a filling pattern until it reaches the |
| desired length. If the string is longer than this length, then it returns |
| the unchanged string. For example: <code>leftPad('ABC', 9, '1234')</code> |
| returns <code>"123412ABC"</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| <dd><code>filling</code> - the filling pattern. Must be at least 1 characters long. |
| Can't be <code>null</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="rightPad-java.lang.String-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rightPad</h4> |
| <pre>public static java.lang.String rightPad(java.lang.String s, |
| int minLength)</pre> |
| <div class="block">Pads the string at the right with spaces until it reaches the desired |
| length. If the string is longer than this length, then it returns the |
| unchanged string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="rightPad-java.lang.String-int-char-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rightPad</h4> |
| <pre>public static java.lang.String rightPad(java.lang.String s, |
| int minLength, |
| char filling)</pre> |
| <div class="block">Pads the string at the right with the specified character until it |
| reaches the desired length. If the string is longer than this length, |
| then it returns the unchanged string.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| <dd><code>filling</code> - the filling pattern.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="rightPad-java.lang.String-int-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rightPad</h4> |
| <pre>public static java.lang.String rightPad(java.lang.String s, |
| int minLength, |
| java.lang.String filling)</pre> |
| <div class="block">Pads the string at the right with a filling pattern until it reaches the |
| desired length. If the string is longer than this length, then it returns |
| the unchanged string. For example: <code>rightPad('ABC', 9, '1234')</code> |
| returns <code>"ABC412341"</code>. Note that the filling pattern is |
| started as if you overlay <code>"123412341"</code> with the left-aligned |
| <code>"ABC"</code>, so it starts with <code>"4"</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>s</code> - the string that will be padded.</dd> |
| <dd><code>minLength</code> - the length to reach.</dd> |
| <dd><code>filling</code> - the filling pattern. Must be at least 1 characters long. |
| Can't be <code>null</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="versionStringToInt-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>versionStringToInt</h4> |
| <pre>public static int versionStringToInt(java.lang.String version)</pre> |
| <div class="block">Converts a version number string to an integer for easy comparison. |
| The version number must start with numbers separated with |
| dots. There can be any number of such dot-separated numbers, but only |
| the first three will be considered. After the numbers arbitrary text can |
| follow, and will be ignored. |
| |
| The string will be trimmed before interpretation.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>major * 1000000 + minor * 1000 + micro</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="tryToString-java.lang.Object-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tryToString</h4> |
| <pre>public static java.lang.String tryToString(java.lang.Object object)</pre> |
| <div class="block">Tries to run <code>toString()</code>, but if that fails, returns a |
| <code>"[com.example.SomeClass.toString() failed: " + e + "]"</code> instead. Also, it returns <code>null</code> for |
| <code>null</code> parameter.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.20</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toUpperABC-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toUpperABC</h4> |
| <pre>public static java.lang.String toUpperABC(int n)</pre> |
| <div class="block">Converts <code>1</code>, <code>2</code>, <code>3</code> and so forth to <code>"A"</code>, <code>"B"</code>, <code>"C"</code> and so fort. When |
| reaching <code>"Z"</code>, it continues like <code>"AA"</code>, <code>"AB"</code>, etc. The lowest supported number is 1, but |
| there's no upper limit.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.IllegalArgumentException</code> - If the argument is 0 or less.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="toLowerABC-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toLowerABC</h4> |
| <pre>public static java.lang.String toLowerABC(int n)</pre> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#toUpperABC-int-"><code>toUpperABC(int)</code></a>, but produces lower case result, like <code>"ab"</code>.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="trim-char:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>trim</h4> |
| <pre>public static char[] trim(char[] cs)</pre> |
| <div class="block">Behaves exactly like <code>String.trim()</code>, but works on arrays. If the resulting array would have the same |
| content after trimming, it returns the original array instance. Otherwise it returns a new array instance (or |
| <a href="../../../freemarker/template/utility/CollectionUtils.html#EMPTY_CHAR_ARRAY"><code>CollectionUtils.EMPTY_CHAR_ARRAY</code></a>).</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isTrimmableToEmpty-char:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isTrimmableToEmpty</h4> |
| <pre>public static boolean isTrimmableToEmpty(char[] text)</pre> |
| <div class="block">Tells if <code>String.trim()</code> will return a 0-length string for the <code>String</code> equivalent of the argument.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.22</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isTrimmableToEmpty-char:A-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isTrimmableToEmpty</h4> |
| <pre>public static boolean isTrimmableToEmpty(char[] text, |
| int start)</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-"><code>isTrimmableToEmpty(char[])</code></a>, but acts on a sub-array that starts at <code>start</code> (inclusive index).</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.23</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isTrimmableToEmpty-char:A-int-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isTrimmableToEmpty</h4> |
| <pre>public static boolean isTrimmableToEmpty(char[] text, |
| int start, |
| int end)</pre> |
| <div class="block">Like <a href="../../../freemarker/template/utility/StringUtil.html#isTrimmableToEmpty-char:A-"><code>isTrimmableToEmpty(char[])</code></a>, but acts on a sub-array that starts at <code>start</code> (inclusive index) |
| and ends at <code>end</code> (exclusive index).</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.23</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="globToRegularExpression-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>globToRegularExpression</h4> |
| <pre>public static java.util.regex.Pattern globToRegularExpression(java.lang.String glob)</pre> |
| <div class="block">Same as <a href="../../../freemarker/template/utility/StringUtil.html#globToRegularExpression-java.lang.String-boolean-"><code>globToRegularExpression(String, boolean)</code></a> with <code>caseInsensitive</code> argument <code>false</code>.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.24</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="globToRegularExpression-java.lang.String-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>globToRegularExpression</h4> |
| <pre>public static java.util.regex.Pattern globToRegularExpression(java.lang.String glob, |
| boolean caseInsensitive)</pre> |
| <div class="block">Creates a regular expression from a glob. The glob must use <code>/</code> for as file separator, not <code>\</code> |
| (backslash), and is always case sensitive. |
| |
| <p>This glob implementation recognizes these special characters: |
| <ul> |
| <li><code>?</code>: Wildcard that matches exactly one character, other than <code>/</code> |
| <li><code>*</code>: Wildcard that matches zero, one or multiple characters, other than <code>/</code> |
| <li><code>**</code>: Wildcard that matches zero, one or multiple directories. For example, <code>**</code><code>/head.ftl</code> |
| matches <code>foo/bar/head.ftl</code>, <code>foo/head.ftl</code> and <code>head.ftl</code> too. <code>**</code> must be either |
| preceded by <code>/</code> or be at the beginning of the glob. <code>**</code> must be either followed by <code>/</code> or be |
| at the end of the glob. When <code>**</code> is at the end of the glob, it also matches file names, like |
| <code>a/**</code> matches <code>a/b/c.ftl</code>. If the glob only consist of a <code>**</code>, it will be a match for |
| everything. |
| <li><code>\</code> (backslash): Makes the next character non-special (a literal). For example <code>How\?.ftl</code> will |
| match <code>How?.ftl</code>, but not <code>HowX.ftl</code>. Naturally, two backslashes produce one literal backslash. |
| <li><code>[</code>: Reserved for future purposes; can't be used |
| <li><code>{</code>: Reserved for future purposes; can't be used |
| </ul></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.3.24</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/StringUtil.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../freemarker/template/utility/StandardCompress.html" title="class in freemarker.template.utility"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../freemarker/template/utility/StringUtil.JsStringEncCompatibility.html" title="enum in freemarker.template.utility"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?freemarker/template/utility/StringUtil.html" target="_top">Frames</a></li> |
| <li><a href="StringUtil.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </body> |
| </html> |