avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@apache.org>
Subject Re: Avalon Context Survey
Date Thu, 10 Jul 2003 15:23:24 GMT


Stephen McConnell wrote:

>
>
> Farr, Aaron wrote:
>
>> [comments below]
>>
>>  
>>
>>> -----Original Message-----
>>> From: Stephen McConnell [mailto:mcconnell@apache.org]
>>>
>>> * 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:mcconnell@apache.org
http://www.osm.net

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




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


Mime
View raw message