Package twisted :: Package python :: Module components :: Class Interface
[frames | no frames]

Class Interface

Known Subclasses:
IAccount, IAccount, IAddress, IAlias, IAuthorizer, IBucketFilter, IChatUI, IClient, IClientAuthentication, ICloseableMailbox, ICommand, ICommandLog, IConchUser, IConnector, IConsumer, IContact, IController, IConversation, ICredentials, ICredentialsChecker, IDelayedCall, IDomain, IEthernetProtocol, IFileDescriptor, IFTPShell, IGroup, IGroupConversation, IJellyable, IListeningPort, ILocator, IMailbox, IMailboxInfo, IMailboxListener, IManholeClient, IMessage, IMessageCopier, IMessageDelivery, IMessageDeliveryFactory, IMessageFile, IMessagePart, IModel, IMulticastTransport, INamespacePresenter, INewsStorage, INode, INodeMutator, IOldApplication, IPBRoot, IPersistable, IPerson, IPerspective, IPerspective, IProcess, IProducer, IProtocol, IProtocolFactory, IRawDatagramProtocol, IRawPacketProtocol, IReactorArbitrary, IReactorCore, IReactorFDSet, IReactorMulticast, IReactorPluggableResolver, IReactorProcess, IReactorSSL, IReactorTCP, IReactorThreads, IReactorTime, IReactorUDP, IReactorUNIX, IReactorUNIXDatagram, IRealm, IRegistry, IRemoteReporter, IResolverSimple, IResource, ISearchableMailbox, IServerFactory, IService, IService, IService, IServiceCollection, IServiceCollection, ISession, ISFTPServer, ISystemHandle, ITestRunner, ITransport, IUDPConnectedTransport, IUDPTransport, IUNIXDatagramConnectedTransport, IUNIXDatagramTransport, IUnjellyable, IView, IWordsClient, IWordsPolicy, IWovenLivePage

Base class for interfaces.

Interfaces define and document an interface for a class. An interface class's name must begin with I, and all its methods should have no implementation code.

Objects that implement an interface should have an attribute __implements__, that should be either an Interface subclass or a tuple, or tuple of tuples, of such Interface classes.

A class whose instances implement an interface should list the interfaces its instances implement in a class-level __implements__.

For example:
   | class IAdder(Interface):
   |     'Objects implementing this interface can add objects.'
   |
   |     def add(self, a, b):
   |         'Add two objects together and return the result.'
   |
   | class Adder:
   |
   |     __implements__ = IAdder
   |
   |     def add(self, a, b):
   |         return a + b
You can call an Interface with a single argument; If the passed object can be adapted to the Interface in some way, the adapter will be returned.
Generated by Epydoc 2.0 on Sat May 15 20:07:36 2004 http://epydoc.sf.net