ru.bitel.common

## Class Utils

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

-     public class Utils
      extends java.lang.Object

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DAY`
    `static long` | `GB`
    `static java.lang.String` | `GUID_PREFIX`
    `static java.util.concurrent.atomic.AtomicLong` | `guidGenerator`
    `static char[]` | `HEX`
    `static char[]` | `HEX_LOWERCASE`
    `static int` | `HOUR`
    `static long` | `KB`
    `static long` | `MB`
    `static int` | `MINUTE`
    `static java.lang.String` | `PART`
    `static java.util.regex.Pattern` | `patternColon`
    `static java.util.regex.Pattern` | `patternComma`
    `static java.util.regex.Pattern` | `patternSemicolon`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Utils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `booleanToStringInt(boolean value)` Возвращает строковое представление boolean в виде числа
    `static int` | `BuToI(byte value)` Deprecated.
    `static byte[]` | `byteBufferAsArray(java.nio.ByteBuffer data)` Преобразование буфера байт к массиву байт.
    `static byte[]` | `byteBufferAsArray(java.nio.ByteBuffer data, int length)` Преобразование буфера байт к массиву байт.
    `static java.lang.String` | `bytesToHexString(byte[] value)` Преобразование массива байтов в строку вида "02AB03"
    `static java.lang.String` | `bytesToString(byte[] value)` Обратная к функции `hexStringToBytes(String)`, преобразование массива байт к строке вида "02 AB 03"
    `static java.lang.String` | `bytesToString(byte[] bytes, boolean upperCase, java.lang.String delimeter)` Преобразование массива байт в HEX строку с указанным разделителем
    `static java.lang.String` | `charsetConvert(java.lang.String value, java.lang.String encoding)` Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировку
    `static java.lang.String` | `checkCanReadFiles(java.io.File[] files)` Проверка что все файлы указанные могут быть прочитаны.
    `static boolean` | `checkEmail(java.lang.String email)` Проверка email на валидность.
    `static void` | `checkJava()` Проверка java на корректную совместимость с нашим кодом.
    `static boolean` | `checkMacAddres(java.lang.String value)`
    `static java.lang.String` | `checkPath(java.lang.String rawPath)` Проверяет путь и заменяет прямые слэши на обратные.
    `static java.lang.Object` | `convert(java.lang.Number number, java.lang.Class<?> clazz)`
    `static java.lang.Object` | `convert(java.lang.Object o, java.lang.Class<?> clazz)`
    `static java.lang.Object` | `convert(java.lang.String text, java.lang.Class<?> clazz)`
    `static int` | `convertBytesToInt(byte[] bytes)` Возвращает десятичное число, полученное преобразованием шестнадцатеричного
    `static long` | `convertBytesToLong(byte[] bytes)` Возвращает десятичное число, полученное преобразованием шестнадцатеричного
    `static byte[]` | `convertIntToBytes(int value)` Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
    `static byte[]` | `convertLongToBytes(long value)` Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного
    `static java.lang.String` | `deleteAfterDog(java.lang.String value)`
    `static java.lang.String` | `deleteBeforeSharp(java.lang.String value)`
    `static long` | `enumToMask(java.lang.String mask)` Преобразует строку вида "1,2,3" в маску длинного целого.
    `static java.lang.String` | `escapeHTML(java.lang.String s)`
    `static boolean` | `flush(java.io.InputStream inputStream, java.io.OutputStream outputStream)` Переброс блоками из входящего потока в исходящий.
    `static java.lang.String` | `formatBigDecimal(java.math.BigDecimal value, int scale)` Форматирование децимала до указанного знака после запятой, маскируется NULL.
    `static java.lang.String` | `formatBigDecimalSumm(java.math.BigDecimal value)` Форматирование децимала до второго знака после запятой, маскируется NULL.
    `static java.lang.String` | `formatCost(java.math.BigDecimal value)` Форматирование в строку цены в стандартном виде
    `static java.lang.String` | `formatCost(java.math.BigDecimal value, int precission)` Форматирование в строку цены в стандартном виде
    `static java.lang.String` | `formatCost(float value)` Форматирование числа с плавающей точкой до второго знака после запятой.
    `static java.lang.String` | `formatCost(float value, int precission)` Форматирование числа с плавающей точкой до второго знака после запятой.
    `static java.lang.String` | `formatPhoneNumber(java.lang.String value)`
    `static java.lang.String` | `formatSessionCost(java.math.BigDecimal value)` Форматирование в строку цены сессии
    `static java.lang.String` | `formatSessionCost(float value)` Форматирование стоимости с плавающей точкой до пятого знака после запятой.
    `static java.lang.String` | `formatSessionTime(int value)`
    `static java.text.DecimalFormat` | `getDecimalFormatSumma()`
    `static java.lang.String` | `getDigest(java.lang.String value, java.lang.String encoding)` Возвращает строковое представление MD5 хэша от входной строки.
    `static java.lang.String` | `getDigest(java.lang.String value, java.lang.String encoding, java.lang.String algorithm)`
    `static byte[]` | `getDigestBytes(byte[] value)` Возвращает байтовое представление MD5 хэша от входного массива байтов
    `static java.util.Set<java.lang.Integer>` | `getIdSet(java.util.Collection<? extends Id> collection)` Собирание списка id из списка объектов расширяющих Id.
    `static java.lang.String` | `getJavaProperties()`
    `static <E extends java.lang.Enum<E> & ListItem> E` | `getListItemEnumFromId(java.lang.Class<E> enumm, int id)` Возвращение значения енума, наследующего ListItem по коду id.
    `static <E extends java.lang.Enum<E> & ListItem> E` | `getListItemEnumFromId(java.lang.Class<E> enumm, int id, E def)` Возвращение значения енума, наследующего ListItem по коду id.
    `static byte[]` | `getMD4Digest(byte[] input)`
    `static java.lang.String` | `getMD4Digest(java.lang.String input, java.lang.String charsetName)` Делает md4-дайджест из строки (текстовый дайджест).
    `static java.lang.String` | `getMessage(org.w3c.dom.Document doc)` Получение сообщения из ответа сервера.
    `static java.lang.String` | `getNamesFiles(java.io.File[] files)` Список имени файлов в столбик с размерами (для сообщений, например)
    `static java.lang.String` | `getOsJavaVersion(boolean full)` Инфа о версии java/os в несколько строк через \n.
    `static java.lang.String` | `getSystemVariables()`
    `static java.lang.String` | `guid()` Генерирует уникальный идентификатор.
    `static byte[]` | `hexStringToBytes(java.lang.String value)` Преобразование строки вида "02 AB 03" в массив байтов.
    `static boolean` | `isArrayString(java.lang.String string)`
    `static boolean` | `isBlankString(java.lang.String value)` Проверяет, является ли строка пустой, состоящей из пробельных символов или null
    `static boolean` | `isEmptyString(java.lang.String value)` Проверяет, является ли строка пустой или null
    `static boolean` | `isZeroFilledArray(byte[] val)` Проверяет, заполнен ли байтовый массив целиком нулями.
    `static long` | `IuTol(int value)` Deprecated.
    `static long` | `IuToL(int value)` Deprecated.
    `static java.lang.String` | `maskBlank(java.lang.String value, java.lang.String defaultValue)` Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчанию
    `static java.lang.String` | `maskEmail(java.lang.String email)` Маскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*m
    `static java.math.BigDecimal` | `maskNull(java.math.BigDecimal value)` Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.
    `static <K> java.util.List<K>` | `maskNull(java.util.List<K> value)` Преобразует возвращает пустой список.
    `static java.lang.Long` | `maskNull(java.lang.Long value)` Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает 0L (закешированное).
    `static java.lang.String` | `maskNull(java.lang.String value)` Преобразует входную строку в пустую, если она null
    `static java.lang.String` | `maskPhoneNumber(java.lang.String phone, int showDigitBegin, int showDigitEnd)`
    `static java.lang.String` | `maskToEnum(long mask)` Преобразование битовой маски в строку вида 1,2,3.
    `static java.lang.String` | `memoryStatus()` Возвращает строку с состоянием памяти приложения и количеством потоков.
    `static java.lang.String` | `multiLetter(java.lang.String letter, int count)` Возвращает строку с продублированной определенное число раз входной строкой
    `static <I> I` | `newInstance(java.lang.String name, java.lang.Class<? extends I> clazz)` Возвращает объект класса, заданного именем
    `static java.security.MessageDigest` | `newMD4()` MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.
    `static boolean` | `notBlankString(java.lang.String value)` Проверяет, является ли строка не пустой, не состоящей из пробельных символов и не null
    `static boolean` | `notEmptyString(java.lang.String value)` Проверяет, является ли строка не пустой и не null
    `static long` | `packValues(java.util.Collection<java.lang.String> values, int base)` Обратная распаковке.
    `static int` | `pageCount(int count, int onPage)` Расчёт количества страниц
    `static java.lang.String` | `pairHashToString(java.util.Map<java.lang.String,java.lang.String> param)` Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
    `static java.lang.String` | `pairToString(java.util.List<java.lang.String[]> param)` Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
    `static java.lang.String` | `pairToString(java.util.List<java.lang.String[]> param, java.lang.String pairsDelim, java.lang.String pairDelim)` Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.
    `static java.math.BigDecimal` | `parseBigDecimal(java.lang.String str, java.math.BigDecimal defaultValue)` Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.
    `static boolean` | `parseBoolean(java.lang.String str)` Разбирается Boolean-строка.
    `static boolean` | `parseBoolean(java.lang.String str, boolean defaultValue)` Разбирается Boolean-строка.
    `static double` | `parseDouble(java.lang.String str, double defaultValue)` Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчанию
    `static <T extends java.lang.Enum<T>> T` | `parseEnum(java.lang.Class<T> enumType, java.lang.String name, T defaultValue)`
    `static float` | `parseFloat(java.lang.String str, float defaultValue)` Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.
    `static int` | `parseInt(java.lang.String str)` Преобразует строку в целое число, и, в случае ошибки, возвращает 0.
    `static int` | `parseInt(java.lang.String str, int defaultValue)` Преобразует строку в целое число, и, в случае ошибки, возвращает значение по умолчанию.
    `static java.lang.Integer` | `parseInteger(java.lang.String str, java.lang.Integer defaultValue)` Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию.
    `static long` | `parseLong(java.lang.String str)` Преобразует строку в long число, и, в случае ошибки, возвращает 0.
    `static long` | `parseLong(java.lang.String str, long defaultValue)` Преобразует строку в long число, и, в случае ошибки, возвращает значение по умолчанию.
    `static Period` | `parsePeriod(java.lang.String date1, java.lang.String date2, Period defaultPeriod)`
    `static java.lang.String` | `randomAlphanumeric(int count)` Возвращает псевдослучайную последовательность из алфавитно-цифровых символов
    `static byte[]` | `readByBlock(java.io.InputStream input)` Возвращает массив байтов, полученных поблочным чтением входного потока.
    `static void` | `readFullBuffer(java.io.InputStream is, byte[] buffer)`
    `static void` | `readFullBuffer(java.io.Reader reader, char[] buffer)` Вычитываем полный буфер символов (может ведь по кускам приходить).
    `static byte[]` | `removeZeroTail(byte[] data)`
    `static java.math.BigDecimal` | `roundBigDecimalSumm(java.math.BigDecimal value)` Округление децимала до второго знака после запятой.
    `static void` | `setTimestampStreams()`
    `static byte[]` | `stringToBytes(java.lang.String s, java.lang.String delimeter)` Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.
    `static java.util.List<java.lang.String[]>` | `stringToPairs(java.lang.String param)` Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.
    `static java.util.List<java.lang.String[]>` | `stringToPairs(java.lang.String param, java.lang.String pairsDelim, java.lang.String pairDelim)` Разбив строки пар в список массивов из двух элементов.
    `static java.util.Map<java.lang.String,java.lang.String>` | `stringToPairsHash(java.lang.String param)` Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в мап, первые элементы пар становятся ключами, вторые - значениями.
    `static java.lang.String` | `swapWords(java.lang.String str)` Меняет местами четные символы с соответствующими нечетными
    `static int[]` | `toIntArray(java.lang.String valuesStr)` Похожа на `toList(String)`.
    `static java.util.List<java.lang.Integer>` | `toIntegerList(java.lang.String valuesStr)` Похожа на `toList(String)`.
    `static java.util.Set<java.lang.Integer>` | `toIntegerSet(java.lang.String valuesStr)` Преобразование строки, разделенной запятыми к набору Integer.
    `static java.util.List<java.lang.String>` | `toList(java.lang.String valuesStr)` Обратная к `toString(Collection)` .
    `static java.util.List<java.lang.String>` | `toList(java.lang.String valuesStr, java.lang.String delim)` Разбивает строку на список компоненов, разбитых по указанному разделителю.
    `static java.util.List<java.lang.Long>` | `toLongList(java.lang.String valuesStr)` Похожа на `toList(String)`, `toIntegerList(String)`.
    `static java.util.Set<java.lang.String>` | `toSet(java.lang.String valuesStr)` Разбивает строку на множество компонентов, разбитых по запятым.
    `static java.lang.String` | `toString(java.util.Collection<?> valuesList)` преобразует коллекцию строк в строку через запятую
    `static java.lang.String` | `toString(java.util.Collection<?> valuesList, java.lang.String delim)` преобразует коллекцию строк в строку через значок
    `static java.lang.String` | `toString(java.lang.Iterable<?> valuesList)` преобразует коллекцию строк в строку через запятую
    `static java.lang.String` | `toString(java.lang.Iterable<?> valuesList, java.lang.String delim)` преобразует коллекцию строк в строку через значок
    `static java.lang.String` | `toString(java.util.List<?> valuesList, int fromPos)` Преобразует список строк в строку эти же строки через запятую, начиная с какой то позиции
    `static java.lang.String` | `toString(java.util.List<?> valuesList, java.lang.String delim, int fromPos)`
    `static java.lang.String` | `toString(java.util.Map<?,?> valuesMap, java.lang.String delim)`
    `static java.lang.String` | `toString(java.lang.Object[] valuesList, java.lang.String delim)` преобразует массив (строк) в строку через значок
    `static java.lang.String` | `toTranslit(java.lang.String text)` Переводит русский текст в транслит.
    `static java.lang.String` | `unpackValues(long value, int base)` Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1
    `static int` | `unsignedByteToInt(byte value)` Преобразование байта в целое без знака.
    `static long` | `unsignedIntToLong(int value)` Преобразование целого лонг без знака.

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

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

- - ### Field Detail

    - #### 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 java.util.regex.Pattern patternComma

    - #### patternSemicolon

          public static final java.util.regex.Pattern patternSemicolon

    - #### patternColon

          public static final java.util.regex.Pattern patternColon

    - #### PART

          public static java.lang.String PART

    - #### GUID_PREFIX

          public static final java.lang.String GUID_PREFIX

      See Also:
        Constant Field Values

    - #### guidGenerator

          public static final java.util.concurrent.atomic.AtomicLong guidGenerator

  - ### Constructor Detail

    - #### Utils

          public Utils()

  - ### Method Detail

    - #### isEmptyString

          public static final boolean isEmptyString(java.lang.String value)

      Проверяет, является ли строка пустой или null
      Parameters:
        `value` - проверяемая строка
      Returns:
        true - если пустая или null

    - #### isBlankString

          public static final boolean isBlankString(java.lang.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(java.lang.String value)

      Проверяет, является ли строка не пустой и не null
      Parameters:
        `value` - проверяемая строка
      Returns:
        false - если пустая или null

    - #### notBlankString

          public static final boolean notBlankString(java.lang.String value)

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

    - #### maskNull

          public static final java.lang.String maskNull(java.lang.String value)

      Преобразует входную строку в пустую, если она null
      Parameters:
        `value` -
      Returns:

    - #### maskNull

          public static final <K> java.util.List<K> maskNull(java.util.List<K> value)

      Преобразует возвращает пустой список.
      Parameters:
        `value` -
      Returns:

    - #### maskNull

          public static final java.math.BigDecimal maskNull(java.math.BigDecimal value)

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

    - #### maskNull

          public static final java.lang.Long maskNull(java.lang.Long value)

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

    - #### maskBlank

          public static final java.lang.String maskBlank(java.lang.String value,
                                                         java.lang.String defaultValue)

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

    - #### parseInt

          public static int parseInt(java.lang.String str,
                                     int defaultValue)

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

    - #### parseInt

          public static int parseInt(java.lang.String str)

      Преобразует строку в целое число, и, в случае ошибки, возвращает 0.
      Parameters:
        `str` - строка
      Returns:

    - #### parseInteger

          public static java.lang.Integer parseInteger(java.lang.String str,
                                                       java.lang.Integer defaultValue)

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

    - #### parseLong

          public static long parseLong(java.lang.String str,
                                       long defaultValue)

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

    - #### parseLong

          public static long parseLong(java.lang.String str)

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

    - #### parseFloat

          public static float parseFloat(java.lang.String str,
                                         float defaultValue)

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

    - #### parseDouble

          public static double parseDouble(java.lang.String str,
                                           double defaultValue)

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

    - #### parseBigDecimal

          public static java.math.BigDecimal parseBigDecimal(java.lang.String str,
                                                             java.math.BigDecimal defaultValue)

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

    - #### parseBoolean

          public static boolean parseBoolean(java.lang.String str,
                                             boolean defaultValue)

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

    - #### parseBoolean

          public static boolean parseBoolean(java.lang.String str)

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

    - #### parsePeriod

          public static Period parsePeriod(java.lang.String date1,
                                           java.lang.String date2,
                                           Period defaultPeriod)

    - #### toList

          public static final java.util.List<java.lang.String> toList(java.lang.String valuesStr)

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

    - #### toList

          public static final java.util.List<java.lang.String> toList(java.lang.String valuesStr,
                                                                      java.lang.String delim)

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

    - #### toIntegerList

          public static final java.util.List<java.lang.Integer> toIntegerList(java.lang.String valuesStr)

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

    - #### toIntArray

          public static final int[] toIntArray(java.lang.String valuesStr)

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

    - #### toLongList

          public static final java.util.List<java.lang.Long> toLongList(java.lang.String valuesStr)

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

    - #### toSet

          public static final java.util.Set<java.lang.String> toSet(java.lang.String valuesStr)

      Разбивает строку на множество компонентов, разбитых по запятым.
      Parameters:
        `valuesStr` - исходная строка
      Returns:
        HashSet взорванный по запятым. всегда не null.
      See Also:
        `#toList(String)}`

    - #### toIntegerSet

          public static final java.util.Set<java.lang.Integer> toIntegerSet(java.lang.String valuesStr)

      Преобразование строки, разделенной запятыми к набору Integer. Если между запятыми не числа, распарсятся в нули. Пробелы тримаются.
      Parameters:
        `valuesStr` - строка
      Returns:
        множество целых. всегда не null.
      See Also:
        `toString(Collection)`, `toIntegerList(String)`

    - #### toString

          public static final java.lang.String toString(java.util.Collection<?> valuesList)

      преобразует коллекцию строк в строку через запятую
      Parameters:
        `valuesList` - коллекция-итерабл
      Returns:
        String

    - #### toString

          public static final java.lang.String toString(java.util.Collection<?> valuesList,
                                                        java.lang.String delim)

      преобразует коллекцию строк в строку через значок
      Parameters:
        `valuesList` - коллекция
      Returns:
        String

    - #### toString

          public static final java.lang.String toString(java.lang.Iterable<?> valuesList)

      преобразует коллекцию строк в строку через запятую
      Parameters:
        `valuesList` - коллекция
      Returns:
        String

    - #### toString

          public static final java.lang.String toString(java.lang.Iterable<?> valuesList,
                                                        java.lang.String delim)

      преобразует коллекцию строк в строку через значок
      Parameters:
        `valuesList` - коллекция-итерабл
      Returns:
        String

    - #### toString

          public static final java.lang.String toString(java.lang.Object[] valuesList,
                                                        java.lang.String delim)

      преобразует массив (строк) в строку через значок
      Parameters:
        `valuesList` - массив объектов
      Returns:
        String

    - #### toString

          public static final java.lang.String toString(java.util.Map<?,?> valuesMap,
                                                        java.lang.String delim)

    - #### toString

          public static final java.lang.String toString(java.util.List<?> valuesList,
                                                        int fromPos)

      Преобразует список строк в строку эти же строки через запятую, начиная с какой то позиции
      Parameters:
        `valuesList` - List
      Returns:
        String

    - #### toString

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

    - #### enumToMask

          public static final long enumToMask(java.lang.String mask)

      Преобразует строку вида "1,2,3" в маску длинного целого.
      Parameters:
        `mask` - строка
      Returns:
        маска

    - #### maskToEnum

          public static java.lang.String maskToEnum(long mask)

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

    - #### formatCost

          public static java.lang.String formatCost(float value)

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

    - #### formatCost

          public static java.lang.String formatCost(java.math.BigDecimal value)

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

    - #### formatCost

          public static java.lang.String formatCost(float value,
                                                    int precission)

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

    - #### formatCost

          public static java.lang.String formatCost(java.math.BigDecimal value,
                                                    int precission)

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

    - #### formatSessionCost

          public static java.lang.String formatSessionCost(java.math.BigDecimal value)

      Форматирование в строку цены сессии
      Parameters:
        `value` - значение в БигДецимал
      Returns:

    - #### formatSessionCost

          public static java.lang.String formatSessionCost(float value)

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

    - #### memoryStatus

          public static final java.lang.String memoryStatus()

      Возвращает строку с состоянием памяти приложения и количеством потоков.
      Returns:

    - #### bytesToHexString

          public static java.lang.String bytesToHexString(byte[] value)

      Преобразование массива байтов в строку вида "02AB03"
      Parameters:
        `value` -
      Returns:

    - #### hexStringToBytes

          public static byte[] hexStringToBytes(java.lang.String value)

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

    - #### bytesToString

          public static java.lang.String bytesToString(byte[] value)

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

    - #### bytesToString

          public static java.lang.String bytesToString(byte[] bytes,
                                                       boolean upperCase,
                                                       java.lang.String delimeter)

      Преобразование массива байт в HEX строку с указанным разделителем
      Parameters:
        `bytes` - массив байт
        `delimeter` - разделитель, например, пробел или дефис
        `upperCase` - если true, то символы результата в верхнем регистре
      Returns:

    - #### stringToBytes

          public static byte[] stringToBytes(java.lang.String s,
                                             java.lang.String delimeter)

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

    - #### byteBufferAsArray

          public static byte[] byteBufferAsArray(java.nio.ByteBuffer data)

      Преобразование буфера байт к массиву байт.
      Parameters:
        `data` -
      Returns:

    - #### byteBufferAsArray

          public static byte[] byteBufferAsArray(java.nio.ByteBuffer data,
                                                 int length)

      Преобразование буфера байт к массиву байт.
      Parameters:
        `data` - буфер.
        `length` - длина данных.
      Returns:

    - #### getIdSet

          public static final java.util.Set<java.lang.Integer> getIdSet(java.util.Collection<? extends Id> collection)

      Собирание списка id из списка объектов расширяющих Id.
      Parameters:
        `collection` -
      Returns:

    - #### getSystemVariables

          public static final java.lang.String getSystemVariables()

    - #### getJavaProperties

          public static final java.lang.String getJavaProperties()

    - #### newInstance

          public static <I> I newInstance(java.lang.String name,
                                          java.lang.Class<? extends I> clazz)
                                   throws ru.bitel.bgbilling.common.BGException

      Возвращает объект класса, заданного именем
      Parameters:
        `name` - имя класса
        `clazz` - класс, который расширяет класс name
      Returns:
        null - если нет такого класса
      Throws:
        `BGException,` - если произошло что-то непрдвиденное(т.е класс есть , но не может создаться по другой причине
        `ru.bitel.bgbilling.common.BGException`

    - #### getDigestBytes

          public static byte[] getDigestBytes(byte[] value)

      Возвращает байтовое представление MD5 хэша от входного массива байтов
      Parameters:
        `value` - входные данные
      Returns:
        массив байтов

    - #### getDigest

          public static java.lang.String getDigest(java.lang.String value,
                                                   java.lang.String encoding)

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

    - #### getDigest

          public static java.lang.String getDigest(java.lang.String value,
                                                   java.lang.String encoding,
                                                   java.lang.String algorithm)

    - #### swapWords

          public static java.lang.String swapWords(java.lang.String str)

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

    - #### pageCount

          public static final int pageCount(int count,
                                            int onPage)

      Расчёт количества страниц
      Parameters:
        `count` - количество элементов
        `onPage` - количество элементов на странице
      Returns:

    - #### pairToString

          public static final java.lang.String pairToString(java.util.List<java.lang.String[]> param)

      Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
      Parameters:
        `param` - список с массивами строк из 2х элементов
      Returns:

    - #### pairHashToString

          public static final java.lang.String pairHashToString(java.util.Map<java.lang.String,java.lang.String> param)

      Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.
      Parameters:
        `param` - мап с парами ключ-значение
      Returns:

    - #### pairToString

          public static final java.lang.String pairToString(java.util.List<java.lang.String[]> param,
                                                            java.lang.String pairsDelim,
                                                            java.lang.String pairDelim)

      Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.
      Parameters:
        `param` - список строковых массивов из 2х элементов
        `pairsDelim` - разделитель пар
        `pairDelim` - разделитель пары
      Returns:

    - #### stringToPairs

          public static final java.util.List<java.lang.String[]> stringToPairs(java.lang.String param)

      Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.
      Parameters:
        `param` -
      Returns:

    - #### stringToPairsHash

          public static final java.util.Map<java.lang.String,java.lang.String> stringToPairsHash(java.lang.String param)

      Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в мап, первые элементы пар становятся ключами, вторые - значениями.
      Parameters:
        `param` -
      Returns:

    - #### stringToPairs

          public static final java.util.List<java.lang.String[]> stringToPairs(java.lang.String param,
                                                                               java.lang.String pairsDelim,
                                                                               java.lang.String pairDelim)

      Разбив строки пар в список массивов из двух элементов.
      Parameters:
        `param` - строка пар
        `pairsDelim` - разделитель между парами
        `pairDelim` - разделитель пары
      Returns:

    - #### readByBlock

          public static byte[] readByBlock(java.io.InputStream input)
                                    throws java.io.IOException

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

    - #### flush

          public static boolean flush(java.io.InputStream inputStream,
                                      java.io.OutputStream outputStream)
                               throws java.io.IOException

      Переброс блоками из входящего потока в исходящий. Ничего после чтения не закрывается. Ничего после записи не флушится. При ошибках выкидывает наружу. Работает синхронно. Для асинхронного связывания см. StreamConnector.
      Parameters:
        `inputStream` - входной стрим.
        `outputStream` - выходной стрим.
      Throws:
        `java.io.IOException` - при ошибках I/O.

    - #### readFullBuffer

          public static void readFullBuffer(java.io.Reader reader,
                                            char[] buffer)
                                     throws java.io.IOException

      Вычитываем полный буфер символов (может ведь по кускам приходить). Типа для подстраховки. Гарантированно заполняем весь буфер.
      Parameters:
        `reader` - ридер
        `buffer` - буфер нужной длины, который надо до конца заполнить
      Throws:
        `java.io.IOException` - при ошибке чтения или есть на буфер не хватило байт

    - #### readFullBuffer

          public static void readFullBuffer(java.io.InputStream is,
                                            byte[] buffer)
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getMessage

          public static java.lang.String getMessage(org.w3c.dom.Document doc)

      Получение сообщения из ответа сервера. В общих утилсах, т.к. используется WiFi порталом.
      Parameters:
        `doc` -
      Returns:

    - #### multiLetter

          public static final java.lang.String multiLetter(java.lang.String letter,
                                                           int count)

      Возвращает строку с продублированной определенное число раз входной строкой
      Parameters:
        `letter` - входная строка
        `count` - количество повторений
      Returns:

    - #### randomAlphanumeric

          public static java.lang.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:

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

    - #### formatBigDecimal

          public static java.lang.String formatBigDecimal(java.math.BigDecimal value,
                                                          int scale)

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

    - #### formatBigDecimalSumm

          public static java.lang.String formatBigDecimalSumm(java.math.BigDecimal value)

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

    - #### roundBigDecimalSumm

          public static java.math.BigDecimal roundBigDecimalSumm(java.math.BigDecimal value)

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

    - #### checkMacAddres

          public static final boolean checkMacAddres(java.lang.String value)

    - #### removeZeroTail

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

    - #### booleanToStringInt

          public static final java.lang.String booleanToStringInt(boolean value)

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

    - #### formatPhoneNumber

          public static java.lang.String formatPhoneNumber(java.lang.String value)

    - #### isArrayString

          public static boolean isArrayString(java.lang.String string)

    - #### setTimestampStreams

          public static final void setTimestampStreams()

    - #### deleteAfterDog

          public static java.lang.String deleteAfterDog(java.lang.String value)

    - #### deleteBeforeSharp

          public static java.lang.String deleteBeforeSharp(java.lang.String value)

    - #### formatSessionTime

          public static java.lang.String formatSessionTime(int value)

    - #### charsetConvert

          public static java.lang.String charsetConvert(java.lang.String value,
                                                        java.lang.String encoding)

      Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировку
      Parameters:
        `value` - входная строка
        `encoding` - кодировка

    - #### toTranslit

          public static java.lang.String toTranslit(java.lang.String text)

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

    - #### getMD4Digest

          public static java.lang.String getMD4Digest(java.lang.String input,
                                                      java.lang.String charsetName)
                                               throws java.security.NoSuchAlgorithmException,
                                                      java.io.UnsupportedEncodingException

      Делает md4-дайджест из строки (текстовый дайджест). "The quick brown fox jumps over the lazy dog" => "1bee69a46ba811185c194762abaeae90". Надобится для нужд всяких авторизаций. Используется, например, в вебмани в xml-интерфейсах.
      Parameters:
        `input` - входная строка
        `charsetName` - кодировка для взятия байтов из строки
      Returns:
        выходная строка
      Throws:
        `java.security.NoSuchAlgorithmException` - если какие-то проблемы с поддержкой алгоритма
        `java.io.UnsupportedEncodingException` - если какие-то проблемы с поддержкой указанной кодировки

    - #### newMD4

          public static java.security.MessageDigest newMD4()
                                                    throws java.security.NoSuchAlgorithmException

      MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.
      Returns:
      Throws:
        `java.security.NoSuchAlgorithmException`

    - #### getMD4Digest

          public static byte[] getMD4Digest(byte[] input)
                                     throws java.security.NoSuchAlgorithmException

      Throws:
        `java.security.NoSuchAlgorithmException`

    - #### checkEmail

          public static boolean checkEmail(java.lang.String email)

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

    - #### getListItemEnumFromId

          public static <E extends java.lang.Enum<E> & ListItem> E getListItemEnumFromId(java.lang.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 java.lang.Enum<E> & ListItem> E getListItemEnumFromId(java.lang.Class<E> enumm,
                                                                                         int id)

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

    - #### unpackValues

          public static java.lang.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(java.util.Collection<java.lang.String> values,
                                        int base)

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

    - #### convert

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

    - #### convert

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

    - #### convert

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

    - #### checkPath

          public static java.lang.String checkPath(java.lang.String rawPath)

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

    - #### escapeHTML

          public static java.lang.String escapeHTML(java.lang.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 java.lang.String getOsJavaVersion(boolean full)

      Инфа о версии java/os в несколько строк через \n. Краткая или полная.

    - #### guid

          public static java.lang.String guid()

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

    - #### parseEnum

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

    - #### getDecimalFormatSumma

          public static java.text.DecimalFormat getDecimalFormatSumma()

    - #### checkCanReadFiles

          public static java.lang.String checkCanReadFiles(java.io.File[] files)

      Проверка что все файлы указанные могут быть прочитаны. Если не так, то возвращает сообщение списка файлов.

    - #### getNamesFiles

          public static java.lang.String getNamesFiles(java.io.File[] files)

      Список имени файлов в столбик с размерами (для сообщений, например)

    - #### maskEmail

          public static java.lang.String maskEmail(java.lang.String email)

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

    - #### maskPhoneNumber

          public static java.lang.String maskPhoneNumber(java.lang.String phone,
                                                         int showDigitBegin,
                                                         int showDigitEnd)