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]>