using System; using System.Collections.Generic; using System.Collections.Immutable; using Abp.Configuration.Startup; namespace Abp.Runtime.Caching.Configuration { internal class CachingConfiguration : ICachingConfiguration { public IAbpStartupConfiguration AbpConfiguration { get; private set; } public IReadOnlyList Configurators { get { return _configurators.ToImmutableList(); } } private readonly List _configurators; public CachingConfiguration(IAbpStartupConfiguration abpConfiguration) { AbpConfiguration = abpConfiguration; _configurators = new List(); } public void ConfigureAll(Action initAction) { _configurators.Add(new CacheConfigurator(initAction)); } public void Configure(string cacheName, Action initAction) { _configurators.Add(new CacheConfigurator(cacheName, initAction)); } } }