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
}
}
|