>>> Interface Proposal
>>> ------------------
>>>
>>> The following two interfaces are proposed as a common replacement of
>>> the Merlin Extension interface and Fortress LifecycleExtension
>>> interface.
>>>
>>> interface Creator
>>> {
>>> void create( Object object, Context context )
>>> throws Exception;
>>> void destroy( Object );
>>> }
>>>
>>> interface Accessor
>>> {
>>> void access( Object object ) throws Exception;
>>> void release( Object object );
>>> }
>>>
>>
>>
>> :/
>>
>> I would add the Context to each of the methods, but your exception
>> handling is correct. See above for examples that require the existence
>> of the Context obejct.
>>
>
> I'm still maintaining my position that this is not needed, but in the
> meantime, some questions - Is it correct to asume that the context
> instance is the same imutable instance for each invocation? If this
> isn not true, a lot more complexity is needed in the meta-info and
> meta-data model (a.k.a. lets' not go in that direction). Secondly,
> assuming it's the same instances, then if the container has to cache
> this value (as opposed to the extension) - (which is what your
> suggesting), then basically your saying that for every component
> instance, the container must maintain the context state for all of the
> extensions the component is dependent on (eeek). I'm reasonably
> confident that you don't want to imply that, but as far as I can see -
> that's the implication.
> Can you enlighten me?
If the context is imutable for the lifetime of the profile (as opposed
to an instance of the type), then maintaining the set of context vales
under a map keyed by extension stage may be possible within the scope of
the AbstractLifestyleHandler - I'm looking into it further - inital
thoughts are that this may not be as problamatic as I'm suggesting above.
Cheers, Steve.
--
Stephen J. McConnell
OSM SARL
digital products for a global economy
mailto:[EMAIL PROTECTED]
http://www.osm.net
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>