Stephen McConnell wrote:



Farr, Aaron wrote:

[comments below]



-----Original Message-----
From: Stephen McConnell [mailto:[EMAIL PROTECTED]

* Current status ...

  The current meta-data format for context entries in Merlin
  allows two modes of expression

  (a) import context entries from container space and mapping
      these to key in component space
  (b) creation of new context entries based on the composition
      of primitive values

The existing structure looks like:

    <context>
      <import key="my-classloader" name="urn:avalon:classloader"/>
      <entry key="special-key" class="MySpecialClass">
        <param>Hello World</param>
      </entry>
      <entry key="special-key" class="AnotherSpecialClass">
        <param>MyDualArgConstructorClass<param>
          <param>Hello World</param>
          <param class="java.io.File">../lib</param>
        </param>
      </entry>
    </context>

 It would be preferable to modify this such that the context element
 is restricted to <entry> tags and that the semantics of the entry
 are interpreted based on their content.  For example, applying the
 same example as above we could imagine an equivalent directive:

    <context>
      <entry key="my-classloader>
        <import key="urn:avalon:classloader"/>
      </entry>
      <entry key="special-key" class="MySpecialClass">
        <param>Hello World</param>
      </entry>
      <entry key="special-key" class="AnotherSpecialClass">
        <param>MyDualArgConstructorClass<param>
          <param>Hello World</param>
          <param class="java.io.File">../lib</param>
        </param>
      </entry>
    </context>

 This approach makes is much similar to expand the model to include
 new semantics.  The following example incorporates the declaration
 of an extension component that will acting in the role of context
 provider for a named entry.

    <context>
      <entry key="my-classloader>
        <extension type="org.apache.wizard.SpellBook"/>
      </entry>
    </context>

 This addresses two concerns, firstly, the introduction of a more
 flexible approach to context provider association, and secondly,
 ensures that the association is explicit.



Stephen,

How much of this is currently in place?


Everything exception the inclusion of <extension/> inside an entry is in place. There are demonstration of this in the tutorial somewhere.


Correction - its in place within the composition package but its not been integrated into the assembly system just yet (so my comment is somewhat missleading).

Steve.

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net

Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin




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



Reply via email to