Class StringUtils

java.lang.Object
org.ametys.core.util.StringUtils

public final class StringUtils extends Object
A collection of String management utility methods.
  • Method Details

    • stringToCollection

      public static Collection<String> stringToCollection(String values)
      Extract String values from a comma seprated list.
      Parameters:
      values - the comma separated list
      Returns:
      a collection of String or an empty collection if string is null or empty.
    • stringToStringArray

      public static String[] stringToStringArray(String values)
      Extract String values from a comma seprated list.
      Parameters:
      values - the comma separated list
      Returns:
      an array of String
    • generateKey

      public static String generateKey()
      Generates a unique String key, based on System.currentTimeMillis()
      Returns:
      a unique String value
    • md5Base64

      public static String md5Base64(String password)
      Encrypt a password by using first MD5 Hash and base64 encoding.
      Parameters:
      password - The password to be encrypted.
      Returns:
      The password encrypted or null if the MD5 is not supported
    • normalizeStringValue

      public static String normalizeStringValue(String value)
      Normalize string. Pass to lower case and remove Unicode accents and diacritics
      Parameters:
      value - the value to normalize
      Returns:
      the normalized value
    • toReadableDataSize

      public static I18nizableText toReadableDataSize(Long size)
      Transform a size to a readable size for data (bytes, KB, MB, etc.).
      Parameters:
      size - The size to transform
      Returns:
      An internationalized text with the size and the unit.
    • escapeCsv

      public static String escapeCsv(String value)
      Returns a escaped String value for a CSV cell enclosed in double quotes.

      Any double quote characters in the value are escaped with another double quote.

      If cell value contains a formula (ex: =SOMME(A0:A10)) it could be evaluated by CVS editor.
      Use sanitizeCsv(String) to avoid formula evaluation

       null                          => ""
       =1+2                          => "=1+2"
       =1+2'" ;,=1+2                 => "=1+2'"" ;,=1+2"
       L'orem ipsut; sit amet, dolor => "L'orem ipsut; sit amet, dolor"
       =cmd|' /c Calc.exe'!'A1'      => "=cmd|' /c Calc.exe'!'A1'"
       
      Parameters:
      value - the String value for CSV column. Can be null.
      Returns:
      the escaped value
    • sanitizeCsv

      public static String sanitizeCsv(String value)
      Returns a sanitized String value for a CSV column enclosed in double quotes.

      Any double quote characters in the value are escaped with another double quote.

      If the value starts with '=', '+', '-', '@', newline or TAB, is prepend with a single quote.

       null                          => ""
       =1+2";=1+2                    => "'=1+2"";=1+2"
       =1+2'" ;,=1+2                 => "'=1+2'"" ;,=1+2"
       L'orem ipsut; sit amet, dolor => "L'orem ipsut; sit amet, dolor"
       =cmd|' /c Calc.exe'!'A1'      => "'=cmd|' /c Calc.exe'!'A1'"
       
      Parameters:
      value - the untrusted String value for CSV column. Can be null.
      Returns:
      the escaped and trusted value
    • sanitizeXlsHtml

      public static String sanitizeXlsHtml(String value)
      Returns a sanitized String value for a XLS-HTML column (no double quotes enclosing).

      If the value starts with '=', '+', '-', '@', newline or TAB, is prepend with a single quote.

       null                          => StringUtils.EMPTY
       =1+2";=1+2                    => '=1+2";=1+2
       =1+2'" ;,=1+2                 => '=1+2'" ;,=1+2  
       L'orem ipsut; sit amet, dolor => L'orem ipsut; sit amet, dolor
       =cmd|' /c Calc.exe'!'A1'      => '=cmd|' /c Calc.exe'!'A1
       
      Parameters:
      value - the untrusted String value for HTML-XLS column. Can be null.
      Returns:
      the trusted value