using System;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
///
/// Creates cache policies
///
///
///
internal class FullDataSetRepositoryCachePolicyFactory : IRepositoryCachePolicyFactory
where TEntity : class, IAggregateRoot
{
private readonly IRuntimeCacheProvider _runtimeCache;
private readonly Func _getEntityId;
public FullDataSetRepositoryCachePolicyFactory(IRuntimeCacheProvider runtimeCache, Func getEntityId)
{
_runtimeCache = runtimeCache;
_getEntityId = getEntityId;
}
public virtual IRepositoryCachePolicy CreatePolicy()
{
return new FullDataSetRepositoryCachePolicy(_runtimeCache, _getEntityId);
}
}
}