You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by gianny DAMOUR <gi...@hotmail.com> on 2003/08/26 14:42:59 UTC

Component; Container; Interceptor; and ManageableObject.

Hello,


I have submitted a patch, GERONIMO 14, suggesting that AbstractComponent 
should extend AbstractManagedObject and not AbstractStateManageable.

According to me, the type inheritance has not been impacted when 
AbstractStateManageable has been pulled up (AbstractStateManageable -> 
AbstractManageableObject).

If it is fine for you, could you please commit it, as I would like to submit 
a patch containing the following updates:

1. declararation as final of the AbstractContainer.addComponent and 
AbstractContainer.removeComponent methods (some hooks will be provided to 
sub-classes). Indeed, these methods are crucial and it should be great to 
define them as final.

FYI, AbstractRPCContainer was overriding these methods and I do not think 
that it should. Moreover, it does not call super.addComponent() which could 
have been a quick fix.

2. remove from the Component interface the getObjectName method and clean 
the AbstractComponent class.

3. declare as protected AbstractManageable.doNotification and impact 
accordingly AbstractComponent (I think)

4. impact AbstractRPCContainer based on the fact that addComponent is final 
and that a specific hook must be overridden instead.

Moreover, there is something rather strange in addComponent of 
AbstractRPCContainer:

[...]
        if (component instanceof Interceptor) {
            addInterceptor((Interceptor) component);
            return;
        }
[...]

It implies that a component can be an Interceptor or conversely. Is it 
right?

Cheers,
Gianny

_________________________________________________________________
MSN 8: Get 6 months for $9.95/month http://join.msn.com/?page=dept/dialup