ComponentStorageInternal
仅前端实现可用
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
注册一个由 Mirai Console 实现的扩展 (因此没有相关 Plugin).
abstract fun <E : Extension> contributeConsole(extensionPoint: ExtensionPoint<E>, lazyInstance: () -> E)
注册一个由 Mirai Console 实现的扩展 (因此没有相关 Plugin). lazyInstance 将会在 getExtensions 时才会计算.
Link copied to clipboard
abstract fun <E : Extension> getExtensions(extensionPoint: ExtensionPoint<E>): Sequence<ExtensionRegistry<E>>
获取注册的 ExtensionPoint 扩展实例列表. 返回的 Sequence 以 Extension.priority 倒序排序.
Link copied to clipboard
abstract fun <E : Extension> getExtensionsStream(extensionPoint: ExtensionPoint<E>): Stream<ExtensionRegistry<E>>
获取注册的 ExtensionPoint 扩展实例列表. 返回的 Stream 以 Extension.priority 倒序排序.
Link copied to clipboard
open fun <E : Extension> getPreferredExtension(extensionPoint: ExtensionPoint<E>): ExtensionRegistry<E>
获取优先级最高的 ExtensionPoint 扩展实例. 在未找到任何注册的实例时抛出 NoSuchElementException.