[Zope3-dev] Re: reasonable syntax for multi-adaptation

Dieter Maurer dieter at handshake.de
Wed Sep 26 15:37:10 EDT 2007


Jim Fulton wrote at 2007-9-26 15:10 -0400:
> ...
>> Jim Fulton wrote at 2007-9-26 11:29 -0400:
>>> ...
>>>>     IFoo(x)
>>>>     IBar(multi=(x,y))
>>>
>>> Actually, that is not the case.  If x already provides IFoo, then in
>>> the first case, the existing object is retuned. Nothing is
>>> instantiated.  OTOH, in:
>>>
>>>   getMultiAdapter([x], IFoo)
>>>
>>> or
>>>   getAdapter(x, IFoo)
>>>
>>> either there is an error or some factory will be called.  x won't be
>>> returned unless the factory happens to return it.
>>
>> Is this not an irrelevant implementation detail?
>
>No, the specified behavior is different.

Hm. But "getAdapter" and "getMultiAdapter" may return "x" as well
(when the factory decides to do this).

Thus, why is it relevant?



-- 
Dieter


More information about the Zope3-dev mailing list