At 08:54 PM 6/20/2002 -0700, you wrote: >Peter Donald wrote: >ok, I actually forgot to put in a sentence/disclaimer at the end >mentioning that it might possibly be more of an implementation thing than >a framework thing...
;) >but I also was wondering if there is any container extension mechanism >that is shared by the Avalon containers - or if there are plans for >anything like that? It would be neat to have a generic interceptor architecture. For a buisness-esque type layer you could have interceptor interface such as interface Interceptor { Object invoke( InterceptorContext ctx, Object[] args ) throws Exception; } interface InterceptorContext { ComponentMetaData getCaller(); ComponentMetaData getCallee(); DependencyMetaData getCalledInterface(); String getMethodSignature(); Object invokeNext( Object[] args ) throws Exception; } Possible impls... class MyAuthorizingInterceptor implements Interceptor { Object invoke( InterceptorContext ctx, Object[] args ) throws Exception { if( !isAuthorized( ctx.getCaller() ) ) throw SecurityException("..."); return ctx.invokeNext( args ); } } class MyTimingInterceptor implements Interceptor { Object invoke( InterceptorContext ctx, Object[] args ) throws Exception { final long key = startTimer(); try { return ctx.invokeNext( args ); } finally { final long time = endTimer( key ); reportTime( time ); } } } This would be particular useful to people who are using Avalon for Buisness level prgramming (in contrast to System-level programming). However I don't know of any plans to implement this unless you want to volunteer ;) Cheers, Peter Donald ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Faced with the choice between changing one's mind, and proving that there is no need to do so - almost everyone gets busy on the proof." - John Kenneth Galbraith ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>