Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 2.41 KB

components.rst

File metadata and controls

84 lines (55 loc) · 2.41 KB

Component Registries

The component registry's API is defined by zope.interface.interfaces.IComponents:

.. autointerface:: zope.interface.interfaces.IComponentLookup
   :members:
   :member-order: bysource


.. autointerface:: zope.interface.interfaces.IComponentRegistry
   :members:
   :member-order: bysource

.. autointerface:: zope.interface.interfaces.IComponents
   :members:
   :member-order: bysource

One default implementation of ~zope.interface.interfaces.IComponents is provided.

.. autoclass:: zope.interface.registry.Components

Events

Adding and removing components from the component registry create registration and unregistration events. Like most things, they are defined by an interface and a default implementation is provided.

Registration

.. autointerface:: zope.interface.interfaces.IObjectEvent
.. autointerface:: zope.interface.interfaces.IRegistrationEvent

.. autointerface:: zope.interface.interfaces.IRegistered
.. autoclass:: zope.interface.interfaces.Registered

.. autointerface:: zope.interface.interfaces.IUnregistered
.. autoclass:: zope.interface.interfaces.Unregistered


Details

These are all types of IObjectEvent, meaning they have an object that provides specific details about the event. Component registries create detail objects for four types of components they manage.

All four share a common base interface.

.. autointerface:: zope.interface.interfaces.IRegistration

  • Utilities

    .. autointerface:: zope.interface.interfaces.IUtilityRegistration
    
    .. autoclass:: zope.interface.registry.UtilityRegistration
    
    
  • Handlers

    .. autointerface:: zope.interface.interfaces.IHandlerRegistration
    
    .. autoclass:: zope.interface.registry.HandlerRegistration
    
    
  • Adapters

    For ease of implementation, a shared base class is used for these events. It should not be referenced by clients, but it is documented to show the common attributes.

    .. autointerface:: zope.interface.interfaces._IBaseAdapterRegistration
    
    
    .. autointerface:: zope.interface.interfaces.IAdapterRegistration
    
    .. autoclass:: zope.interface.registry.AdapterRegistration
    
    
    .. autointerface:: zope.interface.interfaces.ISubscriptionAdapterRegistration
    
    .. autoclass:: zope.interface.registry.SubscriptionRegistration
    
    

Exceptions

.. autoclass:: zope.interface.interfaces.ComponentLookupError
.. autoclass:: zope.interface.interfaces.Invalid