MergeableFactoriesConfigurator

open class MergeableFactoriesConfigurator<CONTEXT : Any, V : Any, K : MergeableFactory.Key>(configurators: Map<K, ConfigurerFunction<Any>>, factories: Map<K, (CONTEXT) -> V>)(source)

对一组 MergeableFactory 进行聚合组装的配置器。

Author

ForteScarlet

Constructors

Link copied to clipboard
constructor(configurators: Map<K, ConfigurerFunction<Any>>, factories: Map<K, (CONTEXT) -> V>)

Types

Link copied to clipboard
fun interface Configurer<in CONF, in CONTEXT>

Configurer fun type for MergeableFactoriesConfigurator.add.

Functions

Link copied to clipboard
fun <V1 : V, CONF : Any> add(factory: MergeableFactory<K, V1, CONF, CONTEXT>, configurator: ConfigurerFunction<CONF>)

向当前 MergeableFactoriesConfigurator 中添加一个 factory 对应的配置信息。 添加的配置逻辑 configurator 会与 factory 对应的现有逻辑(如果有的话)合并。

Link copied to clipboard
fun <K1 : K, V1 : V, CONF : Any> create(context: CONTEXT, factory: MergeableFactory<K1, V1, CONF, CONTEXT>): V1

提供 factory 需求的配置信息 CONF 并构建出 V。 如果当前 MergeableFactoriesConfigurator 中从未配置过 factory, 则向 MergeableFactory.create 传递空逻辑(即使用默认配置形式)。

Link copied to clipboard
fun createAll(context: CONTEXT): List<V>

根据当前已存的所有配置信息构建出所有的 V

Link copied to clipboard
fun <K1 : K, V1 : V, CONF : Any> createOrNull(factory: MergeableFactory<K1, V1, CONF, CONTEXT>, context: CONTEXT): V1?

提供 factory 需求的配置信息 CONF 并构建出 V1。 如果当前 MergeableFactoriesConfigurator 中从未配置过 factory, 则得到 null。