Interface CompileProcessor


  • public interface CompileProcessor
    Процессор сборки метаданных
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      <D extends Compiled>
      void
      addRoute​(java.lang.String route, CompileContext<D,​?> context)
      Зарегистрировать новый маршрут метаданных под контекст
      <D extends Compiled>
      void
      addRoute​(CompileContext<D,​?> context)
      Зарегистрировать новый маршрут метаданных под контекст
      default <T> T cast​(T value, T defaultValue1, java.lang.Object... otherDefaultValues)
      Привести значение к значению по умолчанию, если оно null.
      <D extends Compiled,​S>
      D
      compile​(S source, CompileContext<?,​?> context, java.lang.Object... scopes)
      Собрать объект
      <D extends Compiled>
      D
      getCompiled​(CompileContext<D,​?> context)
      Получить собранный объект по идентификатору
      java.lang.String getMessage​(java.lang.String messageCode, java.lang.Object... arguments)
      Получить локализованное сообщение по коду и аргументам
      <D> D getScope​(java.lang.Class<D> scopeClass)
      Получить метаданную, оказывающую влияние на сборку
      <S extends SourceMetadata>
      S
      getSource​(java.lang.String id, java.lang.Class<S> sourceClass)
      Получить исходный объект по идентификатору
      java.util.Map<java.lang.String,​java.lang.Object> mapAttributes​(ExtensionAttributesAware source)
      Собрать дополнительные атрибуты
      java.lang.Object resolve​(java.lang.String placeholder)
      Заменить плейсхолдер на значение и конвертировать с автоподбором типа
      <T> T resolve​(java.lang.String placeholder, java.lang.Class<T> clazz)
      Заменить плейсхолдер на значение и конвертировать в класс
      java.lang.Object resolve​(java.lang.String placeholder, java.lang.String domain)
      Заменить плейсхолдер на значение конвертировать по домену
      default java.lang.String resolveJS​(java.lang.String text)
      Превратить текст с ссылками в JS код
      java.lang.Object resolveJS​(java.lang.String text, java.lang.Class<?> clazz)
      Превратить текст с ссылками в JS код
    • Method Detail

      • compile

        <D extends Compiled,​S> D compile​(S source,
                                               CompileContext<?,​?> context,
                                               java.lang.Object... scopes)
        Собрать объект
        Type Parameters:
        S - Тип исходного объекта
        D - Тип собранного объекта
        Parameters:
        source - Исходный объект
        context - Контекст сборки
        scopes - Объекты, влияющие на последующую сборку. Должны быть разных классов.
        Returns:
        Собранный объект
      • mapAttributes

        java.util.Map<java.lang.String,​java.lang.Object> mapAttributes​(ExtensionAttributesAware source)
        Собрать дополнительные атрибуты
        Parameters:
        source - исходный объект с атрибутами
        Returns:
        собранные атрибуты
      • getScope

        <D> D getScope​(java.lang.Class<D> scopeClass)
        Получить метаданную, оказывающую влияние на сборку
        Type Parameters:
        D - Тип скоупа
        Parameters:
        scopeClass - Класс метаданной
        Returns:
        Метаданная, оказывающая влияние на сборку, или null
      • 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:
        Исходный объект
      • addRoute

        <D extends Compiled> void addRoute​(CompileContext<D,​?> context)
        Зарегистрировать новый маршрут метаданных под контекст
        Parameters:
        context - Контекст сборки
      • addRoute

        <D extends Compiled> void addRoute​(java.lang.String route,
                                           CompileContext<D,​?> context)
        Зарегистрировать новый маршрут метаданных под контекст
        Parameters:
        route - Шаблон URL
        context - Контекст сборки
      • 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 placeholder,
                                 java.lang.String domain)
        Заменить плейсхолдер на значение конвертировать по домену
        Parameters:
        placeholder - значение для конвертации
        domain - Домен значения
        Returns:
        значение
      • resolve

        java.lang.Object resolve​(java.lang.String placeholder)
        Заменить плейсхолдер на значение и конвертировать с автоподбором типа
        Parameters:
        placeholder - значение для конвертации
        Returns:
        значение
      • resolveJS

        java.lang.Object resolveJS​(java.lang.String text,
                                   java.lang.Class<?> clazz)
        Превратить текст с ссылками в JS код
        Parameters:
        text - Текст
        clazz - Тип значения, если это не JS код
        Returns:
        JS код или объект типа clazz
      • resolveJS

        default java.lang.String resolveJS​(java.lang.String text)
        Превратить текст с ссылками в JS код
        Parameters:
        text - Текст
        Returns:
        JS код или исходная строка
      • getMessage

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

        default <T> T cast​(T value,
                           T defaultValue1,
                           java.lang.Object... otherDefaultValues)
        Привести значение к значению по умолчанию, если оно null. Если первое значение по умолчанию тоже null, берется следующее и т.д.
        Type Parameters:
        T - Тип значения
        Parameters:
        value - Исходное значение
        defaultValue1 - Первое значения по умолчанию
        otherDefaultValues - Следующие значения по умолчанию
        Returns:
        Значение приведенное к значению по умолчанию