Package ru.bitel.common

# Class Utils

java.lang.Object
ru.bitel.common.Utils

public class Utils extends Object
Минимальный набор, то что действительно должно быть в utils, как в клиентском так и серверном.
работа с xml в xmlutils, работа с ip в iputils и т.д. Base64 - в отдельном классе + стримы соответствующие.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CODE_VERSION`
  версия биллинга в этой ветке (определение через version info не всегда возможно, да и незачем здесь)
  `static final int`
  `DAY`
  `static final long`
  `GB`
  `static final String`
  `GUID_PREFIX`
  `static final AtomicLong`
  `guidGenerator`
  `static final char[]`
  `HEX`
  `static final char[]`
  `HEX_LOWERCASE`
  `static final int`
  `HOUR`
  `static final long`
  `KB`
  `static final long`
  `MB`
  `static final int`
  `MINUTE`
  `static String`
  `PART`
  `static final Pattern`
  `patternColon`
  `static final Pattern`
  `patternComma`
  `static final Pattern`
  `patternSemicolon`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Utils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final String`
  `booleanToStringInt(boolean value)`
  Возвращает строковое представление boolean в виде числа
  `static final int`
  `BuToI(byte value)`
  Deprecated.
  `static byte[]`
  `byteBufferAsArray(ByteBuffer data)`
  Преобразование буфера байт к массиву байт.
  `static byte[]`
  `byteBufferAsArray(ByteBuffer data, int length)`
  Преобразование буфера байт к массиву байт.
  `static String`
  `bytesToHexString(byte[] value)`
  Преобразование массива байтов в строку вида "02AB03"
  `static int`
  `bytesToInt(byte[] bytes)`
  Возвращает int, полученный из массива длиной от 1 до 4 байт.
  `static int`
  `bytesToInt(byte[] bytes, int pos, int length)`
  Возвращает int, полученный из массива длиной от 1 до 4 байт.
  `static long`
  `bytesToLong(byte[] bytes)`
  Возвращает long, полученный из массива длиной от 1 до 8 байт.
  `static long`
  `bytesToLong(byte[] bytes, int pos, int length)`
  Возвращает long, полученный из массива длиной от 1 до 8 байт.
  `static String`
  `bytesToString(byte[] value)`
  Обратная к функции `hexStringToBytes(String)`, преобразование массива байт к строке вида "02 AB 03"
  `static String`
  `bytesToString(byte[] bytes, boolean upperCase, String delimeter)`
  Преобразование массива байт в HEX строку с указанным разделителем
  `static String`
  `charsetConvert(String value, String encoding)`
  Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировку
  `static String`
  `checkCanReadFiles(File[] files)`
  Проверка что все файлы указанные могут быть прочитаны.
  `static boolean`
  `checkEmail(String email)`
  Проверка email на валидность.
  `static void`
  `checkJava()`
  Проверка java на корректную совместимость с нашим кодом.
  `static final boolean`
  `checkMacAddres(String value)`
  `static String`
  `checkPath(String rawPath)`
  Проверяет путь и заменяет обратные слэши на прямые.
  `static <V> List<V>`
  `concat(List<V> a, List<V> b)`
  Соединяет два листа - создает новый, с содержимым указанных листов.
  `static final Object`
  `convert(Number number, Class<?> clazz)`
  `static final Object`
  `convert(Object o, Class<?> clazz)`
  `static final Object`
  `convert(String text, Class<?> clazz)`
  `static int`
  `convertBytesToInt(byte[] bytes)`
  Возвращает десятичное число, полученное преобразованием шестнадцатеричного
  `static long`
  `convertBytesToLong(byte[] bytes)`
  Возвращает десятичное число, полученное преобразованием шестнадцатеричного
  `static byte[]`
  `convertIntToBytes(int value)`
  Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
  `static byte[]`
  `convertLongToBytes(long value)`
  Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
  `static String`
  `deleteAfterDog(String value)`
  `static String`
  `deleteBeforeSharp(String value)`
  `static boolean`
  `endsWithIgnoreCase(String str, String suffix)`
  Как str.endsWith( suffix ), но ignore case
  `static final long`
  `enumToMask(String mask)`
  Преобразует строку вида "1,2,3" в маску длинного целого.
  `static String`
  `escapeHTML(String s)`
  `static boolean`
  `flush(InputStream inputStream, OutputStream outputStream)`
  Переброс блоками из входящего потока в исходящий.
  `static String`
  `formatBigDecimal(BigDecimal value, int scale)`
  Форматирование децимала до указанного знака после запятой, маскируется NULL.
  `static String`
  `formatBigDecimalSumm(BigDecimal value)`
  Форматирование децимала до второго знака после запятой, маскируется NULL.
  `static String`
  `formatCost(float value)`
  Форматирование числа с плавающей точкой до второго знака после запятой.
  `static String`
  `formatCost(float value, int precission)`
  Форматирование числа с плавающей точкой до второго знака после запятой.
  `static String`
  `formatCost(BigDecimal value)`
  Форматирование в строку цены в стандартном виде
  `static String`
  `formatCost(BigDecimal value, int precission)`
  Форматирование в строку цены в стандартном виде
  `static String`
  `formatCostByGrouping(BigDecimal value, int sizeGroup, int precission)`
  Форматирование в строку цены с группированием.
  Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360
  `static String`
  `formatInteger(int value)`
  `static String`
  `formatLong(long value)`
  `static String`
  `formatPhoneNumber(String value)`
  `static String`
  `formatSessionCost(float value)`
  Форматирование стоимости с плавающей точкой до пятого знака после запятой.
  `static String`
  `formatSessionCost(BigDecimal value)`
  Форматирование в строку цены сессии
  `static String`
  `formatSessionTime(int value)`
  `static String`
  `formatSessionTime2(int value)`
  `static List<Class<?>>`
  `getClassList(String packageName)`
  `static DecimalFormat`
  `getDecimalFormatSumma()`
  `static String`
  `getDigest(String value, String encoding)`
  Возвращает строковое представление MD5 хэша от входной строки.
  `static String`
  `getDigest(String value, String encoding, String algorithm)`
  `static String`
  `getDigest(String value, String encoding, String algorithm, boolean toUpperCase)`
  `static byte[]`
  `getDigestBytes(byte[] value)`
  Возвращает байтовое представление MD5 хэша от входного массива байтов
  `static byte[]`
  `getDigestBytes(byte[] value, String algorithm)`
  `static List<Integer>`
  `getIdList(Collection<? extends Id> items)`
  Получаем список id у списка сущностей, которые наследуют Id.
  `static final Set<Integer>`
  `getIdSet(Collection<? extends Id> collection)`
  Собирание списка id из списка объектов расширяющих Id.
  `static final String`
  `getJavaProperties()`
  `static <E extends Enum<E> & ListItem>
  E`
  `getListItemEnumFromId(Class<E> enumm, int id)`
  Возвращение значения енума, наследующего ListItem по коду id.
  `static <E extends Enum<E> & ListItem>
  E`
  `getListItemEnumFromId(Class<E> enumm, int id, E def)`
  Возвращение значения енума, наследующего ListItem по коду id.
  `static byte[]`
  `getMD4Digest(byte[] input)`
  `static String`
  `getMessage(Document doc)`
  Получение сообщения из ответа сервера.
  `static String`
  `getNamesFiles(File[] files)`
  Список имени файлов в столбик с размерами (для сообщений, например)
  `static String`
  `getOsJavaVersion(boolean full)`
  Инфа о версии java/os в несколько строк через \n.
  `static final String`
  `getSystemVariables()`
  `static String`
  `guid()`
  Генерирует уникальный идентификатор.
  `static byte[]`
  `hexStringToBytes(String value)`
  Преобразование строки вида "02 AB 03" в массив байтов.
  `static String`
  `htmlEncode(String inValue, String ENCODING)`
  `static final String`
  `insertBOM()`
  Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки.
  `static boolean`
  `isArrayString(String string)`
  `static final boolean`
  `isBlankString(String value)`
  Проверяет, является ли строка пустой, состоящей из пробельных символов или null
  `static boolean`
  `isEmptyCollection(Collection<?> collection)`
  Проверяет переданную коллекцию на пустоту или null
  `static final boolean`
  `isEmptyString(String value)`
  Проверяет, является ли строка пустой или null
  `static boolean`
  `isNY()`
  Новогоднее время
  `static final boolean`
  `isZeroFilledArray(byte[] val)`
  Проверяет, заполнен ли байтовый массив целиком нулями.
  `static <V> Iterable<V>`
  `iterable(Collection<V> a, Collection<V> b)`
  Создает Iterable из двух Collection.
  `static long`
  `IuTol(int value)`
  Deprecated.
  `static final long`
  `IuToL(int value)`
  Deprecated.
  `static final Map<String,String>`
  `linesToPairsHash(String lines)`
  Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.
  `static final Map<String,String>`
  `listToMap(List<String[]> pairs)`
  `static void`
  `main(String[] args)`
  `static byte`
  `makeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0)`
  Собирает из 8 битов (0/1) один byte.
  `static final String`
  `maskBlank(String value, String defaultValue)`
  Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчанию
  `static String`
  `maskConfidential(String msg2Mask)`
  Маскировка всех символов для таких строк, как пароли, логины, ключи и т.д.
  `static String`
  `maskEmail(String email)`
  Маскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*m
  `static final Long`
  `maskNull(Long value)`
  Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает 0L (закешированное).
  `static final String`
  `maskNull(String value)`
  Преобразует входную строку в пустую, если она null
  `static final String`
  `maskNull(String value, String def)`
  Преобразует входную строку в указанную, если она null
  `static final BigDecimal`
  `maskNull(BigDecimal value)`
  Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.
  `static final <K> List<K>`
  `maskNull(List<K> value)`
  Преобразует возвращает пустой список.
  `static final <K> Set<K>`
  `maskNull(Set<K> value)`
  `static String`
  `maskPhoneNumber(String phone, int showDigitBegin, int showDigitEnd)`
  `static String`
  `maskToEnum(long mask)`
  Преобразование битовой маски в строку вида 1,2,3.
  `static final String`
  `memoryStatus()`
  Возвращает строку с состоянием памяти приложения и количеством потоков.
  `static final String`
  `memoryStatusShort()`
  Инфа о памяти в виде сокращённого "use / total / max", одной строкой.
  `static final String`
  `multiLetter(String letter, int count)`
  Возвращает строку с продублированной определенное число раз входной строкой
  `static <I> I`
  `newInstance(String name, Class<? extends I> clazz)`
  Возвращает объект класса, заданного именем
  `static MessageDigest`
  `newMD4()`
  MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.
  `static String`
  `normalizeEmail(String email)`
  E-mail очищает/нормализует по возможности, если не удаётся и/или не похоже на мыло, то вернёт null.
  `static String`
  `normalizeFileName(String fileName)`
  удаляет из имени файла символы которые объединяют то что нельзя в винде/линуксе/итд
  `static String`
  `normalizePhone(String phone)`
  Номер телефона очищает/нормализует по возможности, если не удаётся и/или не похоже на телефон, то вернёт null.
  `static final boolean`
  `notBlankString(String value)`
  Проверяет, является ли строка не пустой, не состоящей из пробельных символов и не null
  `static boolean`
  `notEmptyArray(Object[] array)`
  Проверяет переданный массив на пустоту
  `static boolean`
  `notEmptyCollection(Collection<?> collection)`
  Проверяет переданную коллекцию на пустоту.
  `static final boolean`
  `notEmptyString(String value)`
  Проверяет, является ли строка не пустой и не null
  `static long`
  `packValues(Collection<String> values, int base)`
  Обратная распаковке.
  `static final int`
  `pageCount(int count, int onPage)`
  Расчёт количества страниц
  `static final String`
  `pairHashToString(Map<String,String> param)`
  Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
  `static final String`
  `pairToString(List<String[]> param)`
  Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
  `static final String`
  `pairToString(List<String[]> param, String pairsDelim, String pairDelim)`
  Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.
  `static BigDecimal`
  `parseBigDecimal(String str, BigDecimal defaultValue)`
  Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.
  `static BigDecimal`
  `parseBigDecimalSumma(String str)`
  Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal).
  `static boolean`
  `parseBoolean(String str)`
  Разбирается Boolean-строка.
  `static boolean`
  `parseBoolean(String str, boolean defaultValue)`
  Разбирается Boolean-строка.
  `static double`
  `parseDouble(String str, double defaultValue)`
  Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчанию
  `static <T extends Enum<T>>
  T`
  `parseEnum(Class<T> enumType, String name, T defaultValue)`
  `static float`
  `parseFloat(String str, float defaultValue)`
  Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.
  `static int`
  `parseInt(String str)`
  Преобразует строку в целое число, и, в случае ошибки, возвращает 0.
  `static int`
  `parseInt(String str, int defaultValue)`
  Преобразует строку в целое число, и, в случае ошибки, возвращает значение по умолчанию.
  `static Integer`
  `parseInteger(String str, Integer defaultValue)`
  Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию.
  `static long`
  `parseLong(String str)`
  Преобразует строку в long число, и, в случае ошибки, возвращает 0.
  `static long`
  `parseLong(String str, long defaultValue)`
  Преобразует строку в long число, и, в случае ошибки, возвращает значение по умолчанию.
  `static Period`
  `parsePeriod(String date1, String date2, Period defaultPeriod)`
  `static String`
  `randomAlphanumeric(int count)`
  Возвращает псевдослучайную последовательность из алфавитно-цифровых символов
  `static UUID`
  `randomUUIDv7()`
  `static byte[]`
  `readByBlock(InputStream input)`
  Возвращает массив байтов, полученных поблочным чтением входного потока.
  `static void`
  `readFullBuffer(InputStream is, byte[] buffer)`
  `static void`
  `readFullBuffer(Reader reader, char[] buffer)`
  Вычитываем полный буфер символов (может ведь по кускам приходить).
  `static final byte[]`
  `removeZeroTail(byte[] data)`
  `static BigDecimal`
  `roundBigDecimalSumm(BigDecimal value)`
  Округление децимала до второго знака после запятой.
  `static boolean`
  `startsWithIgnoreCase(String str, String prefix)`
  Как str.startsWith( prefix ), но ignore case
  `static byte[]`
  `stringToBytes(String s, String delimeter)`
  Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.
  `static final List<String[]>`
  `stringToPairs(String param)`
  Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.
  `static final List<String[]>`
  `stringToPairs(String param, String pairsDelim, String pairDelim)`
  Разбив строки пар в список массивов из двух элементов.
  `static final Map<String,String>`
  `stringToPairsHash(String param)`
  Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.
  `static String`
  `swapWords(String str)`
  Меняет местами четные символы с соответствующими нечетными
  `static boolean`
  `testBit(byte b, int n)`
  Установлен ли бит в байте.
  `static boolean`
  `testBit(int b, int n)`
  Установлен ли бит в байте (представленный интом)
  `static final List<BigDecimal>`
  `toBigDecimalList(String valuesStr)`
  `static final int[]`
  `toIntArray(String valuesStr)`
  Похожа на `toList(String)`.
  `static final List<Integer>`
  `toIntegerList(String valuesStr)`
  Похожа на `toList(String)`.
  `static List<Integer>`
  `toIntegerList(org.json.JSONArray jsonArray)`
  `static final Set<Integer>`
  `toIntegerSet(String valuesStr)`
  Преобразование строки, разделенной запятыми к набору Integer.
  `static org.json.JSONArray`
  `toJsonArray(List<Integer> ids)`
  `static final List<String>`
  `toList(String valuesStr)`
  Обратная к
  invalid reference

      #toString(Collection)

  .
  `static final List<String>`
  `toList(String valuesStr, String delim)`
  Разбивает строку на список компоненов, разбитых по указанному разделителю.
  `static final List<Long>`
  `toLongList(String valuesStr)`
  Похожа на `toList(String)`, `toIntegerList(String)`.
  `static final Set<Long>`
  `toLongSet(String valuesStr)`
  `static final Set<String>`
  `toSet(String valuesStr)`
  Разбивает строку на множество компонентов, разбитых по запятым.
  `static final String`
  `toString(Iterable<?> valuesList)`
  преобразует коллекцию строк в строку через запятую
  `static final String`
  `toString(Iterable<?> valuesList, String delim)`
  преобразует коллекцию строк в строку через значок
  `static final String`
  `toString(Object[] valuesList, String delim)`
  преобразует массив (строк) в строку через значок
  `static final String`
  `toString(List<?> valuesList, int fromPos)`
  Преобразует список строк в строку эти же строки через запятую, начиная с какой то позиции
  `static final String`
  `toString(List<?> valuesList, String delim, int fromPos)`
  `static final String`
  `toString(Map<?,?> valuesMap, String delim)`
  `static String`
  `toTranslit(String text)`
  Переводит русский текст в транслит.
  `static String`
  `unpackValues(long value, int base)`
  Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1
  `static final int`
  `unsignedByteToInt(byte value)`
  Преобразование байта в целое без знака.
  `static final long`
  `unsignedIntToLong(int value)`
  Преобразование целого лонг без знака.
  `static String`
  `updateConfigParam(String config, String name, String value, String defaultValue)`
  `static byte[]`
  `UUID_asBytes(UUID uuid)`
  `static UUID`
  `UUID_fromBytes(byte[] bytes)`

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

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

