ComponentStorage

组件容器, 容纳 Plugin 注册的 Extension.

插件可在 JvmPlugin.onLoad 时提供扩展. 前端可在 MiraiConsoleImplementation.BackendAccess.globalComponentStorage 获取全局组件容器. 目前未允许获取全局组件容器. 如有需求请 提交 issues.

实现细节: 线程安全.

See also

Inheritors

Functions

Link copied to clipboard
abstract fun <E : Extension> contribute(extensionPoint: ExtensionPoint<E>, plugin: Plugin, extensionInstance: E)

注册一个扩展

abstract fun <E : Extension> contribute(extensionPoint: ExtensionPoint<E>, plugin: Plugin, lazyInstance: () -> E)

注册一个扩展. lazyInstance 将会在 getExtensions 时才会计算.

Link copied to clipboard
abstract fun <E : Extension> getExtensions(extensionPoint: ExtensionPoint<E>): Sequence<ExtensionRegistry<E>>

获取注册的 ExtensionPoint 扩展实例列表. 返回的 SequenceExtension.priority 倒序排序.

Link copied to clipboard

获取注册的 ExtensionPoint 扩展实例列表. 返回的 StreamExtension.priority 倒序排序.

Link copied to clipboard

获取优先级最高的 ExtensionPoint 扩展实例. 在未找到任何注册的实例时抛出 NoSuchElementException.