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)
      Связать метаданные с данными
      boolean canResolveParam​(java.lang.String param)
      Есть ли данные для разрешения параметра
      <D extends Compiled>
      D
      getCompiled​(CompileContext<D,​?> context)
      Получить собранный объект по идентификатору
      java.lang.String getMessage​(java.lang.String messageCode, java.lang.Object... arguments)
      Получить локализованное сообщение по коду и аргументам
      <S extends SourceMetadata>
      S
      getSource​(java.lang.String id, java.lang.Class<S> sourceClass)
      Получить исходный объект по идентификатору
      java.lang.Object resolve​(java.lang.String value)
      Конвентировать значение в объект
      <T> T resolve​(java.lang.String placeholder, java.lang.Class<T> clazz)
      Заменить плейсхолдер на значение
      java.lang.Object resolve​(java.lang.String value, java.lang.String domain)
      Конвентировать значение в объект по домену
      BindLink resolveLink​(BindLink link)
      Пытается превратить ссылку в константное значение.
      void resolveSubModels​(ModelLink link, java.util.List<ModelLink> links)
      Попытаться разрешить вложенные модели ссылки
      java.lang.String resolveText​(java.lang.String text)
      Заменить в тексте плейсхолдеры на значения
      java.lang.String resolveText​(java.lang.String text, ModelLink link)
      Заменить в тексте плейсхолдеры на значения, используя модель
      java.lang.String resolveUrl​(java.lang.String url)
      Заменить в строке плейсхолдеры {...} на значения, кроме исключений
      java.lang.String resolveUrl​(java.lang.String url, java.util.Map<java.lang.String,​? extends BindLink> pathMappings, java.util.Map<java.lang.String,​? extends BindLink> queryMappings)
      Заменить в адресе плейсхолдеры на значения
      java.lang.String resolveUrl​(java.lang.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​(java.lang.String id,
                                               java.lang.Class<S> sourceClass)
        Получить исходный объект по идентификатору
        Type Parameters:
        S - Тип исходного объекта
        Parameters:
        id - Идентификатор
        sourceClass - Класс исходного объекта
        Returns:
        Исходный объект
      • resolve

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

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

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

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

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

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

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

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

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

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

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

        boolean canResolveParam​(java.lang.String param)
        Есть ли данные для разрешения параметра
        Parameters:
        param -
        Returns: