excalibur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <cziege...@apache.org>
Subject Re: svn commit: r492447
Date Wed, 24 Jan 2007 07:56:25 GMT
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: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org


Mime
View raw message