Home » freemarker-2.3.13 » freemarker.template.utility » [javadoc | source]
freemarker.template.utility
public class: StringUtil [javadoc | source]
java.lang.Object
   freemarker.template.utility.StringUtil
Some text related utilities.
Method from freemarker.template.utility.StringUtil Summary:
FTLStringLiteralDec,   FTLStringLiteralEnc,   HTMLEnc,   RTFEnc,   URLEnc,   XMLEnc,   XMLEncNA,   XMLEncNQG,   XMLEncQAttr,   capitalize,   chomp,   deduceLocale,   getYesNo,   isXMLID,   jQuote,   javaScriptStringEnc,   javaStringEnc,   leftPad,   leftPad,   leftPad,   matchesName,   parseNameValuePairList,   replace,   rightPad,   rightPad,   rightPad,   split,   split
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from freemarker.template.utility.StringUtil Detail:
 public static String FTLStringLiteralDec(String s) throws ParseException 
    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.
 public static String FTLStringLiteralEnc(String s) 
 public static String HTMLEnc(String s) 
    HTML encoding (does not convert line breaks). Replaces all '>' '<' '&' and '"' with entity reference
 public static String RTFEnc(String s) 
    Rich Text Format encoding (does not replace line breaks). Escapes all '\' '{' '}' and '"'
 public static String URLEnc(String s,
    String charset) throws UnsupportedEncodingException 
    URL encoding (like%20this).
 public static String XMLEnc(String s) 
    XML Encoding. Replaces all '>' '<' '&', "'" and '"' with entity reference
 public static String XMLEncNA(String s) 
    XML encoding without replacing apostrophes.
 public static String XMLEncNQG(String s) 
    XML encoding without replacing apostrophes and quotation marks and greater-than signs.
 public static String XMLEncQAttr(String s) 
    XML encoding for attributes valies quoted with " (not with '!). Also can be used for HTML attributes that are quoted with ".
 public static String capitalize(String s) 
 public static String chomp(String s) 
    Removes the line-break from the end of the string.
 public static Locale deduceLocale(String input) 
 public static boolean getYesNo(String s) 
 public static boolean isXMLID(String name) 
 public static String jQuote(String s) 
    Quotes string as Java Language string literal. Returns string "null" if s is null.
 public static String javaScriptStringEnc(String s) 
    Escapes a String according the JavaScript string literal escaping rules. The resulting string will not be quoted.

    It escapes both ' and ". In additional it escapes > as \> (to avoid </script>). Furthermore, all characters under UCS code point 0x20, that has no dedicated escape sequence in JavaScript language, will be replaced with hexadecimal escape (\xXX).

 public static String javaStringEnc(String s) 
    Escapes the String with the escaping rules of Java language string literals, so it is safe to insert the value into a string literal. The resulting string will not be quoted.

    In additional, all characters under UCS code point 0x20, that has no dedicated escape sequence in Java language, will be replaced with UNICODE escape (\uXXXX).

 public static String leftPad(String s,
    int minLength) 
    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.
 public static String leftPad(String s,
    int minLength,
    char filling) 
    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.
 public static String leftPad(String s,
    int minLength,
    String filling) 
    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: leftPad('ABC', 9, '1234') returns "123412ABC".
 public static boolean matchesName(String qname,
    String nodeName,
    String nsURI,
    Environment env) 
 public static Map parseNameValuePairList(String s,
    String defaultValue) throws ParseException 
    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 _. They can't be quoted. White-space around the keys and values are ignored. The value can be omitted if defaultValue 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.
 public static String replace(String text,
    String oldsub,
    String newsub,
    boolean caseInsensitive,
    boolean firstOnly) 
    Replaces all occurrences of a sub-string in a string.
 public static String rightPad(String s,
    int minLength) 
    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.
 public static String rightPad(String s,
    int minLength,
    char filling) 
    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.
 public static String rightPad(String s,
    int minLength,
    String filling) 
    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: rightPad('ABC', 9, '1234') returns "ABC412341". Note that the filling pattern is started as if you overlay "123412341" with the left-aligned "ABC", so it starts with "4".
 public static String[] split(String s,
    char c) 
    Splits a string at the specified character.
 public static String[] split(String s,
    String sep,
    boolean caseInsensitive) 
    Splits a string at the specified string.