[Adapdev-commits] Adapdev/src/Adapdev.Cache/Scavengers AbsoluteExpirationScavenger.cs,NONE,1.1 Great
Status: Beta
Brought to you by:
intesar66
Update of /cvsroot/adapdev/Adapdev/src/Adapdev.Cache/Scavengers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10621/src/Adapdev.Cache/Scavengers Modified Files: IScavenger.cs Added Files: AbsoluteExpirationScavenger.cs GreaterThanOrdinalScavenger.cs LIFONumberScavenger.cs SlidingExpirationScavenger.cs Log Message: MIgrated reusable Perseus components Added SmartTreeView Added new caching framework Several Sql fixes Added business rule validation classes Added FieldAccessor for IL generation Index: IScavenger.cs =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.Cache/Scavengers/IScavenger.cs,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** IScavenger.cs 28 Feb 2005 01:31:43 -0000 1.1.1.1 --- IScavenger.cs 25 May 2005 05:17:46 -0000 1.2 *************** *** 1,3 **** ! namespace Adapdev.Cache { /// <summary> --- 1,5 ---- ! using System; ! ! namespace Adapdev.Cache.Scavengers { /// <summary> *************** *** 6,11 **** public interface IScavenger { ! void Execute(); ! int Frequency { get; set; } } ! } \ No newline at end of file --- 8,12 ---- public interface IScavenger { ! void Scavenge(ICache cache); } ! } --- NEW FILE: LIFONumberScavenger.cs --- using System; namespace Adapdev.Cache.Scavengers { /// <summary> /// Summary description for LIFOScavenger. /// </summary> public class LIFONumberScavenger : IScavenger { private int _num = 0; private LIFONumberScavenger(){} public LIFONumberScavenger(int numberOfItems) { this._num = numberOfItems; } #region IScavenger Members public void Scavenge(ICache cache) { CacheItem[] entries = cache.Entries; for(int i = entries.Length; i>= _num; i--) { CacheItem c = entries[i] as CacheItem; cache.Remove(c.ObjectType, c.Key); } } #endregion } } --- NEW FILE: SlidingExpirationScavenger.cs --- using System; namespace Adapdev.Cache.Scavengers { /// <summary> /// Summary description for DateScavenger. /// </summary> public class SlidingExpirationScavenger : IScavenger { private TimeSpan _timespan; private SlidingExpirationScavenger(){} public SlidingExpirationScavenger(TimeSpan timespan) { this._timespan = timespan; } #region IScavenger Members public void Scavenge(ICache cache) { DateTime span = DateTime.Now.Subtract(this._timespan); foreach(CacheItem item in cache.Entries) { if(item.Created < span) cache.Remove(item.ObjectType, item.Key); } } #endregion } } --- NEW FILE: AbsoluteExpirationScavenger.cs --- using System; namespace Adapdev.Cache.Scavengers { /// <summary> /// Summary description for DateScavenger. /// </summary> public class AbsoluteExpirationScavenger : IScavenger { private DateTime _date; private AbsoluteExpirationScavenger(){} public AbsoluteExpirationScavenger(DateTime dateTime) { this._date = dateTime; } #region IScavenger Members public void Scavenge(ICache cache) { foreach(CacheItem item in cache.Entries) { if(item.Created < this._date) cache.Remove(item.ObjectType, item.Key); } } #endregion } } --- NEW FILE: GreaterThanOrdinalScavenger.cs --- using System; namespace Adapdev.Cache.Scavengers { /// <summary> /// Summary description for GreaterThanOrdinalScavenger. /// </summary> public class GreaterThanOrdinalScavenger : IScavenger { private int _greaterThan = 0; private GreaterThanOrdinalScavenger(){} public GreaterThanOrdinalScavenger(int greaterThan) { _greaterThan = greaterThan; } #region IScavenger Members public void Scavenge(ICache cache) { foreach(CacheItem c in cache.Entries) { if(c.Ordinal > this._greaterThan) { cache.Remove(c.ObjectType, c.Key); } } } #endregion } } |