org.aopalliance.intercept
Interface Joinpoint

All Known Subinterfaces:
ConstructorInvocation, FieldAccess, Invocation, MethodInvocation

public interface Joinpoint

This interface represents a generic runtime joinpoint (in the AOP terminology).

A runtime joinpoint is an event that occurs on a static joinpoint (i.e. a location in a the program). For instance, an invocation is the runtime joinpoint on a method (static joinpoint). The static part of a given joinpoint can be generically retrieved using the getStaticPart() method.

In the context of an interception framework, a runtime joinpoint is then the reification of an access to an accessible object (a method, a constructor, a field), i.e. the static part of the joinpoint. It is passed to the interceptors that are installed on the static joinpoint.

See Also:
Interceptor

Method Summary
 java.lang.reflect.AccessibleObject getStaticPart()
          Returns the static part of this joinpoint.
 java.lang.Object getThis()
          Returns the object that holds the current joinpoint's static part.
 java.lang.Object proceed()
          Proceeds to the next interceptor in the chain.
 

Method Detail

proceed

public java.lang.Object proceed()
                         throws java.lang.Throwable
Proceeds to the next interceptor in the chain.

The implementation and the semantics of this method depends on the actual joinpoint type (see the children interfaces).

Returns:
see the children interfaces' proceed definition.
Throws:
java.lang.Throwable - if the joinpoint throws an exception.

getThis

public java.lang.Object getThis()
Returns the object that holds the current joinpoint's static part.

For instance, the target object for an invocation.

Returns:
the object (can be null if the accessible object is static).

getStaticPart

public java.lang.reflect.AccessibleObject getStaticPart()
Returns the static part of this joinpoint.

The static part is an accessible object on which a chain of interceptors are installed.