Работа с расширениями

LUWRAIN поддерживает механизм расширений, который позволяет гибко дополнять функциональность системы. Расширения LUWRAIN бывают трёх типов:

  • расширения в виде откомпилированных jar-файлов;
  • расширения на языке JavaScript;
  • текстовые расширения.

Расширения (extensions) не следует путать с пакетами (packs). Эти термины тесно связаны, но выполняют разные функции. Расширение — это специальное понятие ядра LUWRAIN, которое служит задаче загрузке новых структур (приложений, команд и пр.). Пакеты, в свою очередь, явным образом ядром системы не воспринимаются, они являются набором файлов с дополнительной информацией и предназначены для доставки расширений на компьютер пользователя с удалённого узла. Другими словами, пакеты — это специально оформленные дистрибутивы, которые помогают в понятной форме загружать расширения со всеми необходимыми файлами и удалять их. Один пакет может содержать внутри несколько расширений, причём разных типов.

Требования к расширениям

Расширения в виде jar-файлов предоставляют максимальные возможности для добавления нового функционала в LUWRAIN. В отличие от расширений на языке JavaScript и расширений в виде текстовых файлов, такие расширения в настоящий момент не могут быть выгружены, хотя мы работаем над динамическим управлением ими. В соответствующем jar-файле должен присутствовать класс, который удовлетворяет интерфейсу org.luwrain.core.extensions.Extension. Jar-файл также должен содержать манифест, в котором в секции org/luwrain есть атрибут Extensions, содержащий имя упомянутого выше класса-расширения.

Правила написания расширений на языке JavaScript и в виде текстовых файлов приведены в соответствующих разделах документации:

© 2012–2019 Разработчики LUWRAIN
Дизайн от Strash