Package ru.bgcrm.util
Class Utils
java.lang.Object
ru.bgcrm.util.Utils
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddCommaSeparated(StringBuilder result, String value) Добавляет в конец строки новое значение, отделяя запятой с пробелом, если он не первый.static voidaddSeparated(StringBuilder result, String separator, String value) static voidaddSetupPair(StringBuilder data, String prefix, String param, String value) static booleanstatic StringBuilderappendln(String text, StringBuilder builder) static <T> Set<T> asSet(T... values) static StringbooleanToStringInt(boolean value) Преобразует boolean в строку "1" или "0".static StringbytesToString(byte[] bytes, boolean upperCase) Преобразование массива байт в HEX строку.static <T> List<T> Конкатенация двух списковstatic booleancontains(int expected, int[] array) static intconvertBytesToInt(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричногоstatic byte[]convertIntToBytes(int value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичногоstatic FilecreateDirectoryIfNoExistInWorkDir(String dirName) static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyGetter) static <T> Predicate<T> distinctByKeys(Function<? super T, ?>... keyGetters) static <T> List<T> emptyToNull(List<T> value) Возвращает null, если List пустой либо null, иначе возвращает исходный List.static <T> Set<T> emptyToNull(Set<T> value) Возвращает null, если Set пустой либо null, иначе возвращает исходный Set.static StringКодирует символы XML форматирования (кавычки, теги) для нормального их отображения в HTML тексте.static IntegerextractDigits(String value) static StringextractLetters(String value) static StringformatPatternString(String object, int objectId, ParamValueDAO paramValueDAO, String pattern) Генерирует строку из шаблона с подстановкой макросов вида ${param_<код параметра>}.static <T> Tstatic <T> Tstatic <T> Tstatic <T extends PeriodSupport>
List<T> getActive(Collection<T> collection) Список объектов, период которых активен на текущую датуstatic <T extends PeriodSupport>
List<T> getActiveOnDate(Collection<T> collection, Date date) Список объектов, период которых активен на указанную датуstatic Connectionstatic DategetDateFromMinutes(int minutes) static StringВызываетgetDigest(String, String)с кодировкой UTF-8.static StringВозвращает строковое представление MD5 хэша от входной строки.static Patternstatic <T> TgetFirst(Collection<T> collection) Возвращает первый элемент коллекции либо null если коллекция пуста.static <T> TgetLastElement(Iterable<T> elements) static StringgetLetterForNumber(int i) static <T> @NotNull Optional<T> getNullableFirst(Collection<T> collection) getObjectIds(Collection<T> list) Возвращает коды объектов из коллекции через запятую.getObjectIds(Collection<T> list, String startValues) Возвращает коды объектов из коллекции через запятую с указанным началом строки.getObjectIds(Collection<T> list, String startValues, String delim) Возвращает коды объектов из коллекции с указанием разделителя и начала строки.getObjectIdsList(Collection<T> list) Возвращает список кодов объектов.getObjectIdsSet(Collection<T> list) Возаращает набор кодов объектов.getObjectList(List<T> fullList, Set<Integer> selectedIds) Возвращает объекты из полного списка с указанными кодами.getObjectList(Map<Integer, T> fullMap, List<Integer> selectedIds) Возвращает объекты из полного мапа с указанным порядком кодов.getObjectTitles(Collection<T> list) Возвращает наименования объектов через запятую.getObjectTitles(Collection<T> list, String startValues) Возвращает наименования объектов с указанным началом строки.getObjectTitles(Collection<T> list, String startValues, String delim) Возвращает наименования объектов с указанием начала строки и разделителя.static Stringstatic StringgetServerInstanceId(String defaultValue) static StringgetStringFromInputStream(InputStream inputStream, Charset charset) static @Nullable StringgetSubstringBetweenIfContains(@Nullable String original, @NotNull String tag) static Stringstatic StringgetWordByIndex(String fio, int index, String delimiter) static booleanhasOneItem(Collection<?> collection) static booleanisBlankString(String value) Проверяет, является ли строка пустой, состоящей из пробельных символов или null.static booleanstatic booleanstatic booleanstatic booleanisEmptyString(String value) Проверяет, является ли строка пустой или null.static booleanisNotBlank(String... values) static <T> booleanisOneOf(T actualValue, T... expectedValues) static booleanisStringNumber(String str) Определяет хранится ли в строке целое число.static StringПреобразует входную строку в значение по-умолчанию, если она null или пустая.static StringПреобразует входную строку в пустую, если она null.static <T> TmaskNull(T value, T defaultValue) Возвращает объект либо иное значение, если объект null.static BigDecimalmaskNullDecimal(BigDecimal value) Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.static <T> Set<T> maskNullSet(Set<T> value) Возвращает пустой немодифируемый Set, если value == null либо value.static booleanmatchAllString(Collection<String> collection, String regExp) static booleanmatchAnyString(Collection<String> collection, String regExp) static booleanmatchString(String str, String regExp) static <T extends Exception>
voidmeasure(String title, ThrowableRunnable<T> runnable) static booleannotBlankString(String value) Проверяет, является ли строка пустой, состоящей из пробельных символов или null.static booleannotEmptyString(String value) Проверяет, является ли строка пустой или null.static booleannotNullOrEmpty(Collection<?> collection) static booleannotNullOrEmpty(Map<?, ?> map) static @Nullable StringnullableEscapeXml(@Nullable String value) static booleannullOrEmpty(Collection<?> collection) static booleannullOrEmpty(Map<?, ?> map) static BigDecimalparseBigDecimal(String str) Преобразует строку в BigDecimal, и, в случае ошибки, возвращает 0.0static BigDecimalparseBigDecimal(String str, BigDecimal defaultValue) Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.static booleanparseBoolean(String str) Вызывает функиюparseBoolean(String, Boolean)со вторым параметром false.static BooleanparseBoolean(String str, Boolean defaultValue) Преобразует строку в boolean.static doubleparseDouble(String str) Преобразует строку в double, в случае ошибки возращает 0.static doubleparseDouble(String str, int defaultValue) Преобразует строку в double, в случае ошибки возращает defaultValue.static floatparseFloat(String str) static floatparseFloat(String str, float defaultValue) parseIdTitleList(String value) Возвращает список объектов из строки вида код:наименование; код:наименование.parseIdTitleList(String value, String noPairValue) Возвращает список объектов из строки вида код:наименование; код:наименование.static intПреобразует строку в int, в случае ошибки возращает 0.static intПреобразует строку в int, в случае ошибки возращает defaultValue.static @Nullable IntegerparseInteger(@Nullable String str) static @Nullable IntegerparseInteger(@Nullable String str, @Nullable Integer defaultValue) parseIntegerKeyValue(@NotNull String text, @NotNull String entryDelimiter, @NotNull String keyValueDelimiter) parseKeyValue(@NotNull String text, @NotNull String entryDelimiter, @NotNull String keyValueDelimiter) Получаем мапу из строки со списком параметров вида key-valuestatic longПреобразует строку в long, в случае ошибки возращает 0.static longПреобразует строку в long, в случае ошибки возращает defaultValue.parsePairedInt(@Nullable String value, @NotNull String delimiter) static StringrequireNonEmpty(String value, String message) static <T> TrequireNonNull(T value, String message) static <T> TrequireNonNull(T value, Supplier<String> messageSupplier) static <T extends Number>
TrequirePositive(T value, String message) static voidsetFileNameHeades(javax.servlet.http.HttpServletResponse response, String fileName) Устанавливает заголовки HTTP запроса при выгрузке файла.splitToPair(String value) splitToPair(String value, String splitter) static byte[]Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 в массив байт.stringToMap(String rawContent, String itemSplitter) Преобразование результата строки полученной через Map.toString обратно в Mapstatic StringsubstringAfter(String value, String token, int num) Возвращает остаток строки после num вхождения token в строку value.static StringМеняет местами четные символы с соответствующими нечетнымиstatic @NotNull List<BigDecimal> toBigDecimalList(@NotNull String valuesStr) static @NotNull List<BigDecimal> toBigDecimalList(String valuesStr, String delims) static @NotNull Set<BigDecimal> toBigDecimalSet(@NotNull String valuesStr) static @NotNull Set<BigDecimal> toBigDecimalSet(String valuesStr, String delims) toIntegerList(String valuesStr) Преобразует строку с разделителями - запятыми или точками с запятой к списку Integer.toIntegerList(String valuesStr, String delims) Преобразует строку с произвольными разделителями - символами в delims в список Integer.toIntegerSet(String valuesStr) Преобразование строки, разделенной запятыми к набору Integer.static StringПреобразует строку разделённую , либо ; в список строк.Преобразует строку с произвольными разделителями - симвоолами в delims в список строк.static <T> List<T> toList(T... value) Преобразует несколько элементов в список.static <T> List<T> toMutableList(T... value) Преобразует строку разделённую , либо ; в набор строк.Преобразует строку разделённую произвольными разделителями - симвоолами в delims в набор строк.static <T> Set<T> static <T> Set<T> toSet(T... values) Преобразует несколько элементов в набор.static StringtoSQLString(Collection<?> valuesList) static StringtoString(Collection<?> valuesList) ВызываетсяtoString(Collection, String, String)с параметром emptyValue="", delim=DEFAULT_DELIM.static StringtoString(Collection<?> valuesList, String emptyValue, String delim) Преобразовывает коллекцию в строку, разделенную значениями delim.static StringПреобразует лист строк в planeText с произвольным разделителемstatic @Nullable StringtryGetFromSplit(String text, String separator, int index) Взять элемент под индексом N из массива, полученного при расщеплении строкиstatic intunsignedByteToInt(byte value) Преобразование байта в целое без знака.static longunsignedIntToLong(int value) Преобразование целого лонг без знака.static booleanvalidateEmail(String email) static booleanvalidateIPv4(String ip)
-
Field Details
-
GSON
public static final com.google.gson.Gson GSON -
UUID_INSTANCE
-
UTF8
-
HEX
public static final char[] HEX -
HEX_LOWERCASE
public static final char[] HEX_LOWERCASE -
log
public static final ru.bgcrm.logging.Logger log -
STRING_ARRAY
-
INTEGER_ARRAY
-
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
parseInt
Преобразует строку в int, в случае ошибки возращает 0.- Parameters:
str- входная строка- Returns:
- число преобразованное из строки или 0 в случае ошибки
-
parseInt
Преобразует строку в int, в случае ошибки возращает defaultValue.- Parameters:
str- входная строкаdefaultValue- значение возращаемое в случае ошибки при преобразовании- Returns:
- число преобразованное из строки или defaultValue в случае ошибки
-
parseDouble
Преобразует строку в double, в случае ошибки возращает 0.- Parameters:
str- входная строка- Returns:
- число преобразованное из строки или 0 в случае ошибки
-
parseDouble
Преобразует строку в double, в случае ошибки возращает defaultValue.- Parameters:
str- входная строкаdefaultValue- значение возращаемое в случае ошибки при преобразовании- Returns:
- число преобразованное из строки или defaultValue в случае ошибки
-
parseInteger
-
parseInteger
-
parseLong
Преобразует строку в long, в случае ошибки возращает 0.- Parameters:
str- входная строка- Returns:
- число преобразованное из строки или 0 в случае ошибки
-
parseLong
Преобразует строку в long, в случае ошибки возращает defaultValue.- Parameters:
str- входная строкаdefaultValue- значение возращаемое в случае ошибки при преобразовании- Returns:
- число преобразованное из строки или defaultValue в случае ошибки
-
parseFloat
-
parseFloat
-
parseBigDecimal
Преобразует строку в BigDecimal, и, в случае ошибки, возвращает значение по умолчанию.- Parameters:
str- строка представляющая BigDecimal-значение.defaultValue- BigDecimal-значение по умолчанию.- Returns:
- новый объект BigDecimal.
-
parseBigDecimal
Преобразует строку в BigDecimal, и, в случае ошибки, возвращает 0.0- Parameters:
str- строка представляющая BigDecimal-значение.- Returns:
- новый объект BigDecimal.
-
parseBoolean
Вызывает функиюparseBoolean(String, Boolean)со вторым параметром false.- Parameters:
str-- Returns:
-
isStringNumber
Определяет хранится ли в строке целое число.- Parameters:
str-- Returns:
-
parseBoolean
Преобразует строку в boolean.- Parameters:
str- строка.defaultValue- значение по-умолчанию.- Returns:
- true - если str равно "1", "TRUE", "YES", "ON" без учёта регистра; false - если str равно "0", "FALSE", "NO" без учёта регистра; в ином случае - defaultValue.
-
booleanToStringInt
Преобразует boolean в строку "1" или "0".- Parameters:
value-- Returns:
-
maskNull
public static <T> T maskNull(T value, T defaultValue) Возвращает объект либо иное значение, если объект null.- Parameters:
value-- Returns:
-
maskNull
Преобразует входную строку в пустую, если она null.- Parameters:
value-- Returns:
-
maskNullDecimal
Возвращает входное значение тогда и только тогда, когда оно не равно null, иначе возвращает BigDecimal.ZERO.- Parameters:
value-- Returns:
-
maskNullSet
Возвращает пустой немодифируемый Set, если value == null либо value.- Type Parameters:
T-- Parameters:
value-- Returns:
-
emptyToNull
Возвращает null, если Set пустой либо null, иначе возвращает исходный Set.- Parameters:
value-- Returns:
-
emptyToNull
Возвращает null, если List пустой либо null, иначе возвращает исходный List.- Parameters:
value-- Returns:
-
maskEmpty
Преобразует входную строку в значение по-умолчанию, если она null или пустая.- Parameters:
value-- Returns:
-
isEmptyString
Проверяет, является ли строка пустой или null.- Parameters:
value- проверяемая строка- Returns:
- true - если пустая или null
-
isBlankString
Проверяет, является ли строка пустой, состоящей из пробельных символов или null.- Parameters:
value- проверяемая строка- Returns:
- true если пустая, состоит из пробельных символов или null
-
notEmptyString
Проверяет, является ли строка пустой или null.- Parameters:
value- проверяемая строка- Returns:
- false если пустая или null
-
notBlankString
Проверяет, является ли строка пустой, состоящей из пробельных символов или null.- Parameters:
value- проверяемая строка- Returns:
- false - если пустая, состоит из пробельных символов или null
-
toString
ВызываетсяtoString(Collection, String, String)с параметром emptyValue="", delim=DEFAULT_DELIM.- Parameters:
valuesList-- Returns:
-
toString
Преобразовывает коллекцию в строку, разделенную значениями delim.- Parameters:
valuesList- коллектицияemptyValue- значение при пустом спискеdelim- разделитель- Returns:
-
toIntegerList
Преобразует строку с разделителями - запятыми или точками с запятой к списку Integer.- Parameters:
valuesStr-- Returns:
-
toIntegerList
Преобразует строку с произвольными разделителями - символами в delims в список Integer.- Parameters:
valuesStr-delims-- Returns:
-
toIntegerSet
Преобразование строки, разделенной запятыми к набору Integer.- Parameters:
valuesStr-- Returns:
-
toSet
Преобразует строку разделённую произвольными разделителями - симвоолами в delims в набор строк.- Parameters:
valuesStr-delims-- Returns:
-
toSet
Преобразует строку разделённую , либо ; в набор строк.- Parameters:
valuesStr-- Returns:
-
toList
Преобразует строку разделённую , либо ; в список строк.- Parameters:
valuesStr-- Returns:
-
toList
Преобразует строку с произвольными разделителями - симвоолами в delims в список строк.- Parameters:
valuesStr-delims-- Returns:
-
toText
Преобразует лист строк в planeText с произвольным разделителем- Parameters:
config-separator-- Returns:
-
toSet
Преобразует несколько элементов в набор. -
asSet
-
toList
Преобразует несколько элементов в список. -
toMutableList
-
toSet
-
getObjectIdsList
Возвращает список кодов объектов.- Parameters:
list-- Returns:
-
getObjectIdsSet
Возаращает набор кодов объектов.- Parameters:
list-- Returns:
-
getObjectIds
Возвращает коды объектов из коллекции через запятую.- Parameters:
list-- Returns:
-
getObjectIds
Возвращает коды объектов из коллекции через запятую с указанным началом строки.- Parameters:
list-startValues- начало строки.- Returns:
-
getObjectIds
public static <T extends Id> String getObjectIds(Collection<T> list, String startValues, String delim) Возвращает коды объектов из коллекции с указанием разделителя и начала строки.- Parameters:
list-startValues- начало строки.delim- разделитель кодов.- Returns:
-
getObjectTitles
Возвращает наименования объектов через запятую.- Parameters:
list-- Returns:
-
getObjectTitles
Возвращает наименования объектов с указанным началом строки.- Parameters:
list-startValues- начало строки.- Returns:
-
getObjectTitles
public static <T extends IdTitle> String getObjectTitles(Collection<T> list, String startValues, String delim) Возвращает наименования объектов с указанием начала строки и разделителя.- Parameters:
list-startValues- начало строки.delim- разделитель наименований объектов.- Returns:
-
getObjectList
Возвращает объекты из полного списка с указанными кодами.- Parameters:
fullList- полный список объектов.selectedIds- коды.- Returns:
-
getObjectList
public static <T extends IdTitle> List<T> getObjectList(Map<Integer, T> fullMap, List<Integer> selectedIds) Возвращает объекты из полного мапа с указанным порядком кодов.- Parameters:
fullMap- полный мап объектов.selectedIds- требуемый порядок кодов.- Returns:
-
parseIdTitleList
Возвращает список объектов из строки вида код:наименование; код:наименование.- Parameters:
value-- Returns:
-
parseKeyValue
public static Map<String,String> parseKeyValue(@NotNull @NotNull String text, @NotNull @NotNull String entryDelimiter, @NotNull @NotNull String keyValueDelimiter) Получаем мапу из строки со списком параметров вида key-value- Parameters:
text- исходный текстentryDelimiter- разделитель пар key-valuekeyValueDelimiter- разделитель (символ присваивания) между ключем и значением- Returns:
-
parseIntegerKeyValue
-
parseIdTitleList
Возвращает список объектов из строки вида код:наименование; код:наименование. Если значение для второго элемента пары не указано, будет использовано переданное в параметре noPairValue- Parameters:
value-noPairValue-- Returns:
-
addSetupPair
-
addCommaSeparated
Добавляет в конец строки новое значение, отделяя запятой с пробелом, если он не первый.- Parameters:
result-value-
-
addSeparated
-
formatPatternString
public static String formatPatternString(String object, int objectId, ParamValueDAO paramValueDAO, String pattern) throws BGException Генерирует строку из шаблона с подстановкой макросов вида ${param_<код параметра>}.- Parameters:
object-objectId-paramValueDAO-pattern-- Returns:
- Throws:
BGException
-
parseList
-
getDigest
ВызываетgetDigest(String, String)с кодировкой UTF-8.- Parameters:
value-- Returns:
-
getDigest
Возвращает строковое представление MD5 хэша от входной строки.- Parameters:
value- входные данныеcharset- кодировка- Returns:
- строка
-
getTmpDir
-
validateEmail
-
getEmailPattern
-
validateIPv4
-
createDirectoryIfNoExistInWorkDir
-
substringAfter
Возвращает остаток строки после num вхождения token в строку value.- Parameters:
value-token-num-- Returns:
-
getDateFromMinutes
-
bytesToString
Преобразование массива байт в HEX строку.- Parameters:
bytes- массив байтupperCase- если true, то символы результата в верхнем регистре- Returns:
-
stringToBytes
Конвертирование HEX строки вида 0bcf224ba2 или 0BCF224BA2 в массив байт.- Parameters:
s- строка вида 0bcf224ba2 или 0BCF224BA2- Returns:
-
getFirst
Возвращает первый элемент коллекции либо null если коллекция пуста. -
getLastElement
-
getNullableFirst
-
nullOrEmpty
-
notNullOrEmpty
-
nullOrEmpty
-
notNullOrEmpty
-
hasOneItem
-
concat
Конкатенация двух списков -
stringToMap
@NotNull public static @NotNull Map<String,String> stringToMap(String rawContent, String itemSplitter) Преобразование результата строки полученной через Map.toString обратно в Map- Parameters:
rawContent- - строка мапы- Returns:
- - отображение полученной строки как Mapinvalid input: '<'String, String>
-
splitToPair
-
splitToPair
-
escapeXml
Кодирует символы XML форматирования (кавычки, теги) для нормального их отображения в HTML тексте.- Parameters:
value-- Returns:
-
nullableEscapeXml
-
swapWords
Меняет местами четные символы с соответствующими нечетными- Parameters:
str- входная строка- Returns:
-
setFileNameHeades
public static void setFileNameHeades(javax.servlet.http.HttpServletResponse response, String fileName) Устанавливает заголовки HTTP запроса при выгрузке файла.- Parameters:
response-fileName-
-
unsignedByteToInt
public static int unsignedByteToInt(byte value) Преобразование байта в целое без знака.- Parameters:
value-- Returns:
-
unsignedIntToLong
public static long unsignedIntToLong(int value) Преобразование целого лонг без знака.- Parameters:
value-- Returns:
-
convertBytesToInt
public static int convertBytesToInt(byte[] bytes) Возвращает десятичное число, полученное преобразованием шестнадцатеричного- Parameters:
bytes- массив байтов: шестнадцатеричное число- Returns:
-
convertIntToBytes
public static byte[] convertIntToBytes(int value) Возвращает шестнадцатеричное число (массив байтов), полученное преобразованием десятичного- Parameters:
value-- Returns:
-
toSQLString
-
getStringFromInputStream
public static String getStringFromInputStream(InputStream inputStream, Charset charset) throws BGException - Throws:
BGException
-
getSubstringBetweenIfContains
-
tryGetFromSplit
Взять элемент под индексом N из массива, полученного при расщеплении строки- Parameters:
text- оригинальная строкаseparator- разделитель (regexp)index- индекс необходимого элемента- Returns:
- полученную подстроку или null если индекс превышает длину массива
-
getActive
Список объектов, период которых активен на текущую дату- Parameters:
collection-- Returns:
-
getActiveOnDate
public static <T extends PeriodSupport> List<T> getActiveOnDate(Collection<T> collection, Date date) Список объектов, период которых активен на указанную дату- Parameters:
collection-date-- Returns:
-
toJson
-
fromJson
-
fromJson
-
fromJson
-
requireNonNull
- Throws:
BGException
-
requireNonNull
@NotNull public static <T> T requireNonNull(@Nullable T value, Supplier<String> messageSupplier) throws BGException - Throws:
BGException
-
isNotBlank
-
requirePositive
-
getConnection
-
contains
public static boolean contains(int expected, int[] array) -
measure
public static <T extends Exception> void measure(String title, ThrowableRunnable<T> runnable) throws T - Throws:
T
-
parsePairedInt
-
appendln
-
isCustomerLinked
-
isContractLinked
-
isCommonContractLinked
-
getWordByIndex
-
isOneOf
public static <T> boolean isOneOf(T actualValue, T... expectedValues) -
extractDigits
-
extractLetters
-
getLetterForNumber
-
getServerInstanceId
-
getServerInstanceId
-
toBigDecimalList
@NotNull public static @NotNull List<BigDecimal> toBigDecimalList(@NotNull @NotNull String valuesStr) -
toBigDecimalList
-
toBigDecimalSet
-
toBigDecimalSet
-
distinctByKey
-
distinctByKeys
-
matchAllString
-
matchAnyString
-
matchString
-
requireNonEmpty
- Throws:
BGException
-
allIsNull
-