PluginContainer

interface PluginContainer<P>

插件容器.

Author

M8Test, [email protected], https://m8test.com

Functions

Link copied to clipboard
abstract fun apply(plugin: Any): Plugin<P>?

应用指定插件, Plugin.apply 会被调用.

Link copied to clipboard
abstract fun getById(id: String): Plugin<P>?

通过id查找容器中应用的插件.

Link copied to clipboard
abstract fun has(id: String): Boolean

判断容器中是否应用指定id的插件.

Link copied to clipboard
abstract fun onMissing(listener: (String) -> Plugin<P>?)

通过插件id应用插件时, 如果找不到指定id的插件则调用此方法.

Link copied to clipboard
abstract fun register(pluginId: String, executor: (P) -> Unit): Plugin<P>?

注册一个插件, 不会调用 Plugin.apply 方法, 而是在调用 PluginContainer.apply 时可以应用该插件.