using System;
using System.Collections.Generic;
using System.Linq;
using LightInject;
using Umbraco.Core.Logging;
using Umbraco.Core.ObjectResolution;
using Umbraco.Core.Cache;
namespace Umbraco.Core
{
///
/// A resolver to return all ICacheRefresher objects
///
internal sealed class CacheRefreshersResolver : ContainerLazyManyObjectsResolver
{
///
/// Constructor
///
///
///
///
internal CacheRefreshersResolver(IServiceContainer serviceContainer, ILogger logger, Func> refreshers)
: base(serviceContainer, logger, refreshers)
{
}
///
/// Gets the implementations.
///
public IEnumerable CacheRefreshers => Values;
///
/// Returns an instance for the type identified by its unique type identifier.
///
/// The type identifier.
/// The value of the type uniquely identified by .
public ICacheRefresher GetById(Guid id)
{
return Values.FirstOrDefault(x => x.UniqueIdentifier == id);
}
}
}