Как создать точку расширения
Как создать точку расширения#
Модуль в котором необходима точка расширения - Модуль1
.
Модуль расширения - Модуль2
.
В модуле в котором необходима точка расширения создаем класс с объектом компаньоном
Модуль1_Ept.scala
.Класс унаследовать от класса
ExtensionPoint
.Объект компаньон унаследовать от PkgFactory[
Модуль1
_Ept].Создать метод точки расширения:
val extentionMethodExamlpe = declFunc("extentionMethodExamlpe") {
(sf: SuperFunc[NString], arg1: NString, arg2: NString) =>
sf().getOrElse(None.ns)
}
В модуле расширении создать класс
Модуль2_Модуль1Ext.scala
.Унаследовать класс от класса
Extension
.Создать метод расширения:
subFunc("extentionMethodExamlpe") { (sf: SuperFunc[NString], arg1: NString, arg2: NString) =>
...
}
В файле
src/main/resources/META-INF/extensions.xml
модуля расширения зарегистрировать новую точку расширения:
<exts>
<ext class="ru.bitec.app.Модуль2.Модуль2_Модуль1Ext" targetEpt="`Модуль1`_Ept"/>
</exts>