Peter, This and the other email. I like a lot. I think you'll have trouble with <join>, but you knew I'd say that ;-)
The multiple "foo" scenario, which is a real namespace issue, could it not be address java-package style? : org.apache.avalon.fooservice.FooClassLoaderNode We could actually have an interface called ClassLoaderNode that a real class could impl. It has in it some getters that pheonix could use for semi-hard coded checking against the assembly manifest? ... similar to <required> functionality of manifest. It is class loaded by full class name via the getClassLoader() as you described. Regards, - Paul H >Hi, > >One thing I forgot to mention was how Blocks aquire the ClassLoaders. I >propose that we add another method to BlockContext interface, namely > >ClassLoader getClassLoader(String name) > >This raises an interesting question though. How should a Block declare that >it needs a ClassLoader named "foo" and "foo" must contain classes X, Y and Z? >Should it declare that? > >My initial though was that you could add another section to the BlockInfo >file like > ><classloaders> > <classloader name="foo"> > <description> > This ClassLoader must contain classes X, Y and Z. It is > part of the foo API and we use it to do "Something". > </description> > <required classname="com.biz.ClassToCheckFor"/> > </classloader> ></classloaders> > >Then I realized - what would happen if 2 Blocks declared that they depended >on ClassLoaders named "foo" but which had different contents. So in this case >it would be required that you map the application-wide name into a >block-local name ... which seems like overkill/flexability syndrome. > >So options that I could think of are; >1. ignore the issue and make it a requirement that Block writers document it >so that assemblers can build it >2. have basic structures in blockinfo but keep names global >3. Same as 3 but we map classloader names from global namespace to >application local namespace. > >Thoughts? > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>