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");
         }
       }
     }
     
    Author:
    Rod Johnson
    • Method Detail

      • construct

        java.lang.Object construct(ConstructorInvocation invocation)
                            throws java.lang.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:
        java.lang.Throwable - if the interceptors or the target object throws an exception