pytilities.event.dispatcherswitch.DispatcherSwitch

Package pytilities :: Package event :: Module dispatcherswitch :: Class DispatcherSwitch |
[hide private]
[frames] | no frames]

# Class DispatcherSwitch

source code

    object --+
             |
            DispatcherSwitch

Provides a single interface to multiple event dispatchers.

Events are switched to the the first event dispatcher in a list of dispatchers that supports the event, the other dispatchers are ignored for that particular event.

This is also how remove_handlers will look for handlers, it will only remove the handlers of each event's first found dispatcher; the other ones are 'hidden' by this one, for this event.

Check Dispatcher for the documentation of the methods that are left undocumented here.

Instance methods:

> - append_dispatchers: Add dispatchers to the list of dispatchers
> - ...

Instance Methods | [hide private]
__init__(self) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
append_dispatchers(self, *dispatchers) Add dispatchers to the end of the list of dispatchers. | source code
__get_dispatcher_for_event(self, event_name) Get the dispatcher for the given event according to our switching rules | source code
add_handler(self, event_name, handler, owner=None) | source code
remove_handlers(self, event_name=None, owner=None) | source code
remove_handler(self, event_name, handler, owner=None) | source code
event(self, event_name, owner=None) | source code
has_event(self, event_name) | source code
dispatch(self, event_name, *args, **keyword_args) | source code
Delegator(profile_name=`'``default``'`, target=None) Construct a delegator with a stored Profile. | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Static Methods | [hide private]
__init_delegation_profiles(profiles) | source code

Class Variables | [hide private]
| _delegator_factory = `<pytilities.delegation.delegatorfactory.D`...``

Properties | [hide private]
| events
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)

### append_dispatchers(self, *dispatchers) | source code
Add dispatchers to the end of the list of dispatchers. Parameters: dispatchers :: (Dispatcher...) sequence of dispatchers to append

### add_handler(self, event_name, handler, owner=None) | source code
Decorators: `@delegated("public")`

### remove_handlers(self, event_name=None, owner=None) | source code
Decorators: `@delegated("public")`

### remove_handler(self, event_name, handler, owner=None) | source code
Decorators: `@delegated("public")`

### event(self, event_name, owner=None) | source code
Decorators: `@delegated("public")`

### has_event(self, event_name) | source code
Decorators: `@delegated("public")`

### Delegator(profile_name=`'``default``'`, target=None) | source code
Construct a delegator with a stored Profile. Parameters: `profile_name` :: string name of the Profile to use to set up the delegator with `target` = None target of the newly created delegator Returns newly created delegator :: Delegator Raises: `ValueError` when no profile with name `profile_name` exists

Class Variable Details | [hide private]

  ### _delegator_factory Value:
      <pytilities.delegation.delegatorfactory.DelegatorFactory object at 0x1
      a0c110>

Property Details | [hide private]

### events Get Method: unreachable.events(self)