Interface BindProcessor


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

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      <D extends Compiled>
      void
      bind​(D compiled, Object... scopes)
      Связать метаданные с данными
      boolean canResolveParam​(String param)
      Есть ли данные для разрешения параметра
      DataSet executeQuery​(String queryId)
      Получить значение выборки с текущими параметрами запроса
      <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​(Object value)
      Заменить в тексте плейсхолдеры на значения и конвертировать в объект
      <T> T resolve​(Object value, Class<T> clazz)
      Заменить в тексте плейсхолдеры на значения и конвертировать в объект
      Object resolve​(String value)
      Конвентировать значение в объект
      <T> T resolve​(String placeholder, Class<T> clazz)
      Заменить плейсхолдер на значение
      Object resolve​(String value, String domain)
      Конвентировать значение в объект по домену
      default BindLink resolveLink​(BindLink link)
      Пытается превратить ссылку в константное значение.
      BindLink resolveLink​(BindLink link, boolean observable)
      Пытается превратить ссылку в константное значение, если ссылка не меняется (observable=false)
      BindLink resolveLink​(BindLink link, boolean observable, boolean strongCompare)
      Пытается превратить ссылку в константное значение, если ссылка не меняется (observable=false)
      Object resolveLinkValue​(ModelLink link)
      Получение значения параметра из адресной строки по ссылке
      ModelLink resolveSubModels​(ModelLink link)
      Попытаться разрешить вложенные модели ссылки
      String resolveText​(String text)
      Заменить в тексте плейсхолдеры на значения
      String resolveText​(String text, List<ModelLink> links)
      Заменить в тексте плейсхолдеры на значения, используя список моделей
      String resolveText​(String text, ModelLink link)
      Заменить в тексте плейсхолдеры на значения, используя модель
      String resolveTextByParams​(String text)
      Заменить в тексте плейсхолдеры на значения из параметров url
      String resolveUrl​(String url)
      Заменить в строке плейсхолдеры {...} на значения, кроме исключений
      String resolveUrl​(String url, List<ModelLink> links)
      Заменить в адресе параметры, которые ссылаются на переданный список моделей
      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,
                                       Object... scopes)
        Связать метаданные с данными
        Type Parameters:
        D - Тип метаданной
        Parameters:
        compiled - Метаданная
        scopes - Объекты, влияющие на последующее связывание
      • 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:
        значение
      • resolve

        Object resolve​(Object value)
        Заменить в тексте плейсхолдеры на значения и конвертировать в объект
        Parameters:
        value - значение для конвертации
        Returns:
        значение
      • resolve

        <T> T resolve​(Object value,
                      Class<T> clazz)
        Заменить в тексте плейсхолдеры на значения и конвертировать в объект
        Type Parameters:
        T - Тип значения
        Parameters:
        value - значение для конвертации
        Returns:
        значение
      • resolveText

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

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

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

        String resolveTextByParams​(String text)
        Заменить в тексте плейсхолдеры на значения из параметров url
        Parameters:
        text - Текст с плейсхолдерами {}
        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:
        Измененный адрес
      • resolveUrl

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

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

        BindLink resolveLink​(BindLink link,
                             boolean observable)
        Пытается превратить ссылку в константное значение, если ссылка не меняется (observable=false)
        Parameters:
        observable - Превращать ли ссылку в константу, если ссылка может измениться на текущей странице?
        link - Ссылка
      • resolveLink

        BindLink resolveLink​(BindLink link,
                             boolean observable,
                             boolean strongCompare)
        Пытается превратить ссылку в константное значение, если ссылка не меняется (observable=false)
        Parameters:
        observable - Превращать ли ссылку в константу, если ссылка может измениться на текущей странице?
        link - Ссылка
        strongCompare - строгое сравнение ссылок
      • resolveLinkValue

        Object resolveLinkValue​(ModelLink link)
        Получение значения параметра из адресной строки по ссылке
        Parameters:
        link - Ссылка
        Returns:
        Значение параметра
      • resolveSubModels

        ModelLink resolveSubModels​(ModelLink link)
        Попытаться разрешить вложенные модели ссылки
        Parameters:
        link - ссылка на значение
      • executeQuery

        DataSet executeQuery​(String queryId)
        Получить значение выборки с текущими параметрами запроса
        Parameters:
        queryId - Идентификатор выборки
      • getMessage

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

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