Skip to content

class ConfigurationManager

cangjie
public class ConfigurationManager <: IConfigurationManager & IConfigurationRoot

功能:提供配置读取、写入和动态追加配置源的管理器。

父类型:

成员概览

成员功能
prop sources返回当前已注册的配置源列表。
prop providers返回当前已加载的配置提供程序列表。
prop properties返回配置管理过程共享的属性集合。
func [](String)获取指定键对应的配置值。
func [](String, ?String)设置指定键对应的配置值。
func reload()重新加载当前所有配置提供程序。
func getSection(String)返回指定键对应的配置节。
func getChildren()返回当前配置下的直接子配置节集合。
func asEnumerable()返回当前配置树中的所有键值对。
func asEnumerable(Bool)返回当前配置树中的所有键值对。
func getValue(TypeInfo, String)按指定类型信息获取配置值。
func getValue(String)按泛型类型获取配置值。
func bind(Object)将当前配置节点自身绑定到对象实例的可变字段。
func bind(String, Object)将指定配置节的值绑定到对象实例的可变字段。
func add(IConfigurationSource)添加一个配置源并立即加载对应提供程序。
func build()返回当前配置根对象。

prop sources

cangjie
public prop sources: List<IConfigurationSource>

功能:返回当前已注册的配置源列表。

类型:List<IConfigurationSource>

prop providers

cangjie
public prop providers: ReadOnlyList<IConfigurationProvider>

功能:返回当前已加载的配置提供程序列表。

类型:ReadOnlyList<IConfigurationProvider>

prop properties

cangjie
public prop properties: Map<String, Any>

功能:返回配置管理过程共享的属性集合。

类型:Map<String, Any>

func [](String)

cangjie
public operator func [](key: String): ?String

功能:获取指定键对应的配置值。

参数:

  • key: String - 配置项的键。

返回值:

  • ?String - 返回对应的配置值;如果不存在则返回 None。

func [](String, ?String)

cangjie
public operator func [](key: String, value!: ?String): Unit

功能:设置指定键对应的配置值。

参数:

  • key: String - 配置项的键。
  • value: ?String - 要写入的配置值。

返回值:

  • Unit

func reload()

cangjie
public func reload(): Unit

功能:重新加载当前所有配置提供程序。

返回值:

  • Unit

func getSection(String)

cangjie
public func getSection(key: String): IConfigurationSection

功能:返回指定键对应的配置节。

参数:

  • key: String - 配置节的键。

返回值:

func getChildren()

cangjie
public func getChildren(): Collection<IConfigurationSection>

功能:返回当前配置下的直接子配置节集合。

返回值:

func asEnumerable()

cangjie
public func asEnumerable(): Collection<(String, ?String)>

功能:返回当前配置树中的所有键值对。

返回值:

  • Collection<(String, ?String)> - 返回键值对集合。

func asEnumerable(Bool)

cangjie
public func asEnumerable(makePathsRelative: Bool): Collection<(String, ?String)>

功能:返回当前配置树中的所有键值对。

参数:

  • makePathsRelative: Bool - 是否将路径裁剪为相对于当前配置节点。

返回值:

  • Collection<(String, ?String)> - 返回键值对集合。

func getValue(TypeInfo, String)

cangjie
public func getValue(typeInfo: TypeInfo, name: String): ?Any

功能:按指定类型信息获取配置值。

参数:

  • typeInfo: TypeInfo - 目标值的类型信息。
  • name: String - 配置项的键。

返回值:

  • ?Any - 返回转换后的配置值;如果不存在或无法提供则返回 None。

func getValue(String)

cangjie
public func getValue<T>(name: String): ?T

功能:按泛型类型获取配置值。

参数:

  • name: String - 配置项的键。

返回值:

  • ?T - 返回转换后的配置值;如果不存在或类型不匹配则返回 None。

func bind(Object)

cangjie
public func bind(instance: Object): Unit

