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. E.g. 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");
         }
     }
 }