Class StringUtil


  • public class StringUtil
    extends Object
    Utility methods that will make it easier to implement data validation for string attributes.
    Version:
    2.0
    Author:
    Nicklas
    • Constructor Detail

      • StringUtil

        public StringUtil()
    • Method Detail

      • setNullableString

        public static String setNullableString​(String value,
                                               String name,
                                               int maxLength)
                                        throws StringTooLongException
        Trim and check the length of a string. Null values are allowed.
        Parameters:
        value - The string to check
        name - The name of the attribute to use if an exception is thrown
        maxLength - The maximum length of the string
        Returns:
        The original string, trimmed from white-space at the beginning and end
        Throws:
        StringTooLongException - If the string is too long
      • setNotNullString

        public static String setNotNullString​(String value,
                                              String name,
                                              int maxLength)
                                       throws InvalidUseOfNullException,
                                              StringTooLongException
        Trim and check the length of a string. Null values are not allowed.
        Parameters:
        value - The string to check
        name - The name of the attribute to use if an exception is thrown
        maxLength - The maximum length of the string
        Returns:
        The original string, trimmed from white-space at the beginning and end
        Throws:
        StringTooLongException - If the string is too long
        InvalidUseOfNullException - If the string is null
      • isEqualOrNull

        public static boolean isEqualOrNull​(String s1,
                                            String s2)
        Check if two strings are equal or both are null.
        Parameters:
        s1 - The first string
        s2 - The second string
        Returns:
        TRUE if the strings are equal or both are null, FALSE otherwise
      • isEqualOrNull

        public static boolean isEqualOrNull​(String s1,
                                            String s2,
                                            boolean caseInsensitive)
        Check if two strings are equal or both are null.
        Parameters:
        s1 - The first string
        s2 - The second string
        caseInsensitive - TRUE if the comparison should ignore case, FALSE otherwise
        Returns:
        TRUE if the strings are equal or both are null, FALSE otherwise
        Since:
        2.4
      • join

        public static final String join​(Collection<?> values,
                                        String deliminator,
                                        boolean skipNull)
        Join a collection of values to a string, using the specified delimiator.
        Parameters:
        values - The values to join
        deliminator - The deliminator between the values
        skipNull - If null values should be skipper or not
        Returns:
        The resulting string
      • trimString

        public static final String trimString​(String s,
                                              int length)
        Trim a string to a maximum length. String longer than the specified length will be cut off and three dots are appended. If no trimming is needed the original string is returned.
        Parameters:
        s - The string to trim
        length - The maximum length of the string
        Returns:
        The trimmed string
      • trimStringMiddle

        public static final String trimStringMiddle​(String s,
                                                    int length)
        Trim a string to a maximum length. Strings longer than the specified length will have text cut-out from the middle and replaced by three dots. If no trimming is needed the original string is returned.
        Parameters:
        s - The string to trim
        length - The maximum length of the string
        Returns:
        The trimmed string
        Since:
        2.14
      • tokenize

        public static final String[] tokenize​(String s,
                                              String regexp,
                                              boolean notInsideQuotes)
        Tokenize a string by splitting it at positions matching the regular expression, optionally ignoring matches that are inside quotes.
        Parameters:
        s - The string to tokenize
        regexp - The regular expression for matching split sites
        notInsideQuotes - If TRUE, the regexp is not matched inside quotes
        Returns:
        An array with the elements of the array
        Since:
        2.15
      • tokenize

        public static final String[] tokenize​(String s,
                                              String regexp,
                                              boolean notInsideQuotes,
                                              boolean removeQuotes)
        Tokenize a string by splitting it at positions matching the regular expression. Matches that are inside quotes can optionally be ignored. Elements with quotes can optionally have the quotes removed.
        Parameters:
        s - The string to tokenize
        regexp - The regular expression for matching split sites
        notInsideQuotes - If TRUE, the regexp is not matched inside quotes
        removeQuotes - If TRUE, remove quotes from all elements before returning the result
        Returns:
        An array with the elements of the array
        Since:
        2.17
      • getCommonPrefix

        public static final String getCommonPrefix​(Collection<String> strings)
        Find the longest common prefix for a collection of strings. If the collection is null, empty or contains at least one null element null is returned. If the given strings doesn't have a common prefix the empty string is returned.
        Parameters:
        strings - A collection of string objects
        Returns:
        The longes string such that String.startsWith(String) returns true for all strings in the given collection
        Since:
        2.17
      • decapitalize

        public static final String decapitalize​(String value)
        Decapitalize the string by making sure the first character is lower-case. All other characters are left as they are. If the string is empty, the empty string is returned. If the string is null, null is returned.
        Since:
        3.2