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

  Source.Aspects.Interceptor.cs

 
namespace BLToolkit.Aspects
{
    [System.Diagnostics.DebuggerStepThrough]
    public abstract class Interceptor : IInterceptor
    {
        public virtual void Init(CallMethodInfo info, string configString)
        {
        }

        public virtual void Intercept(InterceptCallInfo info)
        {
            switch (info.InterceptType)
            {
                case InterceptType.BeforeCall: BeforeCall(info); break;
                case InterceptType.AfterCall:  AfterCall (info); break;
                case InterceptType.OnCatch:    OnCatch   (info); break;
                case InterceptType.OnFinally:  OnFinally (info); break;
            }
        }

        protected virtual void BeforeCall(InterceptCallInfo info) {}
        protected virtual void AfterCall (InterceptCallInfo info) {}
        protected virtual void OnCatch   (InterceptCallInfo info) {}
        protected virtual void OnFinally (InterceptCallInfo info) {}
    }
}
 
© 2010 www.bltoolkit.net
support@bltoolkit.net