[Zope3-Users] Interface confusion (still)

2008-07-15 Thread Tim Cook
If interface B inherits from interface A and class B implements interface B; do I need to explicitly state that class B provides interface A? Concrete example: class IElement(Interface): value = Object( schema=IDataValue, title=_(uvalue), description=_(uData value of

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Shailesh Kumar
Hi, I believe not. In any case, implements, provides and such things are more like indications of what is being supported by a class and they are not enforced by runtime strictly. I just tried following: # from zope.component

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Markus Kemmerling
Am 15.07.2008 um 20:53 schrieb Tim Cook: If interface B inherits from interface A and class B implements interface B; do I need to explicitly state that class B provides interface A? An instance of a class provides not only the interface the class declares to implement, but also all base

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Tim Cook
The purpose of this question is related to an earlier question I had about using the best/correct schema field choice. It was pointed out that I should use 'Object' and set the schema to the interface of the class(es) that I wanted that attribute to accept. Since I did not point out that all of

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Benji York
On Tue, Jul 15, 2008 at 6:31 PM, Tim Cook [EMAIL PROTECTED] wrote: Note: classes *implement* interfaces, their instances *provide* them. ... and I am still confused about a use case for classProvides. When one says that a class *provides* an interface they're saying that instances of that

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Tim Cook
On Tue, 2008-07-15 at 18:56 -0400, Benji York wrote: On Tue, Jul 15, 2008 at 6:31 PM, Tim Cook [EMAIL PROTECTED] wrote: Note: classes *implement* interfaces, their instances *provide* them. ... and I am still confused about a use case for classProvides. When one says that a class

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Fred Drake
On Tue, Jul 15, 2008 at 6:56 PM, Benji York [EMAIL PROTECTED] wrote: When one says that a class *provides* an interface they're saying that instances of that class *implements* the interface. Sorry, you got that backwards. Instances provide the interfaces their class implements. On the other

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Tim Cook
On Tue, 2008-07-15 at 19:27 -0400, Fred Drake wrote: On Tue, Jul 15, 2008 at 6:56 PM, Benji York [EMAIL PROTECTED] wrote: When one says that a class *provides* an interface they're saying that instances of that class *implements* the interface. Sorry, you got that backwards. Instances

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Benji York
On Tue, Jul 15, 2008 at 7:27 PM, Fred Drake [EMAIL PROTECTED] wrote: On Tue, Jul 15, 2008 at 6:56 PM, Benji York [EMAIL PROTECTED] wrote: When one says that a class *provides* an interface they're saying that instances of that class *implements* the interface. Sorry, you got that backwards.

Re: [Zope3-Users] Interface confusion (still)

2008-07-15 Thread Fred Drake
On Tue, Jul 15, 2008 at 7:36 PM, Tim Cook [EMAIL PROTECTED] wrote: And in my Maildir example it implements what is defined in IMaildir but how does it 'provide' what is in IMaildirFactory? Specifically the __call__ method. The __call__ of a class is the default constructor (the standard