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 StringformatDisplayName(String title, Object id) static StringformatDisplayName(String title, Object id, ru.bgcrm.util.TitleFormatter formatter) 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
-
formatDisplayName
-
formatDisplayName
-