#region Copyright (C) 2016 Kevin (OSS开源系列) 公众号:OSSCore
/***************************************************************************
* 文件功能描述:全局插件 - 配置插件辅助类
*
* 创建人: Kevin
* 创建人Email:1985088337@qq.com
*
*
*****************************************************************************/
#endregion
namespace OSS.Tools.DirConfig
{
///
/// 字典配置通用存储获取信息
///
public static class DirConfigHelper
{
private static readonly IToolDirConfig _defaultDirTool = new DefaultToolDirConfig();
///
/// 配置信息来源提供者
///
public static Func? ToolProvider { get; set; }
///
/// 来源名称格式化
///
public static Func? SourceFormat { get; set; }
///
/// 通过来源名称获取
///
///
///
private static IToolDirConfig GetDirConfig(string sourceName)
{
if (SourceFormat != null)
sourceName = SourceFormat.Invoke(sourceName);
return ToolProvider?.Invoke(sourceName) ?? _defaultDirTool;
}
///
/// 设置字典配置信息
///
///
///
/// 来源名称
///
///
public static Task SetDirConfig(string key, TConfig dirConfig,
string sourceName = "")
{
return GetDirConfig(sourceName).SetDirConfig(key, dirConfig,sourceName);
}
///
/// 获取字典配置
///
///
///
/// 来源名称
///
public static Task GetDirConfig(string key, string sourceName = "")
{
return GetDirConfig(sourceName).GetDirConfig(key, sourceName);
}
///
/// 移除配置信息
///
///
/// 来源名称
///
public static Task RemoveDirConfig(string key, string sourceName = "")
{
return GetDirConfig(sourceName).RemoveDirConfig(key, sourceName);
}
}
}