Class Strings


  • public final class Strings
    extends Object

    Expression Object for performing String-related operations inside Thymeleaf Standard Expressions.

    An object of this class is usually available in variable evaluation expressions with the name #strings.

    Since:
    1.0
    Author:
    Daniel Fernández, Bernard Le Roux
    • Constructor Detail

      • Strings

        public Strings​(Locale locale)
    • Method Detail

      • toString

        public String toString​(Object target)

        Performs a null-safe toString() operation.

        Parameters:
        target - the object on which toString will be executed
        Returns:
        the result of calling target.toString() if target is not null, null if target is null.
        Since:
        2.0.12
      • arrayToString

        public String[] arrayToString​(Object[] target)

        Performs a null-safe toString() operation on each element of the array.

        Parameters:
        target - the array of objects on which toString will be executed
        Returns:
        for each element: the result of calling target.toString() if target is not null, null if target is null.
        Since:
        2.0.12
      • listToString

        public List<String> listToString​(List<?> target)

        Performs a null-safe toString() operation on each element of the list.

        Parameters:
        target - the list of objects on which toString will be executed
        Returns:
        for each element: the result of calling target.toString() if target is not null, null if target is null.
        Since:
        2.0.12
      • setToString

        public Set<String> setToString​(Set<?> target)

        Performs a null-safe toString() operation on each element of the set.

        Parameters:
        target - the set of objects on which toString will be executed
        Returns:
        for each element: the result of calling target.toString() if target is not null, null if target is null.
        Since:
        2.0.12
      • abbreviate

        public String abbreviate​(Object target,
                                 int maxSize)
      • arrayAbbreviate

        public String[] arrayAbbreviate​(Object[] target,
                                        int maxSize)
      • listAbbreviate

        public List<String> listAbbreviate​(List<?> target,
                                           int maxSize)
      • setAbbreviate

        public Set<String> setAbbreviate​(Set<?> target,
                                         int maxSize)
      • equals

        public Boolean equals​(Object first,
                              Object second)
        Parameters:
        first - first
        second - second
        Returns:
        the result
        Since:
        2.0.16
      • equalsIgnoreCase

        public Boolean equalsIgnoreCase​(Object first,
                                        Object second)
        Parameters:
        first - first
        second - second
        Returns:
        the result
        Since:
        2.0.16
      • arrayContainsIgnoreCase

        public Boolean[] arrayContainsIgnoreCase​(Object[] target,
                                                 String fragment)
      • listContainsIgnoreCase

        public List<Boolean> listContainsIgnoreCase​(List<?> target,
                                                    String fragment)
      • setContainsIgnoreCase

        public Set<Boolean> setContainsIgnoreCase​(Set<?> target,
                                                  String fragment)
      • substring

        public String substring​(Object target,
                                int start,
                                int end)
      • arraySubstring

        public String[] arraySubstring​(Object[] target,
                                       int start,
                                       int end)
      • listSubstring

        public List<String> listSubstring​(List<?> target,
                                          int start,
                                          int end)
      • setSubstring

        public Set<String> setSubstring​(Set<?> target,
                                        int start,
                                        int end)
      • substring

        public String substring​(Object target,
                                int start)

        copy a part of target start beginIndex to the end of target. If non-String object, toString() will be called.

        Parameters:
        target - source of the copy.
        start - index where the copy start.
        Returns:
        part of target, or null if target is null.
        Since:
        1.1.2
      • arraySubstring

        public String[] arraySubstring​(Object[] target,
                                       int start)

        copy a part of target start beginIndex to the end of target for all the elements in the target array. If non-String object, toString() will be called.

        Parameters:
        target - source of the copy.
        start - index where the copy start.
        Returns:
        part of target, or null if target is null.
        Since:
        1.1.2
      • listSubstring

        public List<String> listSubstring​(List<?> target,
                                          int start)

        copy a part of target start beginIndex to the end of target for all the elements in the target list. If non-String object, toString() will be called.

        Parameters:
        target - source of the copy.
        start - index where the copy start.
        Returns:
        part of target, or null if target is null.
        Since:
        1.1.2
      • setSubstring

        public Set<String> setSubstring​(Set<?> target,
                                        int start)

        copy a part of target start beginIndex to the end of target for all the elements in the target set. If non-String object, toString() will be called.

        Parameters:
        target - source of the copy.
        start - index where the copy start.
        Returns:
        part of target, or null if target is null.
        Since:
        1.1.2
      • arraySubstringAfter

        public String[] arraySubstringAfter​(Object[] target,
                                            String substr)
      • setSubstringAfter

        public Set<String> setSubstringAfter​(Set<?> target,
                                             String substr)
      • arraySubstringBefore

        public String[] arraySubstringBefore​(Object[] target,
                                             String substr)
      • setSubstringBefore

        public Set<String> setSubstringBefore​(Set<?> target,
                                              String substr)
      • repeat

        public String repeat​(Object target,
                             int times)
        Parameters:
        target - target
        times - times
        Returns:
        the result
        Since:
        2.1.0
      • concat

        public String concat​(Object... values)
        Parameters:
        values - values
        Returns:
        the result
        Since:
        2.0.16
      • concatReplaceNulls

        public String concatReplaceNulls​(String nullValue,
                                         Object... values)
        Parameters:
        nullValue - nullValue
        values - values
        Returns:
        the result
        Since:
        2.0.16
      • arrayIsEmpty

        public Boolean[] arrayIsEmpty​(Object[] target)
      • setJoin

        public String setJoin​(Set<?> stringIter,
                              String separator)
      • arrayLength

        public Integer[] arrayLength​(Object[] target)
      • toUpperCase

        public String toUpperCase​(Object target)
      • arrayToUpperCase

        public String[] arrayToUpperCase​(Object[] target)
      • listToUpperCase

        public List<String> listToUpperCase​(List<?> target)
      • setToUpperCase

        public Set<String> setToUpperCase​(Set<?> target)
      • toLowerCase

        public String toLowerCase​(Object target)
      • arrayToLowerCase

        public String[] arrayToLowerCase​(Object[] target)
      • listToLowerCase

        public List<String> listToLowerCase​(List<?> target)
      • setToLowerCase

        public Set<String> setToLowerCase​(Set<?> target)
      • arrayTrim

        public String[] arrayTrim​(Object[] target)
      • capitalize

        public String capitalize​(Object target)

        Convert the first letter of target to uppercase (title-case, in fact).

        Parameters:
        target - the String to be capitalized. If non-String object, toString() will be called.
        Returns:
        String the result of capitalizing the target.
        Since:
        1.1.2
      • arrayCapitalize

        public String[] arrayCapitalize​(Object[] target)

        Convert the first letter into uppercase (title-case, in fact) for all the elements in the target array.

        Parameters:
        target - the array of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • listCapitalize

        public List<String> listCapitalize​(List<?> target)

        Convert the first letter into uppercase (title-case, in fact) for all the elements in the target list.

        Parameters:
        target - the list of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a List with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • setCapitalize

        public Set<String> setCapitalize​(Set<?> target)

        Convert the first letter into uppercase (title-case, in fact) for all the elements in the target set.

        Parameters:
        target - the set of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • unCapitalize

        public String unCapitalize​(Object target)

        Convert the first letter of target to lowercase.

        Parameters:
        target - the String to be uncapitalized. If non-String object, toString() will be called.
        Returns:
        String the result of uncapitalizing the target.
        Since:
        1.1.2
      • arrayUnCapitalize

        public String[] arrayUnCapitalize​(Object[] target)

        Convert the first letter into lowercase for all the elements in the target array.

        Parameters:
        target - the array of Strings to be uncapitalized. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of uncapitalizing each element of the target.
        Since:
        1.1.2
      • listUnCapitalize

        public List<String> listUnCapitalize​(List<?> target)

        Convert the first letter into lowercase for all the elements in the target list.

        Parameters:
        target - the list of Strings to be uncapitalized. If non-String objects, toString() will be called.
        Returns:
        a List with the result of uncapitalizing each element of the target.
        Since:
        1.1.2
      • setUnCapitalize

        public Set<String> setUnCapitalize​(Set<?> target)

        Convert the first letter into lowercase for all the elements in the target set.

        Parameters:
        target - the set of Strings to be uncapitalized. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of uncapitalizing each element of the target.
        Since:
        1.1.2
      • capitalizeWords

        public String capitalizeWords​(Object target)

        Convert the first letter of each words of target to uppercase (title-case, in fact). The default delimiter characters between the words are the whitespace characters (see Characters.IsWhiteSpace method in the Java documentation).

        Parameters:
        target - the String to be capitalized. If non-String object, toString() will be called.
        Returns:
        String the result of capitalizing the target.
        Since:
        1.1.2
      • arrayCapitalizeWords

        public String[] arrayCapitalizeWords​(Object[] target)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target array. The default delimiter characters between the words are the whitespace characters (see Characters.IsWhiteSpace method in the Java documentation).

        Parameters:
        target - the array of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • listCapitalizeWords

        public List<String> listCapitalizeWords​(List<?> target)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target list. The default delimiter characters between the words are the whitespace characters (see Characters.IsWhiteSpace method in the Java documentation).

        Parameters:
        target - the list of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a List with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • setCapitalizeWords

        public Set<String> setCapitalizeWords​(Set<?> target)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target set. The default delimiter characters between the words are the whitespace characters (see Characters.IsWhiteSpace method in the Java documentation).

        Parameters:
        target - the set of Strings to be capitalized. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • capitalizeWords

        public String capitalizeWords​(Object target,
                                      Object delimiters)

        Convert the first letter of each words of target to uppercase (title-case, in fact), using the specified delimiter chars for determining word ends/starts.

        Parameters:
        target - the String to be capitalized. If non-String object, toString() will be called.
        delimiters - the delimiters of the words. If non-String object, toString() will be called.
        Returns:
        String the result of capitalizing the target.
        Since:
        1.1.2
      • arrayCapitalizeWords

        public String[] arrayCapitalizeWords​(Object[] target,
                                             Object delimiters)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target array. The specified delimiter chars will be used for determining word ends/starts.

        Parameters:
        target - the array of Strings to be capitalized. If non-String objects, toString() will be called.
        delimiters - the delimiters of the words. If non-String object, toString() will be called.
        Returns:
        a String[] with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • listCapitalizeWords

        public List<String> listCapitalizeWords​(List<?> target,
                                                Object delimiters)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target list. The specified delimiter chars will be used for determining word ends/starts.

        Parameters:
        target - the list of Strings to be capitalized. If non-String objects, toString() will be called.
        delimiters - the delimiters of the words. If non-String object, toString() will be called.
        Returns:
        a List with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • setCapitalizeWords

        public Set<String> setCapitalizeWords​(Set<?> target,
                                              Object delimiters)

        Convert the first letter of each words of target to uppercase (title-case, in fact) for all the elements in the target set. The specified delimiter chars will be used for determining word ends/starts.

        Parameters:
        target - the set of Strings to be capitalized. If non-String objects, toString() will be called.
        delimiters - the delimiters of the words. If non-String object, toString()
        Returns:
        a Set with the result of capitalizing each element of the target.
        Since:
        1.1.2
      • escapeXml

        public String escapeXml​(Object target)

        XML-escapes the specified text.

        Parameters:
        target - the text to be escaped
        Returns:
        the escaped text.
        Since:
        2.0.9
      • arrayEscapeXml

        public String[] arrayEscapeXml​(Object[] target)

        XML-escapes all the elements in the target array.

        Parameters:
        target - the array of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of each each element of the target.
        Since:
        2.0.9
      • listEscapeXml

        public List<String> listEscapeXml​(List<?> target)

        XML-escapes all the elements in the target list.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a List with the result of each each element of the target.
        Since:
        2.0.9
      • setEscapeXml

        public Set<String> setEscapeXml​(Set<?> target)

        XML-escapes all the elements in the target set.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of each each element of the target.
        Since:
        2.0.9
      • escapeJavaScript

        public String escapeJavaScript​(Object target)

        JavaScript-escapes the specified text.

        Parameters:
        target - the text to be escaped
        Returns:
        the escaped text.
        Since:
        2.0.11
      • arrayEscapeJavaScript

        public String[] arrayEscapeJavaScript​(Object[] target)

        JavaScript-escapes all the elements in the target array.

        Parameters:
        target - the array of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of each each element of the target.
        Since:
        2.0.11
      • listEscapeJavaScript

        public List<String> listEscapeJavaScript​(List<?> target)

        JavaScript-escapes all the elements in the target list.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a List with the result of each each element of the target.
        Since:
        2.0.11
      • setEscapeJavaScript

        public Set<String> setEscapeJavaScript​(Set<?> target)

        JavaScript-escapes all the elements in the target set.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of each each element of the target.
        Since:
        2.0.11
      • unescapeJavaScript

        public String unescapeJavaScript​(Object target)

        JavaScript-unescapes the specified text.

        Parameters:
        target - the text to be unescaped
        Returns:
        the unescaped text.
        Since:
        2.0.11
      • arrayUnescapeJavaScript

        public String[] arrayUnescapeJavaScript​(Object[] target)

        JavaScript-unescapes all the elements in the target array.

        Parameters:
        target - the array of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of each each element of the target.
        Since:
        2.0.11
      • listUnescapeJavaScript

        public List<String> listUnescapeJavaScript​(List<?> target)

        JavaScript-unescapes all the elements in the target list.

        Parameters:
        target - the list of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a List with the result of each each element of the target.
        Since:
        2.0.11
      • setUnescapeJavaScript

        public Set<String> setUnescapeJavaScript​(Set<?> target)

        JavaScript-unescapes all the elements in the target set.

        Parameters:
        target - the list of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of each each element of the target.
        Since:
        2.0.11
      • escapeJava

        public String escapeJava​(Object target)

        Java-escapes the specified text.

        Parameters:
        target - the text to be escaped
        Returns:
        the escaped text.
        Since:
        2.0.11
      • arrayEscapeJava

        public String[] arrayEscapeJava​(Object[] target)

        Java-escapes all the elements in the target array.

        Parameters:
        target - the array of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of each each element of the target.
        Since:
        2.0.11
      • listEscapeJava

        public List<String> listEscapeJava​(List<?> target)

        Java-escapes all the elements in the target list.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a List with the result of each each element of the target.
        Since:
        2.0.11
      • setEscapeJava

        public Set<String> setEscapeJava​(Set<?> target)

        Java-escapes all the elements in the target set.

        Parameters:
        target - the list of Strings to be escaped. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of each each element of the target.
        Since:
        2.0.11
      • unescapeJava

        public String unescapeJava​(Object target)

        Java-unescapes the specified text.

        Parameters:
        target - the text to be unescaped
        Returns:
        the unescaped text.
        Since:
        2.0.11
      • arrayUnescapeJava

        public String[] arrayUnescapeJava​(Object[] target)

        Java-unescapes all the elements in the target array.

        Parameters:
        target - the array of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of each each element of the target.
        Since:
        2.0.11
      • listUnescapeJava

        public List<String> listUnescapeJava​(List<?> target)

        Java-unescapes all the elements in the target list.

        Parameters:
        target - the list of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a List with the result of each each element of the target.
        Since:
        2.0.11
      • setUnescapeJava

        public Set<String> setUnescapeJava​(Set<?> target)

        Java-unescapes all the elements in the target set.

        Parameters:
        target - the list of Strings to be unescaped. If non-String objects, toString() will be called.
        Returns:
        a Set with the result of each each element of the target.
        Since:
        2.0.11
      • randomAlphanumeric

        public String randomAlphanumeric​(int count)

        Builds a random String using characters 0..9 and A..Z.

        Parameters:
        count - length of the generated String
        Returns:
        a random String
        Since:
        2.1.0
      • defaultString

        public String defaultString​(Object target,
                                    Object defaultValue)

        Checks if target text is empty and uses either target, or if the target is empty uses defaultValue.

        Parameters:
        target - value that to be checked if is null or empty If non-String objects, toString() will be called.
        defaultValue - value to use if target is empty If non-String objects, toString() will be called.
        Returns:
        either target, or if the target is empty defaultValue
        Since:
        2.1.3
      • arrayDefaultString

        public String[] arrayDefaultString​(Object[] target,
                                           Object defaultValue)

        Checks if each target element is empty and uses either target element, or if the target element is empty uses defaultValue.

        Parameters:
        target - the array of values that to be checked if is null or empty If non-String objects, toString() will be called.
        defaultValue - value to return if target is empty If non-String objects, toString() will be called.
        Returns:
        a String[] with the result of defaultString(Object, Object) for each element of the target.
        Since:
        2.1.3
      • listDefaultString

        public List<String> listDefaultString​(List<?> target,
                                              Object defaultValue)

        Checks if each target element is empty and uses either target element, or if the target element is empty uses defaultValue.

        Parameters:
        target - the list of values that to be checked if is null or empty If non-String objects, toString() will be called.
        defaultValue - value to return if target is empty If non-String objects, toString() will be called.
        Returns:
        a List<String> with the result of defaultString(Object, Object) for each element of the target.
        Since:
        2.1.3
      • setDefaultString

        public Set<String> setDefaultString​(Set<?> target,
                                            Object defaultValue)

        Checks if each target element is empty and uses either target element, or if the target element is empty uses defaultValue.

        Parameters:
        target - the set of values that to be checked if is null or empty If non-String objects, toString() will be called.
        defaultValue - value to return if target is empty If non-String objects, toString() will be called.
        Returns:
        a Set<String> with the result of defaultString(Object, Object) for each element of the target.
        Since:
        2.1.3