Business Logic Toolkit for .NET
www.bltoolkit.net
|  Home   |  Download   |  Documentation   |  Discussions   |  License   |

  Source.Aspects.InstanceCacheAttribute.cs

 
using System;

namespace BLToolkit.Aspects
{
    /// <summary>
    /// http://www.bltoolkit.net/Doc/Aspects/index.htm
    /// </summary>
    [AttributeUsage(
        AttributeTargets.Class |
        AttributeTargets.Interface |
        AttributeTargets.Property |
        AttributeTargets.Method,
        AllowMultiple=true)]
    public class InstanceCacheAttribute : CacheAttribute
    {
        #region Constructors

        public InstanceCacheAttribute()
            : this(typeof(CacheAspect), null)
        {
        }

        public InstanceCacheAttribute(Type cacheAspectType, string configString)
            : base(cacheAspectType, configString)
        {
        }

        public InstanceCacheAttribute(Type interceptorType)
            : this(interceptorType, null)
        {
        }

        public InstanceCacheAttribute(Type interceptorType, int maxCacheTime)
            : this(interceptorType, null)
        {
            MaxCacheTime = maxCacheTime;
        }

        public InstanceCacheAttribute(Type interceptorType, bool isWeak)
            : this(interceptorType, null)
        {
            IsWeak = isWeak;
        }

        public InstanceCacheAttribute(Type interceptorType, int maxCacheTime, bool isWeak)
            : this(interceptorType, null)
        {
            MaxCacheTime = maxCacheTime;
            IsWeak       = isWeak;
        }

        public InstanceCacheAttribute(string configString)
            : this(typeof(CacheAspect), configString)
        {
        }

        public InstanceCacheAttribute(int maxCacheTime)
            : this(typeof(CacheAspect), maxCacheTime)
        {
        }

        public InstanceCacheAttribute(bool isWeak)
            : this(typeof(CacheAspect), isWeak)
        {
        }

        public InstanceCacheAttribute(int maxCacheTime, bool isWeak)
            : this(typeof(CacheAspect), maxCacheTime, isWeak)
        {
        }

        #endregion

        public override bool LocalInterceptor
        {
            get { return true; }
        }
    }
}
 
© 2010 www.bltoolkit.net
support@bltoolkit.net