Spring.NET 1.3.0 RC1 for .NET 2.0 API Reference

IMethodMatcher Interface

That part of an IPointcut that checks whether a target method is eligible for advice.

For a list of all members of this type, see IMethodMatcher Members .

[Visual Basic]
Public Interface IMethodMatcher
[C#]
public interface IMethodMatcher

Types that implement IMethodMatcher

Type Description
AbstractRegularExpressionMethodPointcut Abstract base regular expression pointcut object.
AttributeMatchMethodPointcut IPointcut implementation that matches methods that have been decorated with a specified Attribute.
AttributeMatchMethodPointcutAdvisor Convenient class for attribute-match method pointcuts that hold an Interceptor, making them an Advisor.
AttributeMethodMatcher MethodMatcher that looks for a specific attribute being present on the method (checking both the method on the onviked interface, if any and the corresponding method on the target class
ControlFlowPointcut Pointcut and method matcher for use in simple cflow-style pointcuts.
DynamicMethodMatcher Convenient abstract superclass for dynamic method matchers that do care about arguments at runtime.
DynamicMethodMatcherPointcutAdvisor Convenient superclass for IAdvisors that are also dynamic pointcuts.
NameMatchMethodPointcut Pointcut object for simple method name matches, useful as an alternative to pure regular expression based patterns.
SdkRegularExpressionMethodPointcut Regular expression based pointcut object.
StaticMethodMatcher Convenient abstract superclass for static method matchers that don't care about arguments at runtime.
StaticMethodMatcherPointcut Convenient superclass when one wants to force subclasses to implement the IMethodMatcher interface but subclasses will still want to be pointcuts.
StaticMethodMatcherPointcutAdvisor Convenient superclass for IAdvisors that are also static pointcuts.
TrueMethodMatcher Canonical IMethodMatcher that matches all methods.
CacheParameterAdvisor Convinience advisor implementation that applies CacheParameterAdvice to all the methods that have CacheParameterAttribute defined on one or more of their parameters.
CacheResultAdvisor Convinience advisor implementation that applies CacheResultAdvice to all the methods that have CacheResultAttribute defined.
InvalidateCacheAdvisor Convinience advisor implementation that applies InvalidateCacheAdvice to all the methods that have InvalidateCacheAttribute defined.
ParameterValidationAdvisor Convinience advisor implementation that applies ParameterValidationAdvice to all the methods that have ValidatedAttribute defined on one or more of their parameters.
DefaultTransactionAttributeSourceAdvisor Advisor driven by a ITransactionAttributeSource, used to exclude a general advice IAdvice from methods that are non-transactional.
TransactionAttributeSourceAdvisor Advisor driven by a ITransactionAttributeSource, used to exclude a TransactionInterceptor from methods that are non-transactional.

Remarks

An IMethodMatcher may be evaluated statically or at runtime (dynamically). Static matching involves only the method signature and (possibly) any Attributes that have been applied to a method. Dynamic matching additionally takes into account the actual argument values passed to a method invocation.

If the value of the IsRuntime property of an implementation instance returns false, evaluation can be performed statically, and the result will be the same for all invocations of this method, whatever their arguments. This means that if the value of the IsRuntime is false, the three argument Matches method will never be invoked for the lifetime of the IMethodMatcher.

If an implementation returns true in its two argument Matches method, and the value of it's IsRuntime property is true, the three argument Matches method will be invoked immediately before each and every potential execution of the related advice, to decide whether the advice should run. All previous advice, such as earlier interceptors in an interceptor chain, will have run, so any state changes they have produced in parameters or thread local storage, will be available at the time of evaluation.

Requirements

Namespace: Spring.Aop

Assembly: Spring.Aop (in Spring.Aop.dll)

See Also

IMethodMatcher Members | Spring.Aop Namespace | TrueMethodMatcher