Interface ConstructorInterceptor

All Superinterfaces:
Advice, Interceptor

public interface ConstructorInterceptor extends Interceptor
Intercepts the construction of a new object.

The user should implement the construct(ConstructorInvocation) method to modify the original behavior. For example, the following class implements a singleton interceptor (allows only one unique instance for the intercepted class):

class DebuggingInterceptor implements ConstructorInterceptor {
  Object instance=null;

  Object construct(ConstructorInvocation i) throws Throwable {
    if(instance==null) {
      return instance=i.proceed();
    } else {
      throw new Exception("singleton does not allow multiple instance");
    }
  }
}
Author:
Rod Johnson
  • Method Summary

    Modifier and Type
    Method
    Description
    Implement this method to perform extra treatments before and after the construction of a new object.
  • Method Details

    • construct

      Object construct(ConstructorInvocation invocation) throws Throwable
      Implement this method to perform extra treatments before and after the construction of a new object. Polite implementations would certainly like to invoke Joinpoint.proceed().
      Parameters:
      invocation - the construction joinpoint
      Returns:
      the newly created object, which is also the result of the call to Joinpoint.proceed(); might be replaced by the interceptor
      Throws:
      Throwable - if the interceptors or the target object throws an exception