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 int
static final long
static final String
static final AtomicLong
static final char[]
static final char[]
static final int
static final long
static final long
static final int
static String
static final Pattern
static final Pattern
static final Pattern
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final String
booleanToStringInt
(boolean value) Возвращает строковое представление boolean в виде числаstatic final int
BuToI
(byte value) Deprecated.static byte[]
byteBufferAsArray
(ByteBuffer data) Преобразование буфера байт к массиву байт.static byte[]
byteBufferAsArray
(ByteBuffer data, int length) Преобразование буфера байт к массиву байт.static String
bytesToHexString
(byte[] value) Преобразование массива байтов в строку вида "02AB03"static int
bytesToInt
(byte[] bytes) Возвращает int, полученный из массива длиной от 1 до 4 байт.static int
bytesToInt
(byte[] bytes, int pos, int length) Возвращает int, полученный из массива длиной от 1 до 4 байт.static long
bytesToLong
(byte[] bytes) Возвращает long, полученный из массива длиной от 1 до 8 байт.static long
bytesToLong
(byte[] bytes, int pos, int length) Возвращает long, полученный из массива длиной от 1 до 8 байт.static String
bytesToString
(byte[] value) Обратная к функцииhexStringToBytes(String)
, преобразование массива байт к строке вида "02 AB 03"static String
bytesToString
(byte[] bytes, boolean upperCase, String delimeter) Преобразование массива байт в HEX строку с указанным разделителемstatic String
charsetConvert
(String value, String encoding) Конвертирует входную строку из кодировки ISO-8859-1 в указанную кодировкуstatic String
checkCanReadFiles
(File[] files) Проверка что все файлы указанные могут быть прочитаны.static boolean
checkEmail
(String email) Проверка email на валидность.static void
Проверка java на корректную совместимость с нашим кодом.static final boolean
checkMacAddres
(String value) static String
Проверяет путь и заменяет прямые слэши на обратные.static <V> List<V>
Соединяет два листа - создает новый, с содержимым указанных листов.static final Object
static final Object
static final Object
static int
convertBytesToInt
(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричногоstatic long
convertBytesToLong
(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричногоstatic byte[]
convertIntToBytes
(int value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичногоstatic byte[]
convertLongToBytes
(long value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичногоstatic String
deleteAfterDog
(String value) static String
deleteBeforeSharp
(String value) static final long
enumToMask
(String mask) Преобразует строку вида "1,2,3" в маску длинного целого.static String
escapeHTML
(String s) static boolean
flush
(InputStream inputStream, OutputStream outputStream) Переброс блоками из входящего потока в исходящий.static String
formatBigDecimal
(BigDecimal value, int scale) Форматирование децимала до указанного знака после запятой, маскируется NULL.static String
formatBigDecimalSumm
(BigDecimal value) Форматирование децимала до второго знака после запятой, маскируется NULL.static String
formatCost
(float value) Форматирование числа с плавающей точкой до второго знака после запятой.static String
formatCost
(float value, int precission) Форматирование числа с плавающей точкой до второго знака после запятой.static String
formatCost
(BigDecimal value) Форматирование в строку цены в стандартном видеstatic String
formatCost
(BigDecimal value, int precission) Форматирование в строку цены в стандартном видеstatic String
formatCostByGrouping
(BigDecimal value, int sizeGroup, int precission) Форматирование в строку цены с группированием.
Напрамер если передана сумма = 349345543345, а размерность 3 то результатом будет 349 345 543 345, а для размерности 4 - 3493 4554 3360static String
formatInteger
(int value) static String
formatLong
(long value) static String
formatPhoneNumber
(String value) static String
formatSessionCost
(float value) Форматирование стоимости с плавающей точкой до пятого знака после запятой.static String
formatSessionCost
(BigDecimal value) Форматирование в строку цены сессииstatic String
formatSessionTime
(int value) static String
formatSessionTime2
(int value) getClassList
(String packageName) static DecimalFormat
static String
Возвращает строковое представление MD5 хэша от входной строки.static String
static 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 String
getListItemEnumFromId
(Class<E> enumm, int id) Возвращение значения енума, наследующего ListItem по коду id.getListItemEnumFromId
(Class<E> enumm, int id, E def) Возвращение значения енума, наследующего ListItem по коду id.static byte[]
getMD4Digest
(byte[] input) static String
getMD4Digest
(String input, String charsetName) Делает md4-дайджест из строки (текстовый дайджест).static String
getMessage
(Document doc) Получение сообщения из ответа сервера.static String
getNamesFiles
(File[] files) Список имени файлов в столбик с размерами (для сообщений, например)static String
getOsJavaVersion
(boolean full) Инфа о версии java/os в несколько строк через \n.static final String
static String
guid()
Генерирует уникальный идентификатор.static byte[]
hexStringToBytes
(String value) Преобразование строки вида "02 AB 03" в массив байтов.static String
htmlEncode
(String inValue, String ENCODING) static final String
Возвращает BOM, например для utf-8 (EF BB BF), для использования в xslt чтобы файлы csv имели в начале BOM и открывалис ахсцелем искаропки.static boolean
isArrayString
(String string) static final boolean
isBlankString
(String value) Проверяет, является ли строка пустой, состоящей из пробельных символов или nullstatic boolean
isEmptyCollection
(Collection collection) Проверяет переданную коллекцию на пустоту или nullstatic final boolean
isEmptyString
(String value) Проверяет, является ли строка пустой или nullstatic boolean
isNY()
static final boolean
isZeroFilledArray
(byte[] val) Проверяет, заполнен ли байтовый массив целиком нулями.static <V> Iterable<V>
iterable
(Collection<V> a, Collection<V> b) Создает Iterable из двух Collection.static long
IuTol
(int value) Deprecated.static final long
IuToL
(int value) Deprecated.linesToPairsHash
(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 final String
Возвращает входную строку тогда и только тогда, когда она не является blank строкой (см. isBlankString(String)), иначе возвращает значение по умолчаниюstatic String
maskConfidential
(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 BigDecimal
maskNull
(BigDecimal value) Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.static final <K> List<K>
Преобразует возвращает пустой список.static final <K> Set<K>
static String
maskPhoneNumber
(String phone, int showDigitBegin, int showDigitEnd) static String
maskToEnum
(long mask) Преобразование битовой маски в строку вида 1,2,3.static final String
Возвращает строку с состоянием памяти приложения и количеством потоков.static final String
Инфа о памяти в виде сокращённого "use / total / max".static final String
multiLetter
(String letter, int count) Возвращает строку с продублированной определенное число раз входной строкойstatic <I> I
newInstance
(String name, Class<? extends I> clazz) Возвращает объект класса, заданного именемstatic MessageDigest
newMD4()
MD4 устарел и простым getInstance в JRE его нельзя получить, потому создан такой метод.static final boolean
notBlankString
(String value) Проверяет, является ли строка не пустой, не состоящей из пробельных символов и не nullstatic boolean
notEmptyArray
(Object[] array) Проверяет переданный массив на пустотуstatic boolean
notEmptyCollection
(Collection collection) Проверяет переданную коллекцию на пустоту.static final boolean
notEmptyString
(String value) Проверяет, является ли строка не пустой и не nullstatic long
packValues
(Collection<String> values, int base) Обратная распаковке.static final int
pageCount
(int count, int onPage) Расчёт количества страницstatic final String
pairHashToString
(Map<String, String> param) Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.static final String
pairToString
(List<String[]> param) Склеивание пар строк в единую строку с заданным разделителем пар ',' и разделителем между элементами пары '='.static final String
pairToString
(List<String[]> param, String pairsDelim, String pairDelim) Склеивание пар строк в единую строку с заданным разделителем пар и разделителем между элементами пары.static BigDecimal
parseBigDecimal
(String str, BigDecimal defaultValue) Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.static BigDecimal
Преобразует строку в BigDecimal, в случае ошибки кидает NumberFormatException (как оригинальный BigDecimal).static boolean
parseBoolean
(String str) Разбирается Boolean-строка.static boolean
parseBoolean
(String str, boolean defaultValue) Разбирается Boolean-строка.static double
parseDouble
(String str, double defaultValue) Преобразует строку в число с плавающей точкой двойной точности, и, в случае ошибки, возвращает значение по умолчаниюstatic <T extends Enum<T>>
Tstatic float
parseFloat
(String str, float defaultValue) Преобразует строку в число с плавающей точкой, и, в случае ошибки, возвращает значение по умолчанию.static int
Преобразует строку в целое число, и, в случае ошибки, возвращает 0.static int
Преобразует строку в целое число, и, в случае ошибки, возвращает значение по умолчанию.static Integer
parseInteger
(String str, Integer defaultValue) Преобразует строку в целое число Integer, в случае ошибки, возвращает значение по умолчанию.static long
Преобразует строку в long число, и, в случае ошибки, возвращает 0.static long
Преобразует строку в long число, и, в случае ошибки, возвращает значение по умолчанию.static Period
parsePeriod
(String date1, String date2, Period defaultPeriod) static String
randomAlphanumeric
(int count) Возвращает псевдослучайную последовательность из алфавитно-цифровых символовstatic byte[]
readByBlock
(InputStream input) Возвращает массив байтов, полученных поблочным чтением входного потока.static void
readFullBuffer
(InputStream is, byte[] buffer) static void
readFullBuffer
(Reader reader, char[] buffer) Вычитываем полный буфер символов (может ведь по кускам приходить).static final byte[]
removeZeroTail
(byte[] data) static BigDecimal
roundBigDecimalSumm
(BigDecimal value) Округление децимала до второго знака после запятой.static 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 boolean
testBit
(byte b, int n) Установлен ли бит в байте.static boolean
testBit
(int b, int n) Установлен ли бит в байте (представленный интом)static final List<BigDecimal>
toBigDecimalList
(String valuesStr) static final int[]
toIntArray
(String valuesStr) Похожа наtoList(String)
.toIntegerList
(String valuesStr) Похожа наtoList(String)
.toIntegerList
(org.json.JSONArray jsonArray) toIntegerSet
(String valuesStr) Преобразование строки, разделенной запятыми к набору Integer.static org.json.JSONArray
toJsonArray
(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 String
static final String
static String
toTranslit
(String text) Переводит русский текст в транслит.static String
unpackValues
(long value, int base) Обратная паковке. 231 = 11100111 = "0-2,5-7" base - с какого числа начинать: час - с 0, минуты - с 0, остальное - с 1static final int
unsignedByteToInt
(byte value) Преобразование байта в целое без знака.static final long
unsignedIntToLong
(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- Parameters:
value
-- Returns:
-
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-ричное представление хеша.
-
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()
-