- ## Field Details

  - ### HEX

    public static final char[] HEX

  - ### HEX_LOWERCASE

    public static final char[] HEX_LOWERCASE

  - ### KB

    public static final long KB
    See Also:
      - Constant Field Values

  - ### MB

    public static final long MB
    See Also:
      - Constant Field Values

  - ### GB

    public static final long GB
    See Also:
      - Constant Field Values

  - ### MINUTE

    public static final int MINUTE
    See Also:
      - Constant Field Values

  - ### HOUR

    public static final int HOUR
    See Also:
      - Constant Field Values

  - ### DAY

    public static final int DAY
    See Also:
      - Constant Field Values

  - ### patternComma

    public static final Pattern patternComma

  - ### patternSemicolon

    public static final Pattern patternSemicolon

  - ### patternColon

    public static final Pattern patternColon

  - ### PART

    public static String PART

  - ### GUID_PREFIX

    public static final String GUID_PREFIX
    See Also:
      - Constant Field Values

  - ### guidGenerator

    public static final AtomicLong guidGenerator

  - ### CODE_VERSION

    public static final String CODE_VERSION
    версия биллинга в этой ветке (определение через version info не всегда возможно, да и незачем здесь)
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Utils

    public Utils()

- ## Method Details

  - ### 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

  - ### isZeroFilledArray

    public static final boolean isZeroFilledArray(byte[] val)
    Проверяет, заполнен ли байтовый массив целиком нулями.
    Parameters:
      `val` - проверяемый массив.
    Returns:
      true если весь массив заполнен нулями.

  - ### notEmptyString

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

  - ### notBlankString

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

  - ### notEmptyCollection

    public static boolean notEmptyCollection(Collection<?> collection)
    Проверяет переданную коллекцию на пустоту.
    Returns:
      - true - если коллекция не null и size > 0

  - ### isEmptyCollection

    public static boolean isEmptyCollection(Collection<?> collection)
    Проверяет переданную коллекцию на пустоту или null
    Returns:
      true - если коллекция пустая или null

  - ### notEmptyArray

    public static boolean notEmptyArray(Object[] array)
    Проверяет переданный массив на пустоту
    Returns:
      true - если массив не null и длина > 0

  - ### maskNull

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

  - ### maskNull

    public static final String maskNull(String value, String def)
    Преобразует входную строку в указанную, если она null

  - ### maskNull

    public static final <K> List<K> maskNull(List<K> value)
    Преобразует возвращает пустой список.
    Parameters:
      `value` -
    Returns:

  - ### maskNull

    public static final <K> Set<K> maskNull(Set<K> value)

  - ### maskNull

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

  - ### maskNull

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

  - ### maskBlank

    public static final String maskBlank(String value, String defaultValue)
    Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчанию
    Parameters:
      `value` -
      `defaultValue` -
    Returns:

  - ### parseInt

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

  - ### parseInt

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

  - ### parseInteger

    public static Integer parseInteger(String str, Integer defaultValue)
    Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию. Отличие от варианта с примитивами - немаскировка null итд.
    Parameters:
      `str` - строка
      `defaultValue` - значение по умолчанию
    Returns:
    See Also:
      - `parseInt(String, int)`

  - ### parseLong

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

  - ### parseLong

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

  - ### parseFloat

    public static float parseFloat(String str, float defaultValue)
    Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.
    Parameters:
      `str` - строка
      `defaultValue` - значение по умолчанию
    Returns:

  - ### parseDouble

    public static double parseDouble(String str, double defaultValue)
    Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчанию
    Parameters:
      `str` - строка
      `defaultValue` - значение по умолчанию
    Returns:

  - ### parseBigDecimal

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

  - ### parseBigDecimalSumma

    public static BigDecimal parseBigDecimalSumma(String str)
    Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal). Отличие от parseBigDecimal и от оригинальных BigDecimal то что разбирает в качестве разделителя и точку и запятую (в случае попадения на вход числа где-то уже сформатированного в русской локали).
    Parameters:
      `str` - строка представляющая BigDecimal-значение.
    Returns:
      новый объект BigDecimal.

  - ### parseBoolean

    public static boolean parseBoolean(String str, boolean defaultValue)
    Разбирается Boolean-строка. Значения могут быть: 0/1, FALSE/TRUE, NO/YES, ON/OFF без учёта регистра. Приоритетное значение "истина", дефолтное "ложь" т.е. если истина распозналась то вернётся, иначе - ложь.
    Parameters:
      `str` - строка - представление Boolean.
      `defaultValue` - значение по умолчанию.
    Returns:
      если распозналась - возвращается соответствующий Boolean, иначе - значение по умолчанию.

  - ### parseBoolean

    public static boolean parseBoolean(String str)
    Разбирается Boolean-строка. Значения могут быть: 0/1, FALSE/TRUE, NO/YES, ON/OFF без учёта регистра.
    Parameters:
      `str` - строка - представление Boolean
    Returns:
      если распозналась - возвращается соответствующий Boolean, иначе - false

  - ### parsePeriod

    public static Period parsePeriod(String date1, String date2, Period defaultPeriod)

  - ### toList

    public static final List<String> toList(String valuesStr)
    Обратная к
    invalid reference

        #toString(Collection)

    . Разбивает строку на список компоненов, разбитых по запятым.
    Parameters:
      `valuesStr` - исходная строка
    Returns:
      список взорванный по запятым. всегда не null.

  - ### toList

    public static final List<String> toList(String valuesStr, String delim)
    Разбивает строку на список компоненов, разбитых по указанному разделителю.
    Parameters:
      `valuesStr` - исходная строка
      `delim` - разделитель (regex как для String.split), аккуратнее с разделителями типа "." итд
    Returns:
      список взорванный по delim. всегда не null.

  - ### toIntegerList

    public static final List<Integer> toIntegerList(String valuesStr)
    Похожа на `toList(String)`. Разбивает строку на список целочисленных компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.
    Parameters:
      `valuesStr` - исходная строка
    Returns:
      список взорванный по запятым. всегда не null.

  - ### toBigDecimalList

    public static final List<BigDecimal> toBigDecimalList(String valuesStr)

  - ### toIntArray

    public static final int[] toIntArray(String valuesStr)
    Похожа на `toList(String)`. Разбивает строку на список целочисленных компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.
    Parameters:
      `valuesStr` - исходная строка
    Returns:
      int[] массив целых, всегда есть и не null, если входящая строка пустая, то будет пустым. Если между запятыми не числа, распарсится в нули.
    See Also:
      - invalid reference

            #toString(Collection)

      - `toIntegerSet(String)`

  - ### toLongList

    public static final List<Long> toLongList(String valuesStr)
    Похожа на `toList(String)`, `toIntegerList(String)`. Разбивает строку на список Long компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.
    Parameters:
      `valuesStr` - исходная строка
    Returns:
      список взорванный по запятым. всегда не null.

  - ### toSet

    public static final Set<String> toSet(String valuesStr)
    Разбивает строку на множество компонентов, разбитых по запятым.
    Parameters:
      `valuesStr` - исходная строка
    Returns:
      Set строка разбитая по запятым, всегда не null.
    See Also:
      - `toList(String)`

  - ### toIntegerSet

    public static final Set<Integer> toIntegerSet(String valuesStr)
    Преобразование строки, разделенной запятыми к набору Integer. Если между запятыми не числа, распарсятся в нули. Пробелы тримаются.
    Parameters:
      `valuesStr` - строка
    Returns:
      множество целых. всегда не null.
    See Also:
      - invalid reference

            #toString(Collection)

      - `toIntegerList(String)`

  - ### toLongSet

    public static final Set<Long> toLongSet(String valuesStr)

  - ### toString

    public static final String toString(Iterable<?> valuesList)
    преобразует коллекцию строк в строку через запятую
    Parameters:
      `valuesList` - коллекция-итерабл
    Returns:
      String

  - ### toString

    public static final String toString(Iterable<?> valuesList, String delim)
    преобразует коллекцию строк в строку через значок
    Parameters:
      `valuesList` - коллекция-итерабл
    Returns:
      String (если на входе null или пустой итерабл, то "")

  - ### toString

    public static final String toString(Object[] valuesList, String delim)
    преобразует массив (строк) в строку через значок
    Parameters:
      `valuesList` - массив объектов
    Returns:
      String

  - ### toString

    public static final String toString(Map<?,?> valuesMap, String delim)

  - ### toString

    public static final String toString(List<?> valuesList, int fromPos)
    Преобразует список строк в строку эти же строки через запятую, начиная с какой то позиции
    Parameters:
      `valuesList` - List
    Returns:
      String

  - ### toString

    public static final String toString(List<?> valuesList, String delim, int fromPos)

  - ### enumToMask

    public static final long enumToMask(String mask)
    Преобразует строку вида "1,2,3" в маску длинного целого.
    Parameters:
      `mask` - строка
    Returns:
      маска

  - ### maskToEnum

    public static String maskToEnum(long mask)
    Преобразование битовой маски в строку вида 1,2,3. Последний/левый (63-й) бит не обрабатывается и, соответственно, не выводится! Так что и 0xFFFFFFFFFFFFFFFFL и 0x7FFFFFFFFFFFFFFFL даёт "0,1,…,62". TODO используется в группах догогоров в основном, так что непонятно, разобраться бага или фича. если бага — исправить и удалить предупреждение. если фича, то какое-то неявное поведение, значит, удалить этот туду но оставить предупреждение.
    Parameters:
      `mask` - маска, длинное целое
    Returns:
      строка

  - ### formatCost

    public static String formatCost(float value)
    Форматирование числа с плавающей точкой до второго знака после запятой. Зачастую цена во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход.

  - ### formatCost

    public static String formatCost(BigDecimal value)
    Форматирование в строку цены в стандартном виде
    Parameters:
      `value` - значение в БигДецимал
    Returns:
      строка типа 123.45, либо null если на входе null

  - ### formatCost

    public static String formatCost(float value, int precission)
    Форматирование числа с плавающей точкой до второго знака после запятой. Зачастую цена во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход.
    Parameters:
      `value` - значение в БигДецимал
      `precission` - точность после запятой

  - ### formatCost

    public static String formatCost(BigDecimal value, int precission)
    Форматирование в строку цены в стандартном виде
    Parameters:
      `value` - значение в БигДецимал
      `precission` - точность после запятой
    Returns:
      строка типа 123.45, либо null если на входе null

  - ### formatCostByGrouping

    public static String formatCostByGrouping(BigDecimal value, int sizeGroup, int precission)
    Форматирование в строку цены с группированием.
    Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360
    Parameters:
      `value` - - сумма
      `sizeGroup` - - размерность группы, если меньше 1, то будет принят равным 3.
      `precission` - - точность после запятой. Все что после запятой - не группируется
    Returns:
      - строка или null, если value = null

  - ### formatSessionCost

    public static String formatSessionCost(BigDecimal value)
    Форматирование в строку цены сессии
    Parameters:
      `value` - значение в БигДецимал
    Returns:

  - ### formatSessionCost

    public static String formatSessionCost(float value)
    Форматирование стоимости с плавающей точкой до пятого знака после запятой. Зачастую стоимость во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход.

  - ### memoryStatus

    public static final String memoryStatus()
    Возвращает строку с состоянием памяти приложения и количеством потоков.
    Returns:

  - ### memoryStatusShort

    public static final String memoryStatusShort()
    Инфа о памяти в виде сокращённого "use / total / max", одной строкой.

  - ### bytesToHexString

    public static String bytesToHexString(byte[] value)
    Преобразование массива байтов в строку вида "02AB03"
    Parameters:
      `value` -
    Returns:

  - ### hexStringToBytes

    public static byte[] hexStringToBytes(String value)
    Преобразование строки вида "02 AB 03" в массив байтов.
    Parameters:
      `value` - String
    Returns:
      byte[]

  - ### bytesToString

    public static String bytesToString(byte[] value)
    Обратная к функции `hexStringToBytes(String)`, преобразование массива байт к строке вида "02 AB 03"
    Parameters:
      `value` - byte[]
    Returns:
      String

  - ### bytesToString

    public static String bytesToString(byte[] bytes, boolean upperCase, String delimeter)
    Преобразование массива байт в HEX строку с указанным разделителем
    Parameters:
      `bytes` - массив байт
      `upperCase` - если true, то символы результата в верхнем регистре
      `delimeter` - разделитель, например, пробел или дефис
    Returns:

  - ### stringToBytes

    public static byte[] stringToBytes(String s, String delimeter)
    Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.
    Parameters:
      `s` - строка вида 0bcf224ba2 или 0BCF224BA2
      `delimeter` - - разделитель, если он нужен
    Returns:

  - ### byteBufferAsArray

    public static byte[] byteBufferAsArray(ByteBuffer data)
    Преобразование буфера байт к массиву байт.
    Parameters:
      `data` -
    Returns:

  - ### byteBufferAsArray

    public static byte[] byteBufferAsArray(ByteBuffer data, int length)
    Преобразование буфера байт к массиву байт.
    Parameters:
      `data` - буфер.
      `length` - длина данных.
    Returns:

  - ### getIdSet

    public static final Set<Integer> getIdSet(Collection<? extends Id> collection)
    Собирание списка id из списка объектов расширяющих Id.
    Parameters:
      `collection` -
    Returns:

  - ### getSystemVariables

    public static final String getSystemVariables()

  - ### getJavaProperties

    public static final String getJavaProperties()

  - ### newInstance

    public static <I> I newInstance(String name, Class<? extends I> clazz) throws ru.bitel.bgbilling.common.BGException
    Возвращает объект класса, заданного именем
    Parameters:
      `name` - имя класса
      `clazz` - класс, который расширяет класс name
    Returns:
      null - если нет такого класса
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDigestBytes

    public static byte[] getDigestBytes(byte[] value, String algorithm)

  - ### getDigestBytes

    public static byte[] getDigestBytes(byte[] value)
    Возвращает байтовое представление MD5 хэша от входного массива байтов
    Parameters:
      `value` - входные данные
    Returns:
      массив байтов

  - ### getDigest

    public static String getDigest(String value, String encoding)
    Возвращает строковое представление MD5 хэша от входной строки. Обязательно указание кодировки, т.к. дайджест берётся только от байтовой последовательности, дайджест от строки неочевидное поведение имеет в общем случае.
    Parameters:
      `value` - входные данные.
      `encoding` - кодировка, в которой строка представлена (в ней берутся байты из неё).
    Returns:
      строка 16-ричное представление хеша, в upper-case

  - ### getDigest

    public static String getDigest(String value, String encoding, String algorithm)

  - ### getDigest

    public static String getDigest(String value, String encoding, String algorithm, boolean toUpperCase)

  - ### swapWords

    public static String swapWords(String str)
    Меняет местами четные символы с соответствующими нечетными
    Parameters:
      `str` - входная строка
    Returns:

  - ### pageCount

    public static final int pageCount(int count, int onPage)
    Расчёт количества страниц
    Parameters:
      `count` - количество элементов
      `onPage` - количество элементов на странице
    Returns:

  - ### pairToString

    public static final String pairToString(List<String[]> param)
    Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
    Parameters:
      `param` - список с массивами строк из 2х элементов
    Returns:

  - ### pairHashToString

    public static final String pairHashToString(Map<String,String> param)
    Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
    Parameters:
      `param` - мап с парами ключ-значение
    Returns:

  - ### pairToString

    public static final String pairToString(List<String[]> param, String pairsDelim, String pairDelim)
    Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.
    Parameters:
      `param` - список строковых массивов из 2х элементов
      `pairsDelim` - разделитель пар
      `pairDelim` - разделитель пары
    Returns:

  - ### stringToPairs

    public static final List<String[]> stringToPairs(String param)
    Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.
    Parameters:
      `param` -
    Returns:

  - ### stringToPairsHash

    public static final Map<String,String> stringToPairsHash(String param)
    Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.
    Parameters:
      `param` -
    Returns:

  - ### linesToPairsHash

    public static final Map<String,String> linesToPairsHash(String lines)
    Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.
    Parameters:
      `param` -
    Returns:

  - ### listToMap

    public static final Map<String,String> listToMap(List<String[]> pairs)

  - ### stringToPairs

    public static final List<String[]> stringToPairs(String param, String pairsDelim, String pairDelim)
    Разбив строки пар в список массивов из двух элементов.
    Parameters:
      `param` - строка пар
      `pairsDelim` - разделитель между парами
      `pairDelim` - разделитель пары
    Returns:

  - ### readByBlock

    public static byte[] readByBlock(InputStream input) throws IOException
    Возвращает массив байтов, полученных поблочным чтением входного потока. Вычитывает весь InputStream, пока читается. В результате помещает всё в один массив byte[] ровно такой длины, сколько считалось. Оборачивает и читает через BufferedInputStream.
    Parameters:
      `input` - входной поток
    Returns:
      byte[]
    Throws:
      `IOException`

  - ### flush

    public static boolean flush(InputStream inputStream, OutputStream outputStream) throws IOException
    Переброс блоками из входящего потока в исходящий. Ничего после чтения не закрывается. Ничего после записи не флушится. При ошибках выкидывает наружу. Работает синхронно. Для асинхронного связывания см. StreamConnector.
    Parameters:
      `inputStream` - входной стрим.
      `outputStream` - выходной стрим.
    Throws:
      `IOException` - при ошибках I/O.

  - ### readFullBuffer

    public static void readFullBuffer(Reader reader, char[] buffer) throws IOException
    Вычитываем полный буфер символов (может ведь по кускам приходить). Типа для подстраховки. Гарантированно заполняем весь буфер.
    Parameters:
      `reader` - ридер
      `buffer` - буфер нужной длины, который надо до конца заполнить
    Throws:
      `IOException` - при ошибке чтения или есть на буфер не хватило байт

  - ### readFullBuffer

    public static void readFullBuffer(InputStream is, byte[] buffer) throws IOException
    Throws:
      `IOException`

  - ### getMessage

    public static String getMessage(Document doc) throws Exception
    Получение сообщения из ответа сервера. В общих утилсах, т.к. используется WiFi порталом.
    Parameters:
      `doc` -
    Returns:
    Throws:
      `Exception`

  - ### multiLetter

    public static final String multiLetter(String letter, int count)
    Возвращает строку с продублированной определенное число раз входной строкой
    Parameters:
      `letter` - входная строка
      `count` - количество повторений
    Returns:

  - ### randomAlphanumeric

    public static String randomAlphanumeric(int count)
    Возвращает псевдослучайную последовательность из алфавитно-цифровых символов
    Parameters:
      `count` - длина последовательности
    Returns:

  - ### BuToI

    @Deprecated public static final int BuToI(byte value)
    Deprecated.
    Использовать `unsignedByteToInt(byte)`
    Parameters:
      `value` -
    Returns:

  - ### IuTol

    @Deprecated public static long IuTol(int value)
    Deprecated.
    Использовать `unsignedIntToLong(int)`
    Parameters:
      `value` -
    Returns:

  - ### IuToL

    @Deprecated public static final long IuToL(int value)
    Deprecated.
    Использовать `unsignedIntToLong(int)`
    Parameters:
      `value` -
    Returns:

  - ### unsignedByteToInt

    public static final int unsignedByteToInt(byte value)
    Преобразование байта в целое без знака.
    Parameters:
      `value` -
    Returns:

  - ### unsignedIntToLong

    public static final long unsignedIntToLong(int value)
    Преобразование целого лонг без знака.
    Parameters:
      `value` -
    Returns:

  - ### convertBytesToInt

    public static int convertBytesToInt(byte[] bytes)
    Возвращает десятичное число, полученное преобразованием шестнадцатеричного
    Parameters:
      `bytes` - массив байтов: шестнадцатеричное число
    Returns:

  - ### bytesToInt

    public static int bytesToInt(byte[] bytes)
    Возвращает int, полученный из массива длиной от 1 до 4 байт. При bytes==null или при bytes.length==0 вернет 0. При bytes.length>4 бросит IllegalArgumentException. Значения длиной 1-3 байта интерпретируются как UNSIGNED.
    Parameters:
      `bytes` -
    Returns:

  - ### bytesToInt

    public static int bytesToInt(byte[] bytes, int pos, int length)
    Возвращает int, полученный из массива длиной от 1 до 4 байт. При bytes==null или при bytes.length==0 вернет 0. При bytes.length>4 бросит IllegalArgumentException. Значения длиной 1-3 байта интерпретируются как UNSIGNED.
    Parameters:
      `bytes` -
    Returns:

  - ### bytesToLong

    public static long bytesToLong(byte[] bytes)
    Возвращает long, полученный из массива длиной от 1 до 8 байт. При bytes==null или при bytes.length==0 вернет 0. При bytes.length>8 бросит IllegalArgumentException. Значения длиной 1-7 байт интерпретируются как UNSIGNED.
    Parameters:
      `bytes` -
    Returns:

  - ### bytesToLong

    public static long bytesToLong(byte[] bytes, int pos, int length)
    Возвращает long, полученный из массива длиной от 1 до 8 байт. При bytes==null или при bytes.length==0 вернет 0. При bytes.length>8 бросит IllegalArgumentException. Значения длиной 1-7 байт интерпретируются как UNSIGNED.
    Parameters:
      `bytes` -
    Returns:

  - ### convertBytesToLong

    public static long convertBytesToLong(byte[] bytes)
    Возвращает десятичное число, полученное преобразованием шестнадцатеричного
    Parameters:
      `bytes` - массив байтов: шестнадцатеричное число
    Returns:

  - ### convertIntToBytes

    public static byte[] convertIntToBytes(int value)
    Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
    Parameters:
      `value` -
    Returns:

  - ### convertLongToBytes

    public static byte[] convertLongToBytes(long value)
    Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
    Parameters:
      `value` -
    Returns:

  - ### formatLong

    public static String formatLong(long value)

  - ### formatBigDecimal

    public static String formatBigDecimal(BigDecimal value, int scale)
    Форматирование децимала до указанного знака после запятой, маскируется NULL.
    Parameters:
      `value` -
      `scale` -
    Returns:
    See Also:
      - `BigDecimal.toString()`
      - `RoundingMode.HALF_UP`

  - ### formatBigDecimalSumm

    public static String formatBigDecimalSumm(BigDecimal value)
    Форматирование децимала до второго знака после запятой, маскируется NULL.
    Parameters:
      `value` -
    Returns:
    See Also:
      - `BigDecimal.toString()`
      - `RoundingMode.HALF_UP`

  - ### roundBigDecimalSumm

    public static BigDecimal roundBigDecimalSumm(BigDecimal value)
    Округление децимала до второго знака после запятой.
    Parameters:
      `value` -
    Returns:

  - ### checkMacAddres

    public static final boolean checkMacAddres(String value)

  - ### removeZeroTail

    public static final byte[] removeZeroTail(byte[] data)

  - ### booleanToStringInt

    public static final String booleanToStringInt(boolean value)
    Возвращает строковое представление boolean в виде числа
    Parameters:
      `value` -
    Returns:
      "1" - если value = true, "0" - если value = false

  - ### formatPhoneNumber

    public static String formatPhoneNumber(String value)

  - ### isArrayString

    public static boolean isArrayString(String string)

  - ### deleteAfterDog

    public static String deleteAfterDog(String value)

  - ### deleteBeforeSharp

    public static String deleteBeforeSharp(String value)

  - ### formatSessionTime

    public static String formatSessionTime(int value)

  - ### formatSessionTime2

    public static String formatSessionTime2(int value)

  - ### formatInteger

    public static String formatInteger(int value)

  - ### charsetConvert

    public static String charsetConvert(String value, String encoding)
    Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировку
    Parameters:
      `value` - входная строка
      `encoding` - кодировка

  - ### toTranslit

    public static String toTranslit(String text)
    Переводит русский текст в транслит. В результирующей строке каждая кириллическая буква будет заменена на соответствующую латинскую. Пиндоские символы останутся прежними.
    Parameters:
      `text` - исходный текст с русскими символами
    Returns:
      результат

  - ### newMD4

    public static MessageDigest newMD4() throws NoSuchAlgorithmException
    MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.
    Returns:
    Throws:
      `NoSuchAlgorithmException`

  - ### getMD4Digest

    public static byte[] getMD4Digest(byte[] input) throws NoSuchAlgorithmException
    Throws:
      `NoSuchAlgorithmException`

  - ### checkEmail

    public static boolean checkEmail(String email)
    Проверка email на валидность. Используется создание InternetAddress.
    Parameters:
      `email` - мыло
    Returns:
      true, если корректное

  - ### getListItemEnumFromId

    public static <E extends Enum<E> & ListItem> E getListItemEnumFromId(Class<E> enumm, int id, E def)
    Возвращение значения енума, наследующего ListItem по коду id. Используется в поиске по коду цифровому значения при использовании enum в качестве справочника перечислимых констант. Использование:
    `CurrencyBank bank = getListItemEnumFromId( CurrencyBank.class, 1002 )`
    Parameters:
      `enumm` - - класс enum-типа
      `id` - числовой id искомого enum-значения
      `def` - по умолчанию (если не нашлось ничего)
    Returns:
      енум-значение с id искомым или def если таковой не найден

  - ### getListItemEnumFromId

    public static <E extends Enum<E> & ListItem> E getListItemEnumFromId(Class<E> enumm, int id)
    Возвращение значения енума, наследующего ListItem по коду id. По умолчанию возвращает null.
    Returns:
      енум-значение с id искомым или null если таковой не найден.
    See Also:
      - `getListItemEnumFromId(Class, int, Enum)`

  - ### unpackValues

    public static String unpackValues(long value, int base)
    Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1
    Parameters:
      `value` -
      `base` -
    Returns:

  - ### packValues

    public static long packValues(Collection<String> values, int base)
    Обратная распаковке. Преобразует последовательности чисел (возможно, через дефис) в битовую маску.
    Parameters:
      `values` - значения элементов вида 1,2,5-7,9-12 итд
      `base` - база, число, с которого начинается отсчёт. Типа с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1.
    Returns:
      длинное целое - маска.

  - ### convert

    public static final Object convert(Object o, Class<?> clazz)

  - ### convert

    public static final Object convert(Number number, Class<?> clazz)

  - ### convert

    public static final Object convert(String text, Class<?> clazz)

  - ### checkPath

    public static String checkPath(String rawPath)
    Проверяет путь и заменяет обратные слэши на прямые. Добавляет слэш в конце, если он отсутствует.
    Parameters:
      `rawPath` - необработанный путь
    Returns:
      обработанный путь

  - ### escapeHTML

    public static String escapeHTML(String s)

  - ### checkJava

    public static void checkJava() throws ru.bitel.bgbilling.common.BGException
    Проверка java на корректную совместимость с нашим кодом. Проверяется версия спецификации, название реализации vm и было ли корректно обновлено всё, что касается часовых поясов. Для мягкого сообщения отловить экзепшен и вывести мессаж. А вообще по-хорошему запускать программу не нужно, если работа корректная невозможна, то работать вообще никак не нужно.
    Throws:
      `ru.bitel.bgbilling.common.BGException` - при несовместимости. В один экзепшен собираются все предупреждения через '\n'.

  - ### getOsJavaVersion

    public static String getOsJavaVersion(boolean full)
    Инфа о версии java/os в несколько строк через \n. Краткая или полная.

  - ### guid

    public static String guid()
    Генерирует уникальный идентификатор. Используется для генерации уникального id для контролов в web.
    Returns:
      строка.

  - ### parseEnum

    public static <T extends Enum<T>> T parseEnum(Class<T> enumType, String name, T defaultValue)

  - ### getDecimalFormatSumma

    public static DecimalFormat getDecimalFormatSumma()

  - ### checkCanReadFiles

    public static String checkCanReadFiles(File[] files)
    Проверка что все файлы указанные могут быть прочитаны. Если не так, то возвращает сообщение списка файлов.

  - ### getNamesFiles

    public static String getNamesFiles(File[] files)
    Список имени файлов в столбик с размерами (для сообщений, например)

  - ### maskEmail

    public static String maskEmail(String email)
    Маскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*m
    Parameters:
      `email` -
    Returns:

  - ### maskPhoneNumber

    public static String maskPhoneNumber(String phone, int showDigitBegin, int showDigitEnd)

  - ### maskConfidential

    public static String maskConfidential(String msg2Mask)
    Маскировка всех символов для таких строк, как пароли, логины, ключи и т.д. Заменяются все символы на '*' с сохранением длины строки.
    Parameters:
      `msg2Mask` - строка с конфиденциальными данными, которые нужно замаскировать. Например, пароль, логин и т.д.
    Returns:
      строка вида '*****'. Длина строки совпадает с исходной строкой.

  - ### getIdList

    public static List<Integer> getIdList(Collection<? extends Id> items)
    Получаем список id у списка сущностей, которые наследуют Id.
    Parameters:
      `items` - список сущностей, отнаследованных от Id.
    Returns:
      список id сущностей.

  - ### htmlEncode

    public static String htmlEncode(String inValue, String ENCODING)

  - ### insertBOM

    public static final String insertBOM()
    Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки. Это не по стандарту и неправильно, но выхода нет больше. invalid input: '<'xsl:value-of select="utils:insertBOM()"/> Вообще он вставляет BOM для любой кодировки в итоге, т.к. это просто спецсимвол, который при трансформации (или перекодировании) в нужной кодировке превратится в последовательность байт, которая уже является BOM-ом итоговым.

  - ### concat

    public static <V> List<V> concat(List<V> a, List<V> b)
    Соединяет два листа - создает новый, с содержимым указанных листов. Осуществляются проверки на null (обрабатывается как пустой лист).
    Parameters:
      `a` -
      `b` -
    Returns:

  - ### iterable

    public static <V> Iterable<V> iterable(Collection<V> a, Collection<V> b)
    Создает Iterable из двух Collection.
    Parameters:
      `a` -
      `b` -
    Returns:

  - ### getClassList

    public static List<Class<?>> getClassList(String packageName)

  - ### toIntegerList

    public static List<Integer> toIntegerList(org.json.JSONArray jsonArray)

  - ### toJsonArray

    public static org.json.JSONArray toJsonArray(List<Integer> ids)

  - ### testBit

    public static boolean testBit(byte b, int n)
    Установлен ли бит в байте.
    Parameters:
      `b` - байт
      `n` - номер бита (0..7)
    Returns:
      true - установлен, false - снят.

  - ### testBit

    public static boolean testBit(int b, int n)
    Установлен ли бит в байте (представленный интом)
    Parameters:
      `b` - байт в виде int
      `n` - номер бита (0..7)
    Returns:
      true - установлен, false - снят.

  - ### makeByte

    public static byte makeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0)
    Собирает из 8 битов (0/1) один byte.

  - ### isNY

    public static boolean isNY()
    Новогоднее время

  - ### normalizePhone

    public static String normalizePhone(String phone)
    Номер телефона очищает/нормализует по возможности, если не удаётся и/или не похоже на телефон, то вернёт null.

  - ### normalizeEmail

    public static String normalizeEmail(String email)
    E-mail очищает/нормализует по возможности, если не удаётся и/или не похоже на мыло, то вернёт null.

  - ### endsWithIgnoreCase

    public static boolean endsWithIgnoreCase(String str, String suffix)
    Как str.endsWith( suffix ), но ignore case

  - ### startsWithIgnoreCase

    public static boolean startsWithIgnoreCase(String str, String prefix)
    Как str.startsWith( prefix ), но ignore case

  - ### updateConfigParam

    public static String updateConfigParam(String config, String name, String value, String defaultValue)

  - ### normalizeFileName

    public static String normalizeFileName(String fileName)
    удаляет из имени файла символы которые объединяют то что нельзя в винде/линуксе/итд

  - ### randomUUIDv7

    public static UUID randomUUIDv7()

  - ### UUID_fromBytes

    public static UUID UUID_fromBytes(byte[] bytes)

  - ### UUID_asBytes

    public static byte[] UUID_asBytes(UUID uuid)

  - ### main

    public static void main(String[] args)