using System; using System.Collections.Generic; using System.Linq; using System.Text; using umbraco.interfaces; namespace Umbraco.Core { /// /// A resolver to return all ICacheRefresher objects /// internal sealed class CacheRefreshersResolver : LegacyTransientObjectsResolver { #region Singleton private static readonly CacheRefreshersResolver Instance = new CacheRefreshersResolver(PluginTypeResolver.Current.ResolveCacheRefreshers()); public static CacheRefreshersResolver Current { get { return Instance; } } #endregion #region Constructors static CacheRefreshersResolver() { } /// /// Constructor /// /// internal CacheRefreshersResolver(IEnumerable refreshers) : base(refreshers) { } #endregion /// /// Gets the implementations. /// public IEnumerable CacheResolvers { get { EnsureRefreshersList(); return Values; } } protected override Guid GetUniqueIdentifier(ICacheRefresher obj) { return obj.UniqueIdentifier; } } }