PluginComponentStorage

class PluginComponentStorage(plugin: Plugin) : AbstractConcurrentComponentStorage

添加一些扩展给 PluginComponentStorage.

所有扩展都会以 'lazy' 形式注册, 由 Console 在不同的启动阶段分别初始化各类扩展.

Constructors

PluginComponentStorage
Link copied to clipboard
fun PluginComponentStorage(plugin: Plugin)

Functions

contribute
Link copied to clipboard
inline fun <E : Extension> contribute(noinline lazyInstance: () -> E)

注册一个扩展. E 必须拥有伴生对象为 ExtensionPoint.

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

注册一个扩展

open override fun <T : Extension> contribute(extensionPoint: ExtensionPoint<T>, plugin: Plugin, extensionInstance: T)
open override fun <T : Extension> contribute(extensionPoint: ExtensionPoint<T>, plugin: Plugin, lazyInstance: () -> T)
@JvmName(name = "contribute1")
fun <T : Extension> contribute(extensionPoint: ExtensionPoint<T>, plugin: Plugin?, extensionInstance: T)
@JvmName(name = "contribute1")
fun <T : Extension> contribute(extensionPoint: ExtensionPoint<T>, plugin: Plugin?, lazyInstance: () -> T)
contributeBotConfigurationAlterer
Link copied to clipboard
fun contributeBotConfigurationAlterer(instance: BotConfigurationAlterer)
contributeCommandCallParser
Link copied to clipboard
fun contributeCommandCallParser(lazyInstance: () -> CommandCallParser)
@JvmName(name = "contributeCommandCallParserProvider")
fun contributeCommandCallParser(provider: CommandCallParserProvider)
@JvmName(name = "contributeCommandCallInterceptorProvider")
fun contributeCommandCallParser(provider: CommandCallInterceptorProvider)
@JvmName(name = "contributeCommandCallResolverProvider")
fun contributeCommandCallParser(provider: CommandCallResolverProvider)
contributeCommandCallResolver
Link copied to clipboard
contributePermissionService
Link copied to clipboard
@JvmName(name = "contributePermissionServiceProvider")
fun contributePermissionService(lazyProvider: () -> PermissionServiceProvider)
fun contributePermissionService(lazyInstance: () -> PermissionService<*>)
contributePluginLoader
Link copied to clipboard
@JvmName(name = "contributePluginLoaderProvider")
fun contributePluginLoader(lazyProvider: () -> PluginLoaderProvider)
fun contributePluginLoader(lazyInstance: () -> PluginLoader<*, *>)
contributePostStartupExtension
Link copied to clipboard
fun contributePostStartupExtension(instance: PostStartupExtension)
contributeSingletonExtensionSelector
Link copied to clipboard
fun contributeSingletonExtensionSelector(lazyInstance: () -> SingletonExtensionSelector)
runAfterStartup
Link copied to clipboard
fun runAfterStartup(block: () -> Unit)