Class RouteUtil
java.lang.Object
net.n2oapp.framework.config.register.route.RouteUtil
Утилитарные методы для работы с URL
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringПреобразование относительного маршрута в абсолютныйstatic StringaddQueryParams(String route, Map<String, ModelLink> queryMapping) Изменение исходного url.static StringconvertPathToId(String url) Конвертация URL в идентификатор.Получение всех параметров urlgetPathParams(String url) Получение всех path параметров из url /:a/test/:b?id=:c -> [a, b]static IntegergetRelativeLevel(String url) Получение уровня вложенности относительного путиstatic booleanhasRelativity(String url) Проверка наличия в адресе относительных ссылокstatic booleanisApplicationUrl(String url) Адресуется ли URL внутри приложения?static StringСоединение родительского маршрута с дочернимstatic StringНормализация URL.static StringnormalizeParam(String field) Нормализация параметра URL.static StringВозврат на один уровень назад в маршрутеstatic StringПолучает часть адреса url до параметров запросаstatic StringparseQuery(String url) Получает часть адреса url отвечающего за параметры запросаparseQueryParams(String url) Парсинг части url с query параметрами name=Ivan&age=4 превращает в ["name":"Ivan", "age":4]static StringЗаменить ссылки в маршруте на значения, кроме исключенийstatic StringresolveUrlParams(String url, Map<String, Object> data) Заменить ссылки в маршруте на значенияstatic StringЗаменить ссылки в маршруте на значения, кроме исключений
-
Constructor Details
-
RouteUtil
public RouteUtil()
-
-
Method Details
-
parent
Возврат на один уровень назад в маршруте- Parameters:
route- Маршрут- Returns:
- Маршрут на один уровень назад
-
normalize
Нормализация URL. Убирает двойные слеши. Убирает слеш в конце. Ставит слеш в начало.- Parameters:
url- Адрес URL- Returns:
- Нормализованный адрес URL
-
normalizeParam
Нормализация параметра URL. Заменяет все не буквенно-цифровые символы на подчеркивание- Parameters:
field- Поле выборки или формы- Returns:
- Нормализованный параметр
-
addQueryParams
Изменение исходного url. Добавляет в конец параметры запроса переданные в queryParams Если это константа, то она сразу попадает в url, иначе добавляется в виде плейсхолдера с ":"- Parameters:
route- urlqueryMapping- параметры запроса для добавления- Returns:
- дополненный url
-
getParams
Получение всех параметров url- Parameters:
url-- Returns:
- Список параметров
-
getPathParams
Получение всех path параметров из url /:a/test/:b?id=:c -> [a, b]- Parameters:
url-- Returns:
- Список path параметров
-
parseQueryParams
Парсинг части url с query параметрами name=Ivan&age=4 превращает в ["name":"Ivan", "age":4]- Parameters:
url-- Returns:
- мапа с параметрами и их значениями
-
convertPathToId
Конвертация URL в идентификатор. Заменяет все "/" на подчеркивание, параметры в пути пропускает- Parameters:
url- Адрес URL- Returns:
- Идентификатор
-
resolveUrlParams
Заменить ссылки в маршруте на значения- Parameters:
url- Маршрутdata- Значения- Returns:
- Маршрут без ссылок
-
resolveParams
Заменить ссылки в маршруте на значения, кроме исключений- Parameters:
url- Маршрутdata- Значенияexcept- Исключения- Returns:
- Маршрут без ссылок
-
resolveUrlParams
public static String resolveUrlParams(String url, Map<String, Object> data, Set<String> whiteList, Set<String> blackList) Заменить ссылки в маршруте на значения, кроме исключений- Parameters:
url- Маршрутdata- ЗначенияwhiteList- Параметры для замены (если null, значит заменяем все найденные)blackList- Исключения- Returns:
- Маршрут без ссылок
-
isApplicationUrl
Адресуется ли URL внутри приложения?- Parameters:
url- Адрес URL- Returns:
- true внутри, false снаружи
-
absolute
Преобразование относительного маршрута в абсолютный- Parameters:
baseRoute- Базовый маршрутrelativeRoute- Относительный маршрут- Returns:
- Абсолютный маршрут
-
join
Соединение родительского маршрута с дочерним- Parameters:
parentRoute- Родительский маршрутchildRoute- Относительный маршрут- Returns:
- Соединенный маршрут
-
parsePath
Получает часть адреса url до параметров запроса- Parameters:
url- Адрес- Returns:
- Часть адреса url
-
parseQuery
Получает часть адреса url отвечающего за параметры запроса- Parameters:
url- Адрес- Returns:
- Часть адреса url
-
getRelativeLevel
Получение уровня вложенности относительного путиПример 1:
Входные данные: "../" Выходные данные: 1
Пример 2:
Входные данные: "../../../" Выходные данные: 3
Пример 3:
Входные данные: "/" Выходные данные: 0
- Parameters:
url- Адрес- Returns:
- Уровень вложенности
-
hasRelativity
Проверка наличия в адресе относительных ссылок- Parameters:
url- Адрес
-