Metadata-Version: 1.0
Name: z3c.discriminator
Version: 0.2
Summary: Provides a formalism for marking adapter specifications as discriminators.
Home-page: UNKNOWN
Author: Malthe Borch
Author-email: mborch@gmail.com
License: ZPL
Description: Overview
        --------
        
        z3c.discriminator provides a formalism for marking adapter specifications as
        discriminators in the sense that they will be used only for adapter lookup,
        not instantiation.
        
        Using z3c.discriminator
        -----------------------
        
        To mark one or more interfaces as discriminators in a ``provideAdapter`` call,
        simply wrap your interface with the ``discriminator`` method:
        
        >>> from z3c.discriminator import discriminator
        >>> provideAdapter(MyAdapter, (IFoo, discriminator(IBar)))
        
        To do the same in a Zope configuration file, prefix your dotted path with a
        dash like so:
        
        <adapter for="IFoo -IBar" factory="some.package.YourFactory" />
        
        Note that any interface in the declaration can be made a discriminator; they
        need not come in any particular order.
        
        In your factory definition, simply require only the arguments that correspond
        to non-discriminator specifications, e.g.
        
        class GetsOnlyFoo(object):
        def __init__(self, foo):
        ...
        
        -or-
        
        def gets_only_bar(bar):
        ...
        
        
        Changelog
        ---------
        
        Version 0.2  - November 26, 2007
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - Discriminator machinery is now introduced globally by patching the global
        adapter registry and the GlobalObject configuration field.
        
        The ``discriminator`` method now returns an interface that is in all
        aspects equal to the discriminated interface except it's marked as a
        discriminator.
        
        Test suite have been expanded by including the entire test suite from
        ``zope.component``.
        [malthe]
        
        
        Version 0.1  - November 23, 2007
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        - First public release
        [malthe]
        
Keywords: zope adapter discriminator
Platform: UNKNOWN
Classifier: Framework :: Zope2
Classifier: Framework :: Zope3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