功能:将当前配置节点自身绑定到对象实例的可变字段。

参数:

  • instance: Object - 待绑定的对象实例。

返回值:

  • Unit

func bind(String, Object)

cangjie
public func bind(name: String, instance: Object): Unit

功能:将指定配置节的值绑定到对象实例的可变字段。

参数:

  • name: String - 配置节的键。
  • instance: Object - 待绑定的对象实例。

返回值:

  • Unit

func add(IConfigurationSource)

cangjie
public func add(source: IConfigurationSource): IConfigurationBuilder

功能:添加一个配置源并立即加载对应提供程序。

参数:

返回值:

func build()

cangjie
public func build(): IConfigurationRoot

功能:返回当前配置根对象。

返回值:

扩展成员

成员功能
func addConfiguration(IConfiguration, Bool)将现有配置对象作为链式配置源添加到配置管理器。
func addCmdArgs(Array<String>, ?Map<String, String>)添加一个命令行参数配置源。
func addEnvVars()添加一个不带前缀过滤的环境变量配置源。
func addEnvVars(String)添加一个按前缀过滤的环境变量配置源。
func addJsonStream(IOStream)添加一个从输入流读取的 JSON 配置源。
func addJsonString(String)添加一个基于 JSON 字符串的配置源。
func addJsonFile(String, Bool)添加一个基于 JSON 文件的配置源。
func addMemory()添加一个空的内存配置源。
func addMemory(Collection<(String, String)>)添加一个基于键值集合的内存配置源。

func addConfiguration(IConfiguration, Bool)

cangjie
public func addConfiguration(configuration: IConfiguration, shouldDisposeConfiguration!: Bool = false): ConfigurationManager

功能:将现有配置对象作为链式配置源添加到配置管理器。

参数:

  • configuration: IConfiguration - 被链接的配置对象。
  • shouldDisposeConfiguration: Bool - 保留的兼容参数;当前运行时不执行释放动作。

返回值:

func addCmdArgs(Array<String>, ?Map<String, String>)

cangjie
public func addCmdArgs(args: Array<String>, switchMappings!: ?Map<String, String> = None): ConfigurationManager

功能:添加一个命令行参数配置源。

参数:

  • args: Array<String> - 命令行参数数组。
  • switchMappings: ?Map<String, String> - 可选的短开关到配置键映射。

返回值:

func addEnvVars()

cangjie
public func addEnvVars(): ConfigurationManager

功能:添加一个不带前缀过滤的环境变量配置源。

返回值:

func addEnvVars(String)

cangjie
public func addEnvVars(prefix: String): ConfigurationManager

功能:添加一个按前缀过滤的环境变量配置源。

参数:

  • prefix: String - 环境变量名前缀。

返回值:

func addJsonStream(IOStream)

cangjie
public func addJsonStream(stream: IOStream): ConfigurationManager

功能:添加一个从输入流读取的 JSON 配置源。

参数:

  • stream: IOStream - 提供 JSON 内容的输入流。

返回值:

func addJsonString(String)

cangjie
public func addJsonString(json: String): ConfigurationManager

功能:添加一个基于 JSON 字符串的配置源。

参数:

  • json: String - JSON 格式的配置内容。

返回值:

func addJsonFile(String, Bool)

cangjie
public func addJsonFile(path: String, optional!: Bool = true): ConfigurationManager

功能:添加一个基于 JSON 文件的配置源。

参数:

  • path: String - JSON 配置文件路径。
  • optional: Bool - 指示文件不存在时是否忽略。

返回值:

func addMemory()

cangjie
public func addMemory(): ConfigurationManager

功能:添加一个空的内存配置源。

返回值:

func addMemory(Collection<(String, String)>)

cangjie
public func addMemory(values: Collection<(String, String)>): ConfigurationManager

功能:添加一个基于键值集合的内存配置源。

参数:

  • values: Collection<(String, String)> - 初始化内存配置源的键值集合。

返回值: