3 namespace AopAlliance
.Intercept
6 /// <p>This interface represents a generic runtime joinpoint (in the AOP
9 /// <p>A runtime joinpoint is an <i>event</i> that occurs on a static
10 /// joinpoint (i.e. a location in a the program). For instance, an
11 /// invocation is the runtime joinpoint on a method (static joinpoint).
12 /// The static part of a given joinpoint can be generically retrieved
13 /// using the <c>GetStaticPart()</c> method.</p>
15 /// <p>In the context of an interception framework, a runtime joinpoint
16 /// is then the reification of an access to an accessible object (a
17 /// method, a constructor, a field), i.e. the static part of the
18 /// joinpoint. It is passed to the interceptors that are installed on
19 /// the static joinpoint.</p>
21 /// <seealso cref="AopAlliance.Intercept.IInterceptor"/>
23 public interface IJoinpoint
26 /// <p>Returns the static part of this joinpoint.</p>
27 /// <p>The static part is an accessible object on which a chain of interceptors are installed.</p>
29 System
.Reflection
.MemberInfo StaticPart { get; }
32 /// <p>Returns the object that holds the current joinpoint's static part.</p>
33 /// <p>For instance, the target object for an invocation.</p>
38 /// <p>Proceeds to the next interceptor in the chain.</p>
39 /// <p>The implementation and the semantics of this method depends on the actual joinpoint type (see the children interfaces).</p>
41 /// <returns>See the children interfaces' proceed definition.</returns>
42 /// <exception cref="System.Exception">if the joinpoint throws an exception.</exception>