/// <summary> /// Instantiate an object for the setting factory /// </summary> /// <param name="applicationName">Name of application</param> /// <param name="xmlPathBuilder">Path builder object which is used to generate (build) the path of xml files</param> /// <param name="cacheStrategy">Cache-strategy object to cache setting object</param> /// <param name="settingProvider">Setting provider object which is responsible for get setting value from various sources</param> public XmlSettingFactory(string applicationName, ISettingFileBuilder xmlPathBuilder, ISettingCacheStrategy cacheStrategy, ISettingProvider settingProvider) { if (string.IsNullOrEmpty(applicationName)) { throw new SettingException( string.Format(Lang.ExceptionMessage.NullParameter, "applicationName"), new ArgumentNullException("applicationName") ); } ApplicationName = applicationName; XmlPathBuilder = xmlPathBuilder ?? throw new SettingException( string.Format(Lang.ExceptionMessage.NullParameter, "xmlPathBuilder"), new ArgumentNullException("xmlPathBuilder") ); SettingProvider = settingProvider ?? CreateDefaultSettingProvider(); CacheStrategy = cacheStrategy ?? CreateDefaultCacheStrategy(); }
/// <summary> /// Instantiate an object for the setting factory /// </summary> /// <param name="applicationName">Name of application</param> /// <param name="xmlPathBuilder">Path builder object which is used to generate (build) the path of xml files</param> /// <param name="cacheStrategy">Cache-strategy object to cache setting object</param> public XmlSettingFactory(string applicationName, ISettingFileBuilder xmlPathBuilder, ISettingCacheStrategy cacheStrategy) : this(applicationName, xmlPathBuilder, cacheStrategy, null) { }