Interface BindProcessor


  • public interface BindProcessor
    Процессор связывания метаданных с данными
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <D extends Compiled>
      void
      bind​(D compiled)
      Связать метаданные с данными
      <D extends Compiled>
      D
      getCompiled​(CompileContext<D,​?> context)
      Получить собранный объект по идентификатору
      String getMessage​(String messageCode, Object... arguments)
      Получить локализованное сообщение по коду и аргументам
      <S extends SourceMetadata>
      S
      getSource​(String id, Class<S> sourceClass)
      Получить исходный объект по идентификатору
      Object resolve​(String value)
      Конвентировать значение в объект
      <T> T resolve​(String placeholder, Class<T> clazz)
      Заменить плейсхолдер на значение
      Object resolve​(String value, String domain)
      Конвентировать значение в объект по домену
      <L extends BindLink>
      void
      resolveLink​(L link)
      Пытается превратить ссылку в константное значение.
      void resolveSubModels​(ModelLink link, List<ModelLink> links)
      Попытаться разрешить вложенные модели ссылки
      String resolveText​(String text)
      Заменить в тексте плейсхолдеры на значения
      String resolveText​(String text, ModelLink link)
      Заменить в тексте плейсхолдеры на значения, используя модель
      String resolveUrl​(String url)
      Заменить в строке плейсхолдеры {...} на значения, кроме исключений
      String resolveUrl​(String url, Map<String,​? extends BindLink> pathMappings, Map<String,​? extends BindLink> queryMappings)
      Заменить в адресе плейсхолдеры на значения
      String resolveUrl​(String url, ModelLink link)
      Заменить в адресе параметры, которые ссылаются на переданную модель
    • Method Detail

      • bind

        <D extends Compiled> void bind​(D compiled)
        Связать метаданные с данными
        Type Parameters:
        D - Тип метаданной
        Parameters:
        compiled - Метаданная
      • getCompiled

        <D extends Compiled> D getCompiled​(CompileContext<D,​?> context)
        Получить собранный объект по идентификатору
        Type Parameters:
        D - Тип собранного объекта
        Parameters:
        context - Контекст сборки
        Returns:
        Собранный объект
      • getSource

        <S extends SourceMetadata> S getSource​(String id,
                                               Class<S> sourceClass)
        Получить исходный объект по идентификатору
        Type Parameters:
        S - Тип исходного объекта
        Parameters:
        id - Идентификатор
        sourceClass - Класс исходного объекта
        Returns:
        Исходный объект
      • resolve

        <T> T resolve​(String placeholder,
                      Class<T> clazz)
        Заменить плейсхолдер на значение
        Type Parameters:
        T - Тип значения
        Parameters:
        placeholder - Плейсхолдер
        Returns:
        Значение
      • resolve

        Object resolve​(String value,
                       String domain)
        Конвентировать значение в объект по домену
        Parameters:
        value - значение для конвертации
        domain - Домен значения
        Returns:
        значение
      • resolve

        Object resolve​(String value)
        Конвентировать значение в объект
        Parameters:
        value - значение для конвертации
        Returns:
        значение
      • resolveText

        String resolveText​(String text)
        Заменить в тексте плейсхолдеры на значения
        Parameters:
        text - Текст с плейсхолдерами
        Returns:
        Текст со значениями вместо плейсхолдеров
      • resolveText

        String resolveText​(String text,
                           ModelLink link)
        Заменить в тексте плейсхолдеры на значения, используя модель
        Parameters:
        text - Текст с плейсхолдерами
        link - Ссылка на модель, на которую ссылаются плейсхолдеры
        Returns:
        Текст со значениями вместо плейсхолдеров
      • resolveUrl

        String resolveUrl​(String url)
        Заменить в строке плейсхолдеры {...} на значения, кроме исключений
        Parameters:
        url - Строка с плейсхолдерами
        Returns:
        Строка со значениями вместо плейсхолдеров
      • resolveUrl

        String resolveUrl​(String url,
                          Map<String,​? extends BindLink> pathMappings,
                          Map<String,​? extends BindLink> queryMappings)
        Заменить в адресе плейсхолдеры на значения
        Parameters:
        url - Адрес
        pathMappings - path параметры
        queryMappings - query параметры
        Returns:
        Адрес со значениями вместо плейсхолдеров
      • resolveUrl

        String resolveUrl​(String url,
                          ModelLink link)
        Заменить в адресе параметры, которые ссылаются на переданную модель
        Parameters:
        url - Адрес
        link - Ссылка на модель, по которой определяем какие параметры необходимо заменить
        Returns:
        Измененный адрес
      • resolveLink

        <L extends BindLink> void resolveLink​(L link)
        Пытается превратить ссылку в константное значение.
        Parameters:
        link - Ссылка
      • resolveSubModels

        void resolveSubModels​(ModelLink link,
                              List<ModelLink> links)
        Попытаться разрешить вложенные модели ссылки
        Parameters:
        link - ссылка на значение
        links - исходный список ссылок
      • getMessage

        String getMessage​(String messageCode,
                          Object... arguments)
        Получить локализованное сообщение по коду и аргументам
        Parameters:
        messageCode - Код сообщения
        arguments - Аргументы сообщения
        Returns:
        Локализованное сообщение