using System; using System.Collections.Generic; using System.Text; using System.Web.Caching; namespace Umbraco.Core.Cache { /// /// An abstract class for implementing a cache helper /// /// /// THIS MUST REMAIN INTERNAL UNTIL WE STREAMLINE HOW ALL CACHE IS HANDLED, WE NEED TO SUPPORT HTTP RUNTIME CACHE, IN MEMORY CACHE, ETC... /// internal abstract class CacheProviderBase { public abstract void ClearAllCache(); public abstract void ClearCacheItem(string key); public abstract void ClearCacheObjectTypes(string typeName); public abstract void ClearCacheObjectTypes(); public abstract void ClearCacheByKeySearch(string keyStartsWith); public abstract void ClearCacheByKeyExpression(string regexString); public abstract IEnumerable GetCacheItemsByKeySearch(string keyStartsWith); public abstract T GetCacheItem(string cacheKey); public abstract T GetCacheItem(string cacheKey, Func getCacheItem); public abstract T GetCacheItem(string cacheKey, TimeSpan timeout, Func getCacheItem); public abstract T GetCacheItem(string cacheKey, CacheItemRemovedCallback refreshAction, TimeSpan timeout, Func getCacheItem); public abstract T GetCacheItem(string cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, TimeSpan timeout, Func getCacheItem); public abstract T GetCacheItem(string cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, TimeSpan timeout, Func getCacheItem); public abstract void InsertCacheItem(string cacheKey, CacheItemPriority priority, TimeSpan timeout, Func getCacheItem); public abstract void InsertCacheItem(string cacheKey, CacheItemPriority priority, CacheDependency cacheDependency, TimeSpan timeout, Func getCacheItem); public abstract void InsertCacheItem(string cacheKey, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, TimeSpan? timeout, Func getCacheItem); } }