Top Description
org.aopalliance.intercept

public Interface Interceptor

extends Advice
Known Direct Subinterfaces
org.aopalliance.intercept.MethodInterceptor, org.aopalliance.intercept.ConstructorInterceptor
Imports
org.aopalliance.aop.Advice

This interface represents a generic interceptor.

A generic interceptor can intercept runtime events that occur within a base program. Those events are materialized by (reified in) joinpoints. Runtime joinpoints can be invocations, field access, exceptions...

This interface is not used directly. Use the sub-interfaces to intercept specific events. For instance, the following class implements some specific interceptors in order to implement a debugger:

class DebuggingInterceptor implements MethodInterceptor,
    ConstructorInterceptor {

  Object invoke(MethodInvocation i) throws Throwable {
    debug(i.getMethod(), i.getThis(), i.getArgs());
    return i.proceed();
  }

  Object construct(ConstructorInvocation i) throws Throwable {
    debug(i.getConstructor(), i.getThis(), i.getArgs());
    return i.proceed();
  }

  void debug(AccessibleObject ao, Object this, Object value) {
    ...
  }
}
Author
Rod Johnson
See Also
Joinpoint