avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject [VOTE] Weakness in RoleManager
Date Wed, 12 Dec 2001 21:27:14 GMT
I would like to make RoleManager have an additional method--unfortunately that is not
backwards compatible.  I highly doubt that it would affect any existing projects as
the DefaultRoleManager is sufficient for most people.

The method I want to add is "String[] getManagedRoleNames()" so that the ExcaliburComponentManager
does not load new Components during runtime--and they are all done at init time.

There are a couple of issues with this approach, however:

What if a Role is managed by a parent ComponentManager?  this is a simple check...
What if the role is never needed by a running system?  this is not easily determinable.

This brings up another question:

*Should* ExcaliburComponentManager implicitly build Components on demand if the
entries are in the RoleManager?  The tradeoff is that allowing Components to be
instantiated at runtime allows the configuration file size be minimized.  By
requiring all components to be explicitly declared, you will end up with a number
of configuration entries like this:

<parser/>

I find it to be a useful feature in order to reduce configuration file verbosity.


VOTE ON PLAN OF ATTACK

Add the non-backwards compatible method to RoleManager

interface RoleManager
{
     // ..... Skip already declared methods .....

     String[] getManagedRoleNames();
}

This allows the ExcaliburComponentManager to build all the necessary Components
at intialization time instead of during run time.  It also allows the Lookup
method to be simpler.

Alternatively, I can subinterface the RoleManager with the method I need, testing
for the specialization in ExcaliburComponentManger--but this will not allow the
lookup method to be cleaned up....

Last alternative is a cleanroom implementation of everything--not supporting the
deprecated Loggable interface....

-- 

"They that give up essential liberty to obtain a little temporary safety
  deserve neither liberty nor safety."
                 - Benjamin Franklin


--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message