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;
}
}
}