Class RouteUtil


  • public abstract class RouteUtil
    extends java.lang.Object
    Утилитарные методы для работы с URL
    • Constructor Summary

      Constructors 
      Constructor Description
      RouteUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String absolute​(java.lang.String relativeRoute, java.lang.String baseRoute)
      Преобразование относительного маршрутав абсолютный
      static java.lang.String addQueryParams​(java.lang.String route, java.util.Map<java.lang.String,​ModelLink> queryMapping)
      Изменение исходного url.
      static java.lang.String convertPathToId​(java.lang.String url)
      Конвертация URL в идентификатор.
      static java.util.List<java.lang.String> getParams​(java.lang.String url)
      Получение всех параметров url
      static java.util.List<java.lang.String> getPathParams​(java.lang.String url)
      Получение всех path параметров из url /:a/test/:b?id=:c -> [a, b]
      static boolean isApplicationUrl​(java.lang.String url)
      Адресуется ли URL внутри приложения?
      static java.lang.String join​(java.lang.String parentRoute, java.lang.String childRoute)
      Соединение родитеслького маршрута с дочерним
      static java.lang.String normalize​(java.lang.String url)
      Нормализация URL.
      static java.lang.String normalizeParam​(java.lang.String field)
      Нормализация параметра URL.
      static java.lang.String parent​(java.lang.String route)
      Возврат на один уровень назад в маршруте
      static java.lang.String parsePath​(java.lang.String url)
      Получает часть адреса url до параметров запроса
      static java.lang.String parseQuery​(java.lang.String url)
      Получает часть адреса url отвечающего за ппараметры запроса
      static java.util.Map<java.lang.String,​java.lang.String> parseQueryParams​(java.lang.String url)
      Парсинг части url с query параметрами name=Ivan&age=4 превращает в ["name":"Ivan", "age":4]
      static java.lang.String resolveParams​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.Object> data, java.util.Set<java.lang.String> except)
      Заменить ссылки в маршруте на значения, кроме исключений
      static java.lang.String resolveUrlParams​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.Object> data)
      Заменить ссылки в маршруте на значения
      static java.lang.String resolveUrlParams​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.Object> data, java.util.Set<java.lang.String> whiteList, java.util.Set<java.lang.String> blackList)
      Заменить ссылки в маршруте на значения, кроме исключений
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RouteUtil

        public RouteUtil()
    • Method Detail

      • parent

        public static java.lang.String parent​(java.lang.String route)
        Возврат на один уровень назад в маршруте
        Parameters:
        route - Маршрут
        Returns:
        Маршрут на один уровень назад
      • normalize

        public static java.lang.String normalize​(java.lang.String url)
        Нормализация URL. Убирает двойные слешы. Убирает слеш вконце. Ставит слеш вначало.
        Parameters:
        url - Адрес URL
        Returns:
        Нормализованный адрес URL
      • normalizeParam

        public static java.lang.String normalizeParam​(java.lang.String field)
        Нормализация параметра URL. Заменяет все не буквенно цифровые символы на подчеркивание
        Parameters:
        field - Поле выборки или формы
        Returns:
        Нормализованный параметр
      • addQueryParams

        public static java.lang.String addQueryParams​(java.lang.String route,
                                                      java.util.Map<java.lang.String,​ModelLink> queryMapping)
        Изменение исходного url. Добавляет в конец параметры запроса переданные в queryParams Если это константа, то она сразу попадает в url, иначе добавляется в виде плейсхолдера с :
        Parameters:
        route - url
        queryMapping - параметры запроса для добавления
        Returns:
        дополненный url
      • getParams

        public static java.util.List<java.lang.String> getParams​(java.lang.String url)
        Получение всех параметров url
        Parameters:
        url -
        Returns:
        Список параметров
      • getPathParams

        public static java.util.List<java.lang.String> getPathParams​(java.lang.String url)
        Получение всех path параметров из url /:a/test/:b?id=:c -> [a, b]
        Parameters:
        url -
        Returns:
        Список path параметров
      • parseQueryParams

        public static java.util.Map<java.lang.String,​java.lang.String> parseQueryParams​(java.lang.String url)
        Парсинг части url с query параметрами name=Ivan&age=4 превращает в ["name":"Ivan", "age":4]
        Parameters:
        url -
        Returns:
        мапа с параметрами и их значениями
      • convertPathToId

        public static java.lang.String convertPathToId​(java.lang.String url)
        Конвертация URL в идентификатор. Заменяет все "/" на подчеркивание, параметры в пути пропускает
        Parameters:
        url - Адрес URL
        Returns:
        Идентификатор
      • resolveUrlParams

        public static java.lang.String resolveUrlParams​(java.lang.String url,
                                                        java.util.Map<java.lang.String,​java.lang.Object> data)
        Заменить ссылки в маршруте на значения
        Parameters:
        url - Маршрут
        data - Значения
        Returns:
        Маршрут без ссылок
      • resolveParams

        public static java.lang.String resolveParams​(java.lang.String url,
                                                     java.util.Map<java.lang.String,​java.lang.Object> data,
                                                     java.util.Set<java.lang.String> except)
        Заменить ссылки в маршруте на значения, кроме исключений
        Parameters:
        url - Маршрут
        data - Значения
        except - Исключения
        Returns:
        Маршрут без ссылок
      • resolveUrlParams

        public static java.lang.String resolveUrlParams​(java.lang.String url,
                                                        java.util.Map<java.lang.String,​java.lang.Object> data,
                                                        java.util.Set<java.lang.String> whiteList,
                                                        java.util.Set<java.lang.String> blackList)
        Заменить ссылки в маршруте на значения, кроме исключений
        Parameters:
        url - Маршрут
        data - Значения
        whiteList - Параметры для замены (если null, значит заменяем все найденные)
        blackList - Исключения
        Returns:
        Маршрут без ссылок
      • isApplicationUrl

        public static boolean isApplicationUrl​(java.lang.String url)
        Адресуется ли URL внутри приложения?
        Parameters:
        url - Адрес URL
        Returns:
        true внутри, false снаружи
      • absolute

        public static java.lang.String absolute​(java.lang.String relativeRoute,
                                                java.lang.String baseRoute)
        Преобразование относительного маршрутав абсолютный
        Parameters:
        baseRoute - Базовый маршрут
        relativeRoute - Относительный маршрут
        Returns:
        Абсолютный маршрут
      • join

        public static java.lang.String join​(java.lang.String parentRoute,
                                            java.lang.String childRoute)
        Соединение родитеслького маршрута с дочерним
        Parameters:
        parentRoute - Родительский маршрут
        childRoute - Отнсительный маршрут
        Returns:
        Соединенный маршрут
      • parsePath

        public static java.lang.String parsePath​(java.lang.String url)
        Получает часть адреса url до параметров запроса
        Parameters:
        url - Адресс
        Returns:
        Часть адреса url
      • parseQuery

        public static java.lang.String parseQuery​(java.lang.String url)
        Получает часть адреса url отвечающего за ппараметры запроса
        Parameters:
        url - Адресс
        Returns:
        Часть адреса url