org.aopalliance.intercept
Interface ConstructorInterceptor
- Advice, Interceptor
public interface ConstructorInterceptor
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");
}
}
}
construct
public Object construct(ConstructorInvocation invocation)
throws 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()
.
invocation
- the construction joinpoint
- the newly created object, which is also the result of
the call to
Joinpoint.proceed()
, might be replaced by
the interceptor.