using System; using System.Collections.Generic; namespace Umbraco.Core.Cache { /// /// An abstract class for implementing a basic cache provider /// /// /// 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 ClearCacheObjectTypes(Func predicate); 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); } }