org.aopalliance.intercept
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");
     }
   }
 }
 


Method Summary
 java.lang.Object construct(ConstructorInvocation invocation)
          Implement this method to perform extra treatments before and after the consrution of a new object.
 

Method Detail

construct

public java.lang.Object construct(ConstructorInvocation invocation)
                           throws java.lang.Throwable
Implement this method to perform extra treatments before and after the consrution 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:
java.lang.Throwable - if the interceptors or the target-object throws an exception.