-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dieter Maurer wrote: > George Lee wrote at 2006-3-11 00:41 -0500: > >>... >>What is the difference between Implicit and Acquirer? Between Explicit >>and Acquirer? > > > An acquirer is an object with two components "aq_self" and "aq_parent". > If asked for an attribute, any acquirer passes the request on > to "aq_self" and returns the result if "aq_self" can deliver > the attribute. > > The difference between an ImplicitAcquirer and an ExplicitAcquirer > comes only into play when "aq_self" cannot deliver the asked > for attribute. In this case, an ImplicitAcquirer automatically > passed the request on "aq_parent" while an ExplicitAcquirer fails > (with an AttributeError). > > >>Including, what methods do Implicit and Explicit *add* or *override*? > > > Both have the same methods (and attribute). > > >>For instance, does Explicit add an aq_acquire method? > > > No. But "aq_acquire" is more important for an "ExplicitAcquirer" > than for an "ImplicitAcquirer": > > "aq_acquire" supports precise control over the lookup > behaviour of all kinds of acquirers. > > With an "ExplicitAcquirer", you (usually) must use "aq_acquire" > to look the attribute up in "aq_parent"; an "ImplicitAcquirer" > would do this automatically (if necessary). > > >>What else? > > > Nothing. > > >>I tried sifting through the C code and the epydoc files but still >>couldn't make sense of it all -- it seems that Implicit and Acquirer >>are really the same, for instance. Answers or references would be very >>appreciated, thanks. > > > Apparently, you have a reason to use the strange "Implicit and Acquirer"... > > In fact, there are two kinds of "Acquirers": "ImplicitAcquirer" > and "ExplicitAcquirer". There is nothing like "Implicit and Acquirer".
Perhaps the distinction is that 'Impleict' and 'Explicit' are the names of mixin classes, whose '__of__' method returns an 'ImplicitAcquirer' / 'ExplicitAcquirer' wrapper (respectively). The wrapper is what does the actual majyk which Dieter describes. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 [EMAIL PROTECTED] Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFEEyge+gerLs4ltQ4RAqvXAKCKJh+L08QI6aGycl1QvsLDwedu0QCfSeWO RiGynPjwmS98w9I2C6mfZMQ= =P4H+ -----END PGP SIGNATURE----- _______________________________________________ Zope-CMF maillist - [email protected] http://mail.zope.org/mailman/listinfo/zope-cmf See http://collector.zope.org/CMF for bug reports and feature requests
