Package ru.bgcrm.util

# Class Utils

java.lang.Object
ru.bgcrm.util.Utils

public class Utils extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_DELIM`
  Default delimiter: ", "
  `static final char[]`
  `HEX`
  `static final char[]`
  `HEX_LOWERCASE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Utils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final void`
  `addCommaSeparated(StringBuilder result, String value)`
  Добавляет в конец строки новое значение, отделяя запятой с пробелом, если он не первый.
  `static final void`
  `addSeparated(StringBuilder result, String separator, String value)`
  `static final void`
  `addSetupPair(StringBuilder data, String prefix, String param, String value)`
  `static final String`
  `booleanToStringInt(boolean value)`
  Преобразует boolean в строку "1" или "0".
  `static final int`
  `countLines(String value)`
  Counts the number of lines in string
  `static final File`
  `createDirectoryIfNoExistInWorkDir(String dirName)`
  Creates a directory with a given name in working directory if it does not exist.
  `static final <T, C extends Collection<T>>
  C`
  `emptyToNull(C value)`
  Converts to `null` an empty collection
  `static void`
  `errorAndExit(int code, String message)`
  Writes error message and exists the running application.
  `static String`
  `escapeXml(String value)`
  Calls `Functions.escapeXml(String)` - replaces XML markup symbols to special codes.
  `static String`
  `format(BigDecimal value)`
  Formats a decimal value to a regular string without trailing zeros.
  `static final String`
  `generateSecret()`
  `static String`
  `getDigest(byte[] value)`
  HEX representation of MD5 digest.
  `static String`
  `getDigest(String value)`
  Вызывает `getDigest(String, String)` с кодировкой UTF-8.
  `static String`
  `getDigest(String value, String charset)`
  Возвращает строковое представление MD5 хэша от входной строки.
  `static <T> T`
  `getFirst(Collection<T> collection)`
  `static final <T extends Id<Integer>>
  String`
  `getObjectIds(Collection<T> values)`
  Comma separated object IDs
  `static final <T extends Id<Integer>>
  String`
  `getObjectIds(Collection<T> values, String startValues)`
  Comma separated object IDs
  `static <T extends Id<Integer>>
  String`
  `getObjectIds(Collection<T> values, String startValues, String delim)`
  Separated object IDs
  `static final <T extends IdTitle>
  List<Integer>`
  `getObjectIdsList(Collection<T> list)`
  Возвращает список кодов объектов.
  `static final <T extends IdTitle>
  Set<Integer>`
  `getObjectIdsSet(Collection<T> list)`
  Возаращает набор кодов объектов.
  `static final <T extends IdTitle>
  List<T>`
  `getObjectList(List<T> fullList, Collection<Integer> selectedIds)`
  Selects objects sub-list from a given full list with IDs presented in a collection.
  `static final <T extends IdTitle>
  List<T>`
  `getObjectList(Map<Integer,T> fullMap, List<Integer> selectedIds)`
  Selects objects list from a full map by a given IDs list in the same order.
  `static final <T extends Title>
  String`
  `getObjectTitles(Collection<T> list)`
  Concatenates object titles to a comma separated string.
  `static <T extends IdTitle>
  String`
  `getObjectTitles(List<T> fullList, Set<Integer> selectedIds)`
  Concatenates object titles to a comma separated string.
  `static final <T extends IdTitle>
  String`
  `getObjectTitles(Map<Integer,T> fullMap, List<Integer> selectedIds)`
  Concatenates object titles to a comma separated string.
  `static int`
  `getOpenId(String url)`
  Extracts entity ID from URL.
  `static String`
  `getSystemProperty(String key, String defaultValue)`
  Retrieves a property value from `System.getProperty(String)`.
  `static String`
  `getTmpDir()`
  System temp directory.
  `static boolean`
  `hasClass(Object o, String... names)`
  Checks if object is instance one of classes.
  `static String`
  `htmlEncode(String value)`
  Calls `UtilFunction.htmlEncode(String)` - replaces only HTML tags.
  `static final boolean`
  `isBlankString(String value)`
  Проверяет, является ли строка пустой, состоящей из пробельных символов или null.
  `static final boolean`
  `isEmptyString(String value)`
  Проверяет, является ли строка пустой или null.
  `static final boolean`
  `isPositive(Integer value)`
  Is the integer value greater than zero.
  `static boolean`
  `isStringNumber(String str)`
  Определяет хранится ли в строке число.
  `static final boolean`
  `isValidEmail(String value)`
  Is the string a valid Email address.
  `static final String`
  `maskEmpty(String value, String defaultValue)`
  Преобразует входную строку в значение по-умолчанию, если она null или пустая.
  `static final String`
  `maskNull(String value)`
  Преобразует входную строку в пустую, если она null.
  `static final <T> T`
  `maskNull(T value, T defaultValue)`
  Возвращает объект либо иное значение, если объект null.
  `static final BigDecimal`
  `maskNullDecimal(BigDecimal value)`
  Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.
  `static Object`
  `newInstance(String className, Object... args)`
  Deprecated.
  `static final boolean`
  `notBlankString(String value)`
  Checks if string value is blank.
  `static final boolean`
  `notBlankStrings(String... value)`
  Checks all the passed values with `notBlankString(String)`.
  `static final boolean`
  `notEmptyString(String value)`
  Проверяет, является ли строка пустой или null.
  `static BigDecimal`
  `parseBigDecimal(Object obj)`
  Converts an object's string representation to a decimal object.
  `static BigDecimal`
  `parseBigDecimal(Object obj, BigDecimal defaultValue)`
  Converts an object's string representation to a decimal object.
  `static boolean`
  `parseBoolean(String str)`
  Вызывает функию
  invalid reference

      #parseBoolean(String, boolean)

  со вторым параметром false.
  `static Boolean`
  `parseBoolean(String str, Boolean defaultValue)`
  Converts a string to a boolean
  `static final List<IdTitle>`
  `parseIdTitleList(String value)`
  Возвращает список объектов из строки вида код:наименование; код:наименование.
  `static final List<IdTitle>`
  `parseIdTitleList(String value, String noPairValue)`
  Возвращает список объектов из строки вида код:наименование; код:наименование.
  `static int`
  `parseInt(String str)`
  Преобразует строку в int, в случае ошибки возращает 0.
  `static int`
  `parseInt(String str, int defaultValue)`
  Преобразует строку в int, в случае ошибки возращает defaultValue.
  `static long`
  `parseLong(String str)`
  Преобразует строку в long, в случае ошибки возращает 0.
  `static long`
  `parseLong(String str, long defaultValue)`
  Преобразует строку в long, в случае ошибки возращает defaultValue.
  `static void`
  `setFileNameHeaders(javax.servlet.http.HttpServletResponse response, String fileName)`
  Sets HTTP headers for downloaded file.
  `static final String`
  `substringAfter(String value, String token, int num)`
  Возвращает остаток строки после num вхождения token в строку value.
  `static final List<Integer>`
  `toIntegerList(String valuesStr)`
  Преобразует строку с разделителями - запятыми или точками с запятой к списку Integer.
  `static final List<Integer>`
  `toIntegerList(String valuesStr, String delims)`
  Преобразует строку с произвольными разделителями - символами в delims в список Integer.
  `static final Set<Integer>`
  `toIntegerSet(String valuesStr)`
  Преобразование строки, разделенной запятыми к набору Integer.
  `static final List<String>`
  `toList(String valuesStr)`
  Преобразует строку разделённую , либо ; в список строк.
  `static final List<String>`
  `toList(String value, String delims)`
  Converts a string with obitary delimeter chars to list of strings.
  `static final Set<String>`
  `toSet(String valuesStr)`
  Преобразует строку разделённую , либо ; в набор строк.
  `static final Set<String>`
  `toSet(String valuesStr, String delims)`
  Преобразует строку разделённую произвольными разделителями - симвоолами в delims в набор строк.
  `static final String`
  `toString(Collection<?> valuesList)`
  Вызывается `toString(Collection, String, String)` с параметром emptyValue="", delim=`DEFAULT_DELIM`.
  `static final String`
  `toString(Collection<?> valuesList, String emptyValue, String delim)`
  Преобразовывает коллекцию в строку, разделенную значениями delim.
  `static final String`
  `toText(List<String> config, String separator)`
  Converts a string with obitary delimeter chars to set of strings.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_DELIM

    public static final String DEFAULT_DELIM
    Default delimiter: ", "
    See Also:
      - Constant Field Values

  - ### HEX

    public static final char[] HEX

  - ### HEX_LOWERCASE

    public static final char[] HEX_LOWERCASE

- ## Constructor Details

  - ### Utils

    public Utils()

- ## Method Details

  - ### parseInt

    public static int parseInt(String str)
    Преобразует строку в int, в случае ошибки возращает 0.
    Parameters:
      `str` - входная строка
    Returns:
      число преобразованное из строки или 0 в случае ошибки

  - ### parseInt

    public static int parseInt(String str, int defaultValue)
    Преобразует строку в int, в случае ошибки возращает defaultValue.
    Parameters:
      `str` - входная строка
      `defaultValue` - значение возращаемое в случае ошибки при преобразовании
    Returns:
      число преобразованное из строки или defaultValue в случае ошибки

  - ### parseLong

    public static long parseLong(String str)
    Преобразует строку в long, в случае ошибки возращает 0.
    Parameters:
      `str` - входная строка
    Returns:
      число преобразованное из строки или 0 в случае ошибки

  - ### parseLong

    public static long parseLong(String str, long defaultValue)
    Преобразует строку в long, в случае ошибки возращает defaultValue.
    Parameters:
      `str` - входная строка
      `defaultValue` - значение возращаемое в случае ошибки при преобразовании
    Returns:
      число преобразованное из строки или defaultValue в случае ошибки

  - ### parseBigDecimal

    public static BigDecimal parseBigDecimal(Object obj, BigDecimal defaultValue)
    Converts an object's string representation to a decimal object.
    Parameters:
      `obj` - the object.
      `defaultValue` - the default value in case of parsing exception.
    Returns:
      decimal object, `defaultValue` for any unparsable value.

  - ### parseBigDecimal

    public static BigDecimal parseBigDecimal(Object obj)
    Converts an object's string representation to a decimal object.
    Parameters:
      `obj` - the object.
    Returns:
      decimal object, `null` when `str` was `null`, `BigDecimal.ZERO` for any unparsable value.

  - ### parseBoolean

    public static boolean parseBoolean(String str)
    Вызывает функию
    invalid reference

        #parseBoolean(String, boolean)

    со вторым параметром false.
    Parameters:
      `str` -
    Returns:

  - ### isStringNumber

    public static boolean isStringNumber(String str)
    Определяет хранится ли в строке число.
    Parameters:
      `str` -
    Returns:

  - ### parseBoolean

    public static Boolean parseBoolean(String str, Boolean defaultValue)
    Converts a string to a boolean
    Parameters:
      `str` - the string
      `defaultValue` - the default value
    Returns:
      `true` - for `str` "1", "TRUE", "YES", "ON" case insensitive; `false` - for `str` "0", "FALSE", "NO" case insensitive; all other cases - `defaultValue`

  - ### booleanToStringInt

    public static final String booleanToStringInt(boolean value)
    Преобразует boolean в строку "1" или "0".
    Parameters:
      `value` -
    Returns:

  - ### maskNull

    public static final <T> T maskNull(T value, T defaultValue)
    Возвращает объект либо иное значение, если объект null.
    Parameters:
      `value` -
    Returns:

  - ### maskNull

    public static final String maskNull(String value)
    Преобразует входную строку в пустую, если она null.
    Parameters:
      `value` -
    Returns:

  - ### maskNullDecimal

    public static final BigDecimal maskNullDecimal(BigDecimal value)
    Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.
    Parameters:
      `value` -
    Returns:

  - ### emptyToNull

    public static final <T, C extends Collection<T>> C emptyToNull(C value)
    Converts to `null` an empty collection
    Parameters:
      `value` - the input collection
    Returns:
      the input collection, if it is not empty, or `null`

  - ### maskEmpty

    public static final String maskEmpty(String value, String defaultValue)
    Преобразует входную строку в значение по-умолчанию, если она null или пустая.
    Parameters:
      `value` -
    Returns:

  - ### isEmptyString

    public static final boolean isEmptyString(String value)
    Проверяет, является ли строка пустой или null.
    Parameters:
      `value` - проверяемая строка
    Returns:
      true - если пустая или null

  - ### isBlankString

    public static final boolean isBlankString(String value)
    Проверяет, является ли строка пустой, состоящей из пробельных символов или null.
    Parameters:
      `value` - проверяемая строка
    Returns:
      true если пустая, состоит из пробельных символов или null

  - ### notEmptyString

    public static final boolean notEmptyString(String value)
    Проверяет, является ли строка пустой или null.
    Parameters:
      `value` - проверяемая строка
    Returns:
      false если пустая или null

  - ### notBlankString

    public static final boolean notBlankString(String value)
    Checks if string value is blank.
    Parameters:
      `value` - checked value.
    Returns:
      `false` when `value` is `null`, empty or has only whitespace chars.

  - ### notBlankStrings

    public static final boolean notBlankStrings(String... value)
    Checks all the passed values with `notBlankString(String)`.
    Parameters:
      `value` - values.
    Returns:
      `value` is not null, all the values aren't blank.

  - ### countLines

    public static final int countLines(String value)
    Counts the number of lines in string
    Parameters:
      `value` - the string
    Returns:
      the count of `\n` chars

  - ### isPositive

    public static final boolean isPositive(Integer value)
    Is the integer value greater than zero. To do not create lambda functions.
    Parameters:
      `value` -
    Returns:

  - ### isValidEmail

    public static final boolean isValidEmail(String value)
    Is the string a valid Email address.
    Parameters:
      `value` -
    Returns:

  - ### toString

    public static final String toString(Collection<?> valuesList)
    Вызывается `toString(Collection, String, String)` с параметром emptyValue="", delim=`DEFAULT_DELIM`.
    Parameters:
      `valuesList` -
    Returns:

  - ### toString

    public static final String toString(Collection<?> valuesList, String emptyValue, String delim)
    Преобразовывает коллекцию в строку, разделенную значениями delim.
    Parameters:
      `valuesList` - коллектиция
      `emptyValue` - значение при пустом списке
      `delim` - разделитель
    Returns:

  - ### toIntegerList

    public static final List<Integer> toIntegerList(String valuesStr)
    Преобразует строку с разделителями - запятыми или точками с запятой к списку Integer.
    Parameters:
      `valuesStr` -
    Returns:

  - ### toIntegerList

    public static final List<Integer> toIntegerList(String valuesStr, String delims)
    Преобразует строку с произвольными разделителями - символами в delims в список Integer.
    Parameters:
      `valuesStr` -
      `delims` -
    Returns:

  - ### toIntegerSet

    public static final Set<Integer> toIntegerSet(String valuesStr)
    Преобразование строки, разделенной запятыми к набору Integer.
    Parameters:
      `valuesStr` -
    Returns:

  - ### toSet

    public static final Set<String> toSet(String valuesStr, String delims)
    Преобразует строку разделённую произвольными разделителями - симвоолами в delims в набор строк.
    Parameters:
      `valuesStr` -
      `delims` -
    Returns:

  - ### toSet

    public static final Set<String> toSet(String valuesStr)
    Преобразует строку разделённую , либо ; в набор строк.
    Parameters:
      `valuesStr` -
    Returns:

  - ### toList

    public static final List<String> toList(String valuesStr)
    Преобразует строку разделённую , либо ; в список строк.
    Parameters:
      `valuesStr` -
    Returns:

  - ### toList

    public static final List<String> toList(String value, String delims)
    Converts a string with obitary delimeter chars to list of strings.
    Parameters:
      `value` - incoming string.
      `delims` - delimeter chars.
    Returns:
      list of tokens, each of that is not empty string.

  - ### toText

    public static final String toText(List<String> config, String separator)
    Converts a string with obitary delimeter chars to set of strings.
    Parameters:
      `value` - incoming string.
      `delims` - delimeter chars.
    Returns:
      set of tokens, each of that is not empty string.

  - ### getObjectIdsList

    public static final <T extends IdTitle> List<Integer> getObjectIdsList(Collection<T> list)
    Возвращает список кодов объектов.
    Parameters:
      `list` -
    Returns:

  - ### getObjectIdsSet

    public static final <T extends IdTitle> Set<Integer> getObjectIdsSet(Collection<T> list)
    Возаращает набор кодов объектов.
    Parameters:
      `list` -
    Returns:

  - ### getObjectIds

    public static final <T extends Id<Integer>> String getObjectIds(Collection<T> values)
    Comma separated object IDs
    Parameters:
      `values` - the objects
    Returns:

  - ### getObjectIds

    public static final <T extends Id<Integer>> String getObjectIds(Collection<T> values, String startValues)
    Comma separated object IDs
    Parameters:
      `values` - the objects
      `startValues` - beginning of the resulting string
    Returns:

  - ### getObjectIds

    public static <T extends Id<Integer>> String getObjectIds(Collection<T> values, String startValues, String delim)
    Separated object IDs
    Parameters:
      `values` - the objects
      `startValues` - beginning of the resulting string
      `delim` - the separator
    Returns:

  - ### getObjectTitles

    public static final <T extends Title> String getObjectTitles(Collection<T> list)
    Concatenates object titles to a comma separated string.
    Parameters:
      `list` - the list of titled objects
    Returns:
      comma separated string

  - ### getObjectTitles

    public static <T extends IdTitle> String getObjectTitles(List<T> fullList, Set<Integer> selectedIds)
    Concatenates object titles to a comma separated string.
    Parameters:
      `fullList` - the full object list, defines the resulting order
      `selectedIds` - the selected IDs
    Returns:
      comma separated string

  - ### getObjectTitles

    public static final <T extends IdTitle> String getObjectTitles(Map<Integer,T> fullMap, List<Integer> selectedIds)
    Concatenates object titles to a comma separated string.
    Parameters:
      `fullMap` - the full object map
      `selectedIds` - the selected IDs, defines the resulting order
    Returns:
      comma separated string

  - ### getObjectList

    public static final <T extends IdTitle> List<T> getObjectList(List<T> fullList, Collection<Integer> selectedIds)
    Selects objects sub-list from a given full list with IDs presented in a collection.
    Parameters:
      `fullList` - the full list.
      `selectedIds` - the IDs collection.
    Returns:

  - ### getObjectList

    public static final <T extends IdTitle> List<T> getObjectList(Map<Integer,T> fullMap, List<Integer> selectedIds)
    Selects objects list from a full map by a given IDs list in the same order.
    Parameters:
      `fullMap` - the full objects map.
      `selectedIds` - the IDs list.
    Returns:

  - ### parseIdTitleList

    public static final List<IdTitle> parseIdTitleList(String value)
    Возвращает список объектов из строки вида код:наименование; код:наименование.
    Parameters:
      `value` -
    Returns:

  - ### parseIdTitleList

    public static final List<IdTitle> parseIdTitleList(String value, String noPairValue)
    Возвращает список объектов из строки вида код:наименование; код:наименование. Если значение для второго элемента пары не указано, будет использовано переданное в параметре noPairValue
    Parameters:
      `value` -
      `noPairValue` -
    Returns:

  - ### addSetupPair

    public static final void addSetupPair(StringBuilder data, String prefix, String param, String value)

  - ### addCommaSeparated

    public static final void addCommaSeparated(StringBuilder result, String value)
    Добавляет в конец строки новое значение, отделяя запятой с пробелом, если он не первый.
    Parameters:
      `result` -
      `value` -

  - ### addSeparated

    public static final void addSeparated(StringBuilder result, String separator, String value)

  - ### getDigest

    public static String getDigest(String value)
    Вызывает `getDigest(String, String)` с кодировкой UTF-8.
    Parameters:
      `value` -
    Returns:

  - ### getDigest

    public static String getDigest(String value, String charset)
    Возвращает строковое представление MD5 хэша от входной строки.
    Parameters:
      `value` - входные данные
      `charset` - кодировка
    Returns:
      строка

  - ### getDigest

    public static String getDigest(byte[] value)
    HEX representation of MD5 digest.
    Parameters:
      `value` - digest basic.
    Returns:
      digest HEX string or `null` in case of any error.

  - ### getTmpDir

    public static String getTmpDir()
    System temp directory.
    Returns:
      value of system property 'java.io.tmpdir', or '/tmp' if it is missing.

  - ### createDirectoryIfNoExistInWorkDir

    public static final File createDirectoryIfNoExistInWorkDir(String dirName)
    Creates a directory with a given name in working directory if it does not exist.
    Parameters:
      `dirName` - the directory name.
    Returns:
      created or existing directory.

  - ### substringAfter

    public static final String substringAfter(String value, String token, int num)
    Возвращает остаток строки после num вхождения token в строку value.
    Parameters:
      `value` -
      `token` -
      `num` -
    Returns:

  - ### generateSecret

    public static final String generateSecret()
    Returns:
      generated random string with 32 ASCII chars.

  - ### getFirst

    public static <T> T getFirst(Collection<T> collection)
    Parameters:
      `collection` - collection of elements.
    Returns:
      the first element from `collection`, or `null` if collection is `null` or empty.

  - ### escapeXml

    public static String escapeXml(String value)
    Calls `Functions.escapeXml(String)` - replaces XML markup symbols to special codes.
    Parameters:
      `value` -
    Returns:
      the input string with replacements

  - ### htmlEncode

    public static String htmlEncode(String value)
    Calls `UtilFunction.htmlEncode(String)` - replaces only HTML tags.
    Parameters:
      `value` -
    Returns:

  - ### getOpenId

    public static int getOpenId(String url)
    Extracts entity ID from URL.
    Parameters:
      `url` - URL.
    Returns:
      extracted positive ID or `0` if couldn't extract.

  - ### setFileNameHeaders

    public static void setFileNameHeaders(javax.servlet.http.HttpServletResponse response, String fileName)
    Sets HTTP headers for downloaded file.
    Parameters:
      `response` -
      `fileName` -

  - ### errorAndExit

    public static void errorAndExit(int code, String message)
    Writes error message and exists the running application.
    Parameters:
      `code` - exit code.
      `message` - message.

  - ### newInstance

    @Deprecated public static Object newInstance(String className, Object... args) throws Exception
    Deprecated.
    The method does special JSP-specific type converting, therefore must not be called from Java code.
    Throws:
      `Exception`

  - ### hasClass

    public static boolean hasClass(Object o, String... names)
    Checks if object is instance one of classes.
    Parameters:
      `o` - the object to check.
      `names` - class names.
    Returns:
      if object `o` is instance any of `names` classes.

  - ### getSystemProperty

    public static String getSystemProperty(String key, String defaultValue)
    Retrieves a property value from `System.getProperty(String)`.
    Parameters:
      `key` - the key is prepended by `bgerp.`
      `defaultValue` - the default value if no property found.
    Returns:

  - ### format

    public static String format(BigDecimal value)
    Formats a decimal value to a regular string without trailing zeros.
    Parameters:
      `value` - the decimal value.
    Returns:
      empty string for `null` value, or formatted string.