Vadim Gritsenko wrote: > I do not want to object but I would like to understand one thing... Given > this code: > > public class FooComponent extends AbstractLogEnabled > implements ..., ThreadSafe, Component > > public class BarComponent extends AbstractLogEnabled > implements ..., ThreadSafe > > You suggest that BarComponent is POJO, while FooComponent is not. Can you > explain me why is that? > :) No, I'm not suggesting this, but...we had two different cases: a) Component is used in an interface. This prevents the usage of the interface in a non Avalon world and should really be avoided. b) Component is used in the implementation (as you show above). Removing the interface from the implementation is the first step towards having a POJO. But it is not possible to remove all avalon lifecycle interfaces from the implementation without breaking the usage inside an avalon container.
My primary goal is to use the interfaces in a POJO world; I don't care that much about the implementation. But at the same time I want to reduce the dependency to avalon even in the implementation as much as possible. Perhaps one could do a: public class POJOBarCompomnent implements ... and public class BarComponent extends POJOBarComponent implements ThreadSafe, LogEnabled I'm not sure if this is worth the effort. Does this all make sense somehow? Carsten -- Carsten Ziegeler http://www.osoco.org/weblogs/rael/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
