Class Utils

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

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

    Fields
    Modifier and Type Field Description
    static java.lang.String CODE_VERSION
    версия биллинга в этой ветке (определение через version info не всегда возможно, да и незачем здесь)
    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 Description
    Utils()  
  • Method Summary

    Modifier and Type Method 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 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 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 <V> java.util.List<V> concat​(java.util.List<V> a, java.util.List<V> b)
    Соединяет два листа - создает новый, с содержимым указанных листов.
    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​(float value)
    Форматирование числа с плавающей точкой до второго знака после запятой.
    static java.lang.String formatCost​(float value, int precission)
    Форматирование числа с плавающей точкой до второго знака после запятой.
    static java.lang.String formatCost​(java.math.BigDecimal value)
    Форматирование в строку цены в стандартном виде
    static java.lang.String formatCost​(java.math.BigDecimal value, int precission)
    Форматирование в строку цены в стандартном виде
    static java.lang.String formatCostByGrouping​(java.math.BigDecimal value, int sizeGroup, int precission)
    Форматирование в строку цены с группированием.
    Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360
    static java.lang.String formatInteger​(int value)  
    static java.lang.String formatLong​(long value)  
    static java.lang.String formatPhoneNumber​(java.lang.String value)  
    static java.lang.String formatSessionCost​(float value)
    Форматирование стоимости с плавающей точкой до пятого знака после запятой.
    static java.lang.String formatSessionCost​(java.math.BigDecimal value)
    Форматирование в строку цены сессии
    static java.lang.String formatSessionTime​(int value)  
    static java.lang.String formatSessionTime2​(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 byte[] getDigestBytes​(byte[] value, java.lang.String algorithm)  
    static java.util.List<java.lang.Integer> getIdList​(java.util.Collection<? extends Id> items)
    Получаем список id у списка сущностей, которые наследуют Id.
    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 java.lang.String htmlEncode​(java.lang.String inValue, java.lang.String ENCODING)  
    static java.lang.String insertBOM()
    Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки.
    static boolean isArrayString​(java.lang.String string)  
    static boolean isBlankString​(java.lang.String value)
    Проверяет, является ли строка пустой, состоящей из пробельных символов или null
    static boolean isEmptyCollection​(java.util.Collection collection)
    Проверяет переданную коллекцию на пустоту или null
    static boolean isEmptyString​(java.lang.String value)
    Проверяет, является ли строка пустой или null
    static boolean isNY()  
    static boolean isZeroFilledArray​(byte[] val)
    Проверяет, заполнен ли байтовый массив целиком нулями.
    static <V> java.lang.Iterable<V> iterable​(java.util.Collection<V> a, java.util.Collection<V> b)
    Создает Iterable из двух Collection.
    static long IuTol​(int value)
    Deprecated.
    static long IuToL​(int value)
    Deprecated.
    static java.util.Map<java.lang.String,​java.lang.String> linesToPairsHash​(java.lang.String lines)
    Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.
    static byte makeByte​(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0)
    Собирает из 8 битов (0/1) один byte.
    static java.lang.String maskBlank​(java.lang.String value, java.lang.String defaultValue)
    Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчанию
    static java.lang.String maskConfidential​(java.lang.String msg2Mask)
    Маскировка всех символов для таких строк, как пароли, логины, ключи и т.д.
    static java.lang.String maskEmail​(java.lang.String email)
    Маскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*m
    static java.lang.Long maskNull​(java.lang.Long value)
    Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает 0L (закешированное).
    static java.lang.String maskNull​(java.lang.String value)
    Преобразует входную строку в пустую, если она null
    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.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 memoryStatusShort()
    Инфа о памяти в виде сокращённого "use / total / max".
    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 notEmptyArray​(java.lang.Object[] array)
    Проверяет переданный массив на пустоту
    static boolean notEmptyCollection​(java.util.Collection collection)
    Проверяет переданную коллекцию на пустоту.
    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 java.math.BigDecimal parseBigDecimalSumma​(java.lang.String str)
    Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный 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 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)
    Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.
    static java.lang.String swapWords​(java.lang.String str)
    Меняет местами четные символы с соответствующими нечетными
    static boolean testBit​(byte b, int n)
    Установлен ли бит в байте.
    static boolean testBit​(int b, int n)
    Установлен ли бит в байте (представленный интом)
    static java.util.List<java.math.BigDecimal> toBigDecimalList​(java.lang.String valuesStr)  
    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)
    static java.util.Set<java.lang.Long> toLongSet​(java.lang.String valuesStr)  
    static java.util.Set<java.lang.String> toSet​(java.lang.String valuesStr)
    Разбивает строку на множество компонентов, разбитых по запятым.
    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.lang.Object[] 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 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 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 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
    • CODE_VERSION

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

    • Utils

      public Utils()
  • Method Details

    • 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
    • notEmptyCollection

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

      public static boolean isEmptyCollection​(java.util.Collection collection)
      Проверяет переданную коллекцию на пустоту или null
      Returns:
      true - если коллекция пустая или null
    • notEmptyArray

      public static boolean notEmptyArray​(java.lang.Object[] array)
      Проверяет переданный массив на пустоту
      Returns:
      true - если массив не null и длина > 0
    • 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.
    • parseBigDecimalSumma

      public static java.math.BigDecimal parseBigDecimalSumma​(java.lang.String str)
      Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal). Отличие от parseBigDecimal и от оригинальных BigDecimal то что разбирает в качестве разделителя и точку и запятую (в случае попадения на вход числа где-то уже сформатированного в русской локали).
      Parameters:
      str - строка представляющая 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.
    • toBigDecimalList

      public static final java.util.List<java.math.BigDecimal> toBigDecimalList​(java.lang.String valuesStr)
    • 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:
      Set строка разбитая по запятым, всегда не null.
    • 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)
    • toLongSet

      public static final java.util.Set<java.lang.Long> toLongSet​(java.lang.String valuesStr)
    • 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
    • formatCostByGrouping

      public static java.lang.String formatCostByGrouping​(java.math.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 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:
    • memoryStatusShort

      public static final java.lang.String memoryStatusShort()
      Инфа о памяти в виде сокращённого "use / total / max".
    • 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:
      ru.bitel.bgbilling.common.BGException
    • getDigestBytes

      public static byte[] getDigestBytes​(byte[] value, java.lang.String algorithm)
    • 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)
      Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.
      Parameters:
      param -
      Returns:
    • linesToPairsHash

      public static final java.util.Map<java.lang.String,​java.lang.String> linesToPairsHash​(java.lang.String lines)
      Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.
      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:
    • 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 java.lang.String formatLong​(long value)
    • 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)
    • 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)
    • formatSessionTime2

      public static java.lang.String formatSessionTime2​(int value)
    • formatInteger

      public static java.lang.String formatInteger​(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)
    • maskConfidential

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

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

      public static java.lang.String htmlEncode​(java.lang.String inValue, java.lang.String ENCODING)
    • insertBOM

      public static final java.lang.String insertBOM()
      Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки. Это не по стандарту и неправильно, но выхода нет больше. Вообще он вставляет BOM для любой кодировки в итоге, т.к. это просто спецсимвол, который при трансформации (или перекодировании) в нужной кодировке превратится в последовательность байт, которая уже является BOM-ом итоговым.
    • concat

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

      public static <V> java.lang.Iterable<V> iterable​(java.util.Collection<V> a, java.util.Collection<V> b)
      Создает Iterable из двух Collection.
      Parameters:
      a -
      b -
      Returns:
    • 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()