Package ru.bitel.common
Class Utils
java.lang.Object
ru.bitel.common.Utils
Минимальный набор, то что действительно должно быть в utils, как в клиентском так и серверном.
работа с xml в xmlutils, работа с ip в iputils и т.д. Base64 - в отдельном классе + стримы соответствующие.
работа с xml в xmlutils, работа с ip в iputils и т.д. Base64 - в отдельном классе + стримы соответствующие.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringверсия биллинга в этой ветке (определение через version info не всегда возможно, да и незачем здесь)static final intstatic final longstatic final Stringstatic final AtomicLongstatic final char[]static final char[]static final intstatic final longstatic final longstatic final intstatic Stringstatic final Patternstatic final Patternstatic final Pattern -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final StringbooleanToStringInt(boolean value) Возвращает строковое представление boolean в виде числаstatic final intBuToI(byte value) Deprecated.static byte[]byteBufferAsArray(ByteBuffer data) Преобразование буфера байт к массиву байт.static byte[]byteBufferAsArray(ByteBuffer data, int length) Преобразование буфера байт к массиву байт.static StringbytesToHexString(byte[] value) Преобразование массива байтов в строку вида "02AB03"static intbytesToInt(byte[] bytes) Возвращает int, полученный из массива длиной от 1 до 4 байт.static intbytesToInt(byte[] bytes, int pos, int length) Возвращает int, полученный из массива длиной от 1 до 4 байт.static longbytesToLong(byte[] bytes) Возвращает long, полученный из массива длиной от 1 до 8 байт.static longbytesToLong(byte[] bytes, int pos, int length) Возвращает long, полученный из массива длиной от 1 до 8 байт.static StringbytesToString(byte[] value) Обратная к функцииhexStringToBytes(String), преобразование массива байт к строке вида "02 AB 03"static StringbytesToString(byte[] bytes, boolean upperCase, String delimeter) Преобразование массива байт в HEX строку с указанным разделителемstatic StringcharsetConvert(String value, String encoding) Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировкуstatic StringcheckCanReadFiles(File[] files) Проверка что все файлы указанные могут быть прочитаны.static booleancheckEmail(String email) Проверка email на валидность.static voidПроверка java на корректную совместимость с нашим кодом.static final booleancheckMacAddres(String value) static StringПроверяет путь и заменяет прямые слэши на обратные.static <V> List<V>Соединяет два листа - создает новый, с содержимым указанных листов.static final Objectstatic final Objectstatic final Objectstatic intconvertBytesToInt(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричногоstatic longconvertBytesToLong(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричногоstatic byte[]convertIntToBytes(int value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичногоstatic byte[]convertLongToBytes(long value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичногоstatic StringdeleteAfterDog(String value) static StringdeleteBeforeSharp(String value) static final longenumToMask(String mask) Преобразует строку вида "1,2,3" в маску длинного целого.static StringescapeHTML(String s) static booleanflush(InputStream inputStream, OutputStream outputStream) Переброс блоками из входящего потока в исходящий.static StringformatBigDecimal(BigDecimal value, int scale) Форматирование децимала до указанного знака после запятой, маскируется NULL.static StringformatBigDecimalSumm(BigDecimal value) Форматирование децимала до второго знака после запятой, маскируется NULL.static StringformatCost(float value) Форматирование числа с плавающей точкой до второго знака после запятой.static StringformatCost(float value, int precission) Форматирование числа с плавающей точкой до второго знака после запятой.static StringformatCost(BigDecimal value) Форматирование в строку цены в стандартном видеstatic StringformatCost(BigDecimal value, int precission) Форматирование в строку цены в стандартном видеstatic StringformatCostByGrouping(BigDecimal value, int sizeGroup, int precission) Форматирование в строку цены с группированием.
Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360static StringformatInteger(int value) static StringformatLong(long value) static StringformatPhoneNumber(String value) static StringformatSessionCost(float value) Форматирование стоимости с плавающей точкой до пятого знака после запятой.static StringformatSessionCost(BigDecimal value) Форматирование в строку цены сессииstatic StringformatSessionTime(int value) static StringformatSessionTime2(int value) getClassList(String packageName) static DecimalFormatstatic StringВозвращает строковое представление MD5 хэша от входной строки.static Stringstatic Stringstatic byte[]getDigestBytes(byte[] value) Возвращает байтовое представление MD5 хэша от входного массива байтовstatic byte[]getDigestBytes(byte[] value, String algorithm) getIdList(Collection<? extends Id> items) Получаем список id у списка сущностей, которые наследуют Id.getIdSet(Collection<? extends Id> collection) Собирание списка id из списка объектов расширяющих Id.static final StringgetListItemEnumFromId(Class<E> enumm, int id) Возвращение значения енума, наследующего ListItem по коду id.getListItemEnumFromId(Class<E> enumm, int id, E def) Возвращение значения енума, наследующего ListItem по коду id.static byte[]getMD4Digest(byte[] input) static StringgetMD4Digest(String input, String charsetName) Делает md4-дайджест из строки (текстовый дайджест).static StringgetMessage(Document doc) Получение сообщения из ответа сервера.static StringgetNamesFiles(File[] files) Список имени файлов в столбик с размерами (для сообщений, например)static StringgetOsJavaVersion(boolean full) Инфа о версии java/os в несколько строк через \n.static final Stringstatic Stringguid()Генерирует уникальный идентификатор.static byte[]hexStringToBytes(String value) Преобразование строки вида "02 AB 03" в массив байтов.static StringhtmlEncode(String inValue, String ENCODING) static final StringВозвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки.static booleanisArrayString(String string) static final booleanisBlankString(String value) Проверяет, является ли строка пустой, состоящей из пробельных символов или nullstatic booleanisEmptyCollection(Collection<?> collection) Проверяет переданную коллекцию на пустоту или nullstatic final booleanisEmptyString(String value) Проверяет, является ли строка пустой или nullstatic booleanisNY()static final booleanisZeroFilledArray(byte[] val) Проверяет, заполнен ли байтовый массив целиком нулями.static <V> Iterable<V>iterable(Collection<V> a, Collection<V> b) Создает Iterable из двух Collection.static longIuTol(int value) Deprecated.static final longIuToL(int value) Deprecated.linesToPairsHash(String lines) Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.static bytemakeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0) Собирает из 8 битов (0/1) один byte.static final StringВозвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчаниюstatic StringmaskConfidential(String msg2Mask) Маскировка всех символов для таких строк, как пароли, логины, ключи и т.д.static StringМаскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*mstatic final LongВозвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает 0L (закешированное).static final StringПреобразует входную строку в пустую, если она nullstatic final StringПреобразует входную строку в указанную, если она nullstatic final BigDecimalmaskNull(BigDecimal value) Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.static final <K> List<K>Преобразует возвращает пустой список.static final <K> Set<K>static StringmaskPhoneNumber(String phone, int showDigitBegin, int showDigitEnd) static StringmaskToEnum(long mask) Преобразование битовой маски в строку вида 1,2,3.static final StringВозвращает строку с состоянием памяти приложения и количеством потоков.static final StringИнфа о памяти в виде сокращённого "use / total / max", одной строкой.static final StringmultiLetter(String letter, int count) Возвращает строку с продублированной определенное число раз входной строкойstatic <I> InewInstance(String name, Class<? extends I> clazz) Возвращает объект класса, заданного именемstatic MessageDigestnewMD4()MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.static StringnormalizeEmail(String email) E-mail очищает/нормализует по возможности, если не удаётся и/или не похоже на мыло, то вернёт null.static StringnormalizePhone(String phone) Номер телефона очищает/нормализует по возможности, если не удаётся и/или не похоже на телефон, то вернёт null.static final booleannotBlankString(String value) Проверяет, является ли строка не пустой, не состоящей из пробельных символов и не nullstatic booleannotEmptyArray(Object[] array) Проверяет переданный массив на пустотуstatic booleannotEmptyCollection(Collection<?> collection) Проверяет переданную коллекцию на пустоту.static final booleannotEmptyString(String value) Проверяет, является ли строка не пустой и не nullstatic longpackValues(Collection<String> values, int base) Обратная распаковке.static final intpageCount(int count, int onPage) Расчёт количества страницstatic final StringpairHashToString(Map<String, String> param) Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.static final StringpairToString(List<String[]> param) Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.static final StringpairToString(List<String[]> param, String pairsDelim, String pairDelim) Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.static BigDecimalparseBigDecimal(String str, BigDecimal defaultValue) Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.static BigDecimalПреобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal).static booleanparseBoolean(String str) Разбирается Boolean-строка.static booleanparseBoolean(String str, boolean defaultValue) Разбирается Boolean-строка.static doubleparseDouble(String str, double defaultValue) Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчаниюstatic <T extends Enum<T>>
Tstatic floatparseFloat(String str, float defaultValue) Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.static intПреобразует строку в целое число, и, в случае ошибки, возвращает 0.static intПреобразует строку в целое число, и, в случае ошибки, возвращает значение по умолчанию.static IntegerparseInteger(String str, Integer defaultValue) Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию.static longПреобразует строку в long число, и, в случае ошибки, возвращает 0.static longПреобразует строку в long число, и, в случае ошибки, возвращает значение по умолчанию.static PeriodparsePeriod(String date1, String date2, Period defaultPeriod) static StringrandomAlphanumeric(int count) Возвращает псевдослучайную последовательность из алфавитно-цифровых символовstatic byte[]readByBlock(InputStream input) Возвращает массив байтов, полученных поблочным чтением входного потока.static voidreadFullBuffer(InputStream is, byte[] buffer) static voidreadFullBuffer(Reader reader, char[] buffer) Вычитываем полный буфер символов (может ведь по кускам приходить).static final byte[]removeZeroTail(byte[] data) static BigDecimalroundBigDecimalSumm(BigDecimal value) Округление децимала до второго знака после запятой.static byte[]stringToBytes(String s, String delimeter) Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.stringToPairs(String param) Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.stringToPairs(String param, String pairsDelim, String pairDelim) Разбив строки пар в список массивов из двух элементов.stringToPairsHash(String param) Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.static StringМеняет местами четные символы с соответствующими нечетнымиstatic booleantestBit(byte b, int n) Установлен ли бит в байте.static booleantestBit(int b, int n) Установлен ли бит в байте (представленный интом)static final List<BigDecimal>toBigDecimalList(String valuesStr) static final int[]toIntArray(String valuesStr) Похожа наtoList(String).toIntegerList(String valuesStr) Похожа наtoList(String).toIntegerList(org.json.JSONArray jsonArray) toIntegerSet(String valuesStr) Преобразование строки, разделенной запятыми к набору Integer.static org.json.JSONArraytoJsonArray(List<Integer> ids) Обратная к#toString(Collection).Разбивает строку на список компоненов, разбитых по указанному разделителю.toLongList(String valuesStr) Похожа наtoList(String),toIntegerList(String).Разбивает строку на множество компонентов, разбитых по запятым.static final Stringпреобразует коллекцию строк в строку через запятуюstatic final Stringпреобразует коллекцию строк в строку через значокstatic final Stringпреобразует массив (строк) в строку через значокstatic final StringПреобразует список строк в строку эти же строки через запятую, начиная с какой то позицииstatic final Stringstatic final Stringstatic StringtoTranslit(String text) Переводит русский текст в транслит.static StringunpackValues(long value, int base) Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1static final intunsignedByteToInt(byte value) Преобразование байта в целое без знака.static final longunsignedIntToLong(int value) Преобразование целого лонг без знака.
-
Field Details
-
HEX
public static final char[] HEX -
HEX_LOWERCASE
public static final char[] HEX_LOWERCASE -
KB
public static final long KB- See Also:
-
MB
public static final long MB- See Also:
-
GB
public static final long GB- See Also:
-
MINUTE
public static final int MINUTE- See Also:
-
HOUR
public static final int HOUR- See Also:
-
DAY
public static final int DAY- See Also:
-
patternComma
-
patternSemicolon
-
patternColon
-
PART
-
GUID_PREFIX
- See Also:
-
guidGenerator
-
CODE_VERSION
версия биллинга в этой ветке (определение через version info не всегда возможно, да и незачем здесь)- See Also:
-
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
isEmptyString
Проверяет, является ли строка пустой или null- Parameters:
value- проверяемая строка- Returns:
- true - если пустая или null
-
isBlankString
Проверяет, является ли строка пустой, состоящей из пробельных символов или null- Parameters:
value- проверяемая строка- Returns:
- true - если пустая, состоит из пробельных символов или null
-
isZeroFilledArray
public static final boolean isZeroFilledArray(byte[] val) Проверяет, заполнен ли байтовый массив целиком нулями.- Parameters:
val- проверяемый массив.- Returns:
- true если весь массив заполнен нулями.
-
notEmptyString
Проверяет, является ли строка не пустой и не null- Parameters:
value- проверяемая строка- Returns:
- false - если пустая или null
-
notBlankString
Проверяет, является ли строка не пустой, не состоящей из пробельных символов и не null- Parameters:
value- проверяемая строка- Returns:
- false - если пустая, состоит из пробельных символов или null
-
notEmptyCollection
Проверяет переданную коллекцию на пустоту.- Returns:
- - true - если коллекция не null и size > 0
-
isEmptyCollection
Проверяет переданную коллекцию на пустоту или null- Returns:
- true - если коллекция пустая или null
-
notEmptyArray
Проверяет переданный массив на пустоту- Returns:
- true - если массив не null и длина > 0
-
maskNull
Преобразует входную строку в пустую, если она null -
maskNull
Преобразует входную строку в указанную, если она null -
maskNull
Преобразует возвращает пустой список.- Parameters:
value-- Returns:
-
maskNull
-
maskNull
Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.- Parameters:
value-- Returns:
-
maskNull
Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает 0L (закешированное).- Parameters:
value-- Returns:
-
maskBlank
Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчанию- Parameters:
value-defaultValue-- Returns:
-
parseInt
Преобразует строку в целое число, и, в случае ошибки, возвращает значение по умолчанию.- Parameters:
str- строкаdefaultValue- значение по умолчанию- Returns:
-
parseInt
Преобразует строку в целое число, и, в случае ошибки, возвращает 0.- Parameters:
str- строка- Returns:
-
parseInteger
Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию. Отличие от варианта с примитивами - немаскировка null итд.- Parameters:
str- строкаdefaultValue- значение по умолчанию- Returns:
- See Also:
-
parseLong
Преобразует строку в long число, и, в случае ошибки, возвращает значение по умолчанию.- Parameters:
str- строкаdefaultValue- значение по умолчанию- Returns:
-
parseLong
Преобразует строку в long число, и, в случае ошибки, возвращает 0.- Parameters:
str- строка- Returns:
-
parseFloat
Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.- Parameters:
str- строкаdefaultValue- значение по умолчанию- Returns:
-
parseDouble
Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчанию- Parameters:
str- строкаdefaultValue- значение по умолчанию- Returns:
-
parseBigDecimal
Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.- Parameters:
str- строка представляющая BigDecimal-значение.defaultValue- BigDecimal-значение по умолчанию.- Returns:
- новый объект BigDecimal.
-
parseBigDecimalSumma
Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal). Отличие от parseBigDecimal и от оригинальных BigDecimal то что разбирает в качестве разделителя и точку и запятую (в случае попадения на вход числа где-то уже сформатированного в русской локали).- Parameters:
str- строка представляющая BigDecimal-значение.- Returns:
- новый объект BigDecimal.
-
parseBoolean
Разбирается Boolean-строка. Значения могут быть: 0/1, FALSE/TRUE, NO/YES, ON/OFF без учёта регистра. Приоритетное значение "истина", дефолтное "ложь" т.е. если истина распозналась то вернётся, иначе - ложь.- Parameters:
str- строка - представление Boolean.defaultValue- значение по умолчанию.- Returns:
- если распозналась - возвращается соответствующий Boolean, иначе - значение по умолчанию.
-
parseBoolean
Разбирается Boolean-строка. Значения могут быть: 0/1, FALSE/TRUE, NO/YES, ON/OFF без учёта регистра.- Parameters:
str- строка - представление Boolean- Returns:
- если распозналась - возвращается соответствующий Boolean, иначе - false
-
parsePeriod
-
toList
Обратная к#toString(Collection). Разбивает строку на список компоненов, разбитых по запятым.- Parameters:
valuesStr- исходная строка- Returns:
- список взорванный по запятым. всегда не null.
-
toList
Разбивает строку на список компоненов, разбитых по указанному разделителю.- Parameters:
valuesStr- исходная строкаdelim- разделитель (regex как для String.split), аккуратнее с разделителями типа "." итд- Returns:
- список взорванный по delim. всегда не null.
-
toIntegerList
Похожа наtoList(String). Разбивает строку на список целочисленных компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.- Parameters:
valuesStr- исходная строка- Returns:
- список взорванный по запятым. всегда не null.
-
toBigDecimalList
-
toIntArray
Похожа наtoList(String). Разбивает строку на список целочисленных компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.- Parameters:
valuesStr- исходная строка- Returns:
- int[] массив целых, всегда есть и не null, если входящая строка пустая, то будет пустым. Если между запятыми не числа, распарсится в нули.
- See Also:
-
#toString(Collection)toIntegerSet(String)
-
toLongList
Похожа наtoList(String),toIntegerList(String). Разбивает строку на список Long компоненов, разбитых по запятым. Пробелы тримаются. Если между запятыми не числа, распарсятся в нули.- Parameters:
valuesStr- исходная строка- Returns:
- список взорванный по запятым. всегда не null.
-
toSet
Разбивает строку на множество компонентов, разбитых по запятым.- Parameters:
valuesStr- исходная строка- Returns:
- Set строка разбитая по запятым, всегда не null.
- See Also:
-
toIntegerSet
Преобразование строки, разделенной запятыми к набору Integer. Если между запятыми не числа, распарсятся в нули. Пробелы тримаются.- Parameters:
valuesStr- строка- Returns:
- множество целых. всегда не null.
- See Also:
-
#toString(Collection)toIntegerList(String)
-
toLongSet
-
toString
преобразует коллекцию строк в строку через запятую- Parameters:
valuesList- коллекция-итерабл- Returns:
- String
-
toString
преобразует коллекцию строк в строку через значок- Parameters:
valuesList- коллекция-итерабл- Returns:
- String (если на входе null или пустой итерабл, то "")
-
toString
преобразует массив (строк) в строку через значок- Parameters:
valuesList- массив объектов- Returns:
- String
-
toString
-
toString
Преобразует список строк в строку эти же строки через запятую, начиная с какой то позиции- Parameters:
valuesList- List- Returns:
- String
-
toString
-
enumToMask
Преобразует строку вида "1,2,3" в маску длинного целого.- Parameters:
mask- строка- Returns:
- маска
-
maskToEnum
Преобразование битовой маски в строку вида 1,2,3. Последний/левый (63-й) бит не обрабатывается и, соответственно, не выводится! Так что и 0xFFFFFFFFFFFFFFFFL и 0x7FFFFFFFFFFFFFFFL даёт "0,1,…,62". TODO используется в группах догогоров в основном, так что непонятно, разобраться бага или фича. если бага — исправить и удалить предупреждение. если фича, то какое-то неявное поведение, значит, удалить этот туду но оставить предупреждение.- Parameters:
mask- маска, длинное целое- Returns:
- строка
-
formatCost
Форматирование числа с плавающей точкой до второго знака после запятой. Зачастую цена во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход. -
formatCost
Форматирование в строку цены в стандартном виде- Parameters:
value- значение в БигДецимал- Returns:
- строка типа 123.45, либо null если на входе null
-
formatCost
Форматирование числа с плавающей точкой до второго знака после запятой. Зачастую цена во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход.- Parameters:
value- значение в БигДецималprecission- точность после запятой
-
formatCost
Форматирование в строку цены в стандартном виде- Parameters:
value- значение в БигДецималprecission- точность после запятой- Returns:
- строка типа 123.45, либо null если на входе null
-
formatCostByGrouping
Форматирование в строку цены с группированием.
Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360- Parameters:
value- - суммаsizeGroup- - размерность группы, если меньше 1, то будет принят равным 3.precission- - точность после запятой. Все что после запятой - не группируется- Returns:
- - строка или null, если value = null
-
formatSessionCost
Форматирование в строку цены сессии- Parameters:
value- значение в БигДецимал- Returns:
-
formatSessionCost
Форматирование стоимости с плавающей точкой до пятого знака после запятой. Зачастую стоимость во float формате: 1) устраивает, 2) используется "по старинке", необходим постепенный переход. -
memoryStatus
Возвращает строку с состоянием памяти приложения и количеством потоков.- Returns:
-
memoryStatusShort
Инфа о памяти в виде сокращённого "use / total / max", одной строкой. -
bytesToHexString
Преобразование массива байтов в строку вида "02AB03"- Parameters:
value-- Returns:
-
hexStringToBytes
Преобразование строки вида "02 AB 03" в массив байтов.- Parameters:
value- String- Returns:
- byte[]
-
bytesToString
Обратная к функцииhexStringToBytes(String), преобразование массива байт к строке вида "02 AB 03"- Parameters:
value- byte[]- Returns:
- String
-
bytesToString
Преобразование массива байт в HEX строку с указанным разделителем- Parameters:
bytes- массив байтdelimeter- разделитель, например, пробел или дефисupperCase- если true, то символы результата в верхнем регистре- Returns:
-
stringToBytes
Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 или 0B-CF-22-4B-A2 в массив байт.- Parameters:
s- строка вида 0bcf224ba2 или 0BCF224BA2delimeter- - разделитель, если он нужен- Returns:
-
byteBufferAsArray
Преобразование буфера байт к массиву байт.- Parameters:
data-- Returns:
-
byteBufferAsArray
Преобразование буфера байт к массиву байт.- Parameters:
data- буфер.length- длина данных.- Returns:
-
getIdSet
Собирание списка id из списка объектов расширяющих Id.- Parameters:
collection-- Returns:
-
getSystemVariables
-
getJavaProperties
-
newInstance
public static <I> I newInstance(String name, Class<? extends I> clazz) throws ru.bitel.bgbilling.common.BGException Возвращает объект класса, заданного именем- Parameters:
name- имя классаclazz- класс, который расширяет класс name- Returns:
- null - если нет такого класса
- Throws:
ru.bitel.bgbilling.common.BGException
-
getDigestBytes
-
getDigestBytes
public static byte[] getDigestBytes(byte[] value) Возвращает байтовое представление MD5 хэша от входного массива байтов- Parameters:
value- входные данные- Returns:
- массив байтов
-
getDigest
Возвращает строковое представление MD5 хэша от входной строки. Обязательно указание кодировки, т.к. дайджест берётся только от байтовой последовательности, дайджест от строки неочевидное поведение имеет в общем случае.- Parameters:
value- входные данные.encoding- кодировка, в которой строка представлена (в ней берутся байты из неё).- Returns:
- строка 16-ричное представление хеша, в upper-case
-
getDigest
-
getDigest
-
swapWords
Меняет местами четные символы с соответствующими нечетными- Parameters:
str- входная строка- Returns:
-
pageCount
public static final int pageCount(int count, int onPage) Расчёт количества страниц- Parameters:
count- количество элементовonPage- количество элементов на странице- Returns:
-
pairToString
Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.- Parameters:
param- список с массивами строк из 2х элементов- Returns:
-
pairHashToString
Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.- Parameters:
param- мап с парами ключ-значение- Returns:
-
pairToString
Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.- Parameters:
param- список строковых массивов из 2х элементовpairsDelim- разделитель парpairDelim- разделитель пары- Returns:
-
stringToPairs
Разбив строки пар с разделителями между парами = и разделителями пар , либо ; в список массивов из двух элементов.- Parameters:
param-- Returns:
-
stringToPairsHash
Разбивание строки пар с разделителями между парами = и разделителями пар , либо ; в Map, первые элементы пар становятся ключами, вторые - значениями.- Parameters:
param-- Returns:
-
linesToPairsHash
Разбивание строк пар с разделителями между парами = и разделителями пар \n, в Map, первые элементы пар становятся ключами, вторые - значениями.- Parameters:
param-- Returns:
-
listToMap
-
stringToPairs
Разбив строки пар в список массивов из двух элементов.- Parameters:
param- строка парpairsDelim- разделитель между парамиpairDelim- разделитель пары- Returns:
-
readByBlock
Возвращает массив байтов, полученных поблочным чтением входного потока. Вычитывает весь InputStream, пока читается. В результате помещает всё в один массив byte[] ровно такой длины, сколько считалось.- Parameters:
input- входной поток- Returns:
- byte[]
- Throws:
IOException
-
flush
Переброс блоками из входящего потока в исходящий. Ничего после чтения не закрывается. Ничего после записи не флушится. При ошибках выкидывает наружу. Работает синхронно. Для асинхронного связывания см. StreamConnector.- Parameters:
inputStream- входной стрим.outputStream- выходной стрим.- Throws:
IOException- при ошибках I/O.
-
readFullBuffer
Вычитываем полный буфер символов (может ведь по кускам приходить). Типа для подстраховки. Гарантированно заполняем весь буфер.- Parameters:
reader- ридерbuffer- буфер нужной длины, который надо до конца заполнить- Throws:
IOException- при ошибке чтения или есть на буфер не хватило байт
-
readFullBuffer
- Throws:
IOException
-
getMessage
Получение сообщения из ответа сервера. В общих утилсах, т.к. используется WiFi порталом.- Parameters:
doc-- Returns:
-
multiLetter
Возвращает строку с продублированной определенное число раз входной строкой- Parameters:
letter- входная строкаcount- количество повторений- Returns:
-
randomAlphanumeric
Возвращает псевдослучайную последовательность из алфавитно-цифровых символов- Parameters:
count- длина последовательности- Returns:
-
BuToI
Deprecated.ИспользоватьunsignedByteToInt(byte)- Parameters:
value-- Returns:
-
IuTol
Deprecated.ИспользоватьunsignedIntToLong(int)- Parameters:
value-- Returns:
-
IuToL
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
-
formatBigDecimal
Форматирование децимала до указанного знака после запятой, маскируется NULL.- Parameters:
value-scale-- Returns:
- See Also:
-
formatBigDecimalSumm
Форматирование децимала до второго знака после запятой, маскируется NULL.- Parameters:
value-- Returns:
- See Also:
-
roundBigDecimalSumm
Округление децимала до второго знака после запятой.- Parameters:
value-- Returns:
-
checkMacAddres
-
removeZeroTail
public static final byte[] removeZeroTail(byte[] data) -
booleanToStringInt
Возвращает строковое представление boolean в виде числа- Parameters:
value-- Returns:
- "1" - если value = true, "0" - если value = false
-
formatPhoneNumber
-
isArrayString
-
deleteAfterDog
-
deleteBeforeSharp
-
formatSessionTime
-
formatSessionTime2
-
formatInteger
-
charsetConvert
Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировку- Parameters:
value- входная строкаencoding- кодировка
-
toTranslit
Переводит русский текст в транслит. В результирующей строке каждая кириллическая буква будет заменена на соответствующую латинскую. Пиндоские символы останутся прежними.- Parameters:
text- исходный текст с русскими символами- Returns:
- результат
-
getMD4Digest
public static String getMD4Digest(String input, String charsetName) throws NoSuchAlgorithmException, UnsupportedEncodingException Делает md4-дайджест из строки (текстовый дайджест). "The quick brown fox jumps over the lazy dog" => "1bee69a46ba811185c194762abaeae90". Надобится для нужд всяких авторизаций. Используется, например, в вебмани в xml-интерфейсах.- Parameters:
input- входная строкаcharsetName- кодировка для взятия байтов из строки- Returns:
- выходная строка
- Throws:
NoSuchAlgorithmException- если какие-то проблемы с поддержкой алгоритмаUnsupportedEncodingException- если какие-то проблемы с поддержкой указанной кодировки
-
newMD4
MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.- Returns:
- Throws:
NoSuchAlgorithmException
-
getMD4Digest
- Throws:
NoSuchAlgorithmException
-
checkEmail
Проверка email на валидность. Используется создание InternetAddress.- Parameters:
email- мыло- Returns:
- true, если корректное
-
getListItemEnumFromId
Возвращение значения енума, наследующего ListItem по коду id. Используется в поиске по коду цифровому значения при использовании enum в качестве справочника перечислимых констант. Использование:
CurrencyBank bank = getListItemEnumFromId( CurrencyBank.class, 1002 )- Parameters:
enumm- - класс enum-типаid- числовой id искомого enum-значенияdef- по умолчанию (если не нашлось ничего)- Returns:
- енум-значение с id искомым или def если таковой не найден
-
getListItemEnumFromId
Возвращение значения енума, наследующего ListItem по коду id. По умолчанию возвращает null.- Returns:
- енум-значение с id искомым или null если таковой не найден.
- See Also:
-
unpackValues
Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1- Parameters:
value-base-- Returns:
-
packValues
Обратная распаковке. Преобразует последовательности чисел (возможно, через дефис) в битовую маску.- Parameters:
values- значения элементов вида 1,2,5-7,9-12 итдbase- база, число, с которого начинается отсчёт. Типа с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1.- Returns:
- длинное целое - маска.
-
convert
-
convert
-
convert
-
checkPath
Проверяет путь и заменяет прямые слэши на обратные. Добавляет слэш в конце, если он отсутствует.- Parameters:
rawPath- необработанный путь- Returns:
- обработанный путь
-
escapeHTML
-
checkJava
public static void checkJava() throws ru.bitel.bgbilling.common.BGExceptionПроверка java на корректную совместимость с нашим кодом. Проверяется версия спецификации, название реализации vm и было ли корректно обновлено всё, что касается часовых поясов. Для мягкого сообщения отловить экзепшен и вывести мессаж. А вообще по-хорошему запускать программу не нужно, если работа корректная невозможна, то работать вообще никак не нужно.- Throws:
ru.bitel.bgbilling.common.BGException- при несовместимости. В один экзепшен собираются все предупреждения через '\n'.
-
getOsJavaVersion
Инфа о версии java/os в несколько строк через \n. Краткая или полная. -
guid
Генерирует уникальный идентификатор. Используется для генерации уникального id для контролов в web.- Returns:
- строка.
-
parseEnum
-
getDecimalFormatSumma
-
checkCanReadFiles
Проверка что все файлы указанные могут быть прочитаны. Если не так, то возвращает сообщение списка файлов. -
getNamesFiles
Список имени файлов в столбик с размерами (для сообщений, например) -
maskEmail
Маскирование адреса электронной почты, из адреса вида Name.Fio@domain.com возращает N**e.F*o@d****n.c*m- Parameters:
email-- Returns:
-
maskPhoneNumber
-
maskConfidential
Маскировка всех символов для таких строк, как пароли, логины, ключи и т.д. Заменяются все символы на '*' с сохранением длины строки.- Parameters:
msg2Mask- строка с конфиденциальными данными, которые нужно замаскировать. Например, пароль, логин и т.д.- Returns:
- строка вида '*****'. Длина строки совпадает с исходной строкой.
-
getIdList
Получаем список id у списка сущностей, которые наследуют Id.- Parameters:
items- список сущностей, отнаследованных от Id.- Returns:
- список id сущностей.
-
htmlEncode
-
insertBOM
Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки. Это не по стандарту и неправильно, но выхода нет больше. <xsl:value-of select="utils:insertBOM()"/> Вообще он вставляет BOM для любой кодировки в итоге, т.к. это просто спецсимвол, который при трансформации (или перекодировании) в нужной кодировке превратится в последовательность байт, которая уже является BOM-ом итоговым. -
concat
Соединяет два листа - создает новый, с содержимым указанных листов. Осуществляются проверки на null (обрабатывается как пустой лист).- Parameters:
a-b-- Returns:
-
iterable
Создает Iterable из двух Collection.- Parameters:
a-b-- Returns:
-
getClassList
-
toIntegerList
-
toJsonArray
-
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- байт в виде intn- номер бита (0..7)- Returns:
- true - установлен, false - снят.
-
makeByte
public static byte makeByte(int bit7, int bit6, int bit5, int bit4, int bit3, int bit2, int bit1, int bit0) Собирает из 8 битов (0/1) один byte. -
isNY
public static boolean isNY() -
normalizePhone
Номер телефона очищает/нормализует по возможности, если не удаётся и/или не похоже на телефон, то вернёт null. -
normalizeEmail
E-mail очищает/нормализует по возможности, если не удаётся и/или не похоже на мыло, то вернёт null.
-