using System;
using System.Collections.Generic;
using Umbraco.Core.Cache;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Persistence.Caching
{
///
/// Defines the implementation of a Cache Provider intented to back a repository
///
internal interface IRepositoryCacheProvider
{
///
/// Gets an Entity from the cache by Type and Id
///
///
///
///
IEntity GetById(Type type, Guid id);
///
/// Gets an Entity from the cache by Type and Ids
///
///
///
///
IEnumerable GetByIds(Type type, List ids);
///
/// Gets all Entities of specified type
///
///
///
IEnumerable GetAllByType(Type type);
///
/// Saves the Entity
///
///
///
void Save(Type type, IEntity entity);
///
/// Deletes the Entity from the cache
///
///
///
void Delete(Type type, IEntity entity);
///
/// Clears the cache by type
///
///
void Clear(Type type);
}
}