I added a classloader to obtain the list of types/services/blocks
from the classloader manifest entries.  I based the code on a
*portion* of Stephen's TypeManager.

For each "Name:" entry in the classloader, we check for the following
conditions:

Avalon-Block: true        ->   add to list of Block names
Avalon: Type              ->   add to list of Type names
Avalon: Service           ->   add to list of Service names

Please note that I did not force any affinity to ContainerKit or
Meta packages.  All lists are just the String names (with the
".class" endings stripped off).  (actually it is implemented
as a Set so there is only one instance of a name in the classloader).

The ClassLoader behaves exactly like the URLClassLoader with
the exception of being able to pull the block/type/service names.



BTW Stephen, you might want to look at breaking out some functionality
in the TypeManager/ContainerManager into helper classes.  The *abstract*
TypeManager is 683 lines of code (comments included), and the concrete
ContainerManager that extends TypeManager is 1,615 lines of code.
That's
a ton of code to sift through in one file.  Perhaps this classloader
will help in that endeavor...


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to