java.lang.Object
net.n2oapp.framework.config.register.route.RouteUtil

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

    • RouteUtil

      public RouteUtil()
  • Method Details

    • parent

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

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

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

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

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

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

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

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

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

      public static String resolveParams(String url, Map<String,Object> data, Set<String> except)
      Заменить ссылки в маршруте на значения, кроме исключений
      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

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

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

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

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

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

      public static Integer getRelativeLevel(String url)
      Получение уровня вложенности относительного пути

      Пример 1:

      Входные данные: "../" Выходные данные: 1

      Пример 2:

      Входные данные: "../../../" Выходные данные: 3

      Пример 3:

      Входные данные: "/" Выходные данные: 0

      Parameters:
      url - Адрес
      Returns:
      Уровень вложенности
    • hasRelativity

      public static boolean hasRelativity(String url)
      Проверка наличия в адресе относительных ссылок
      Parameters:
      url - Адрес