puremvc :: patterns :: observer :: Notifier :: Class Notifier
[hide private]
[frames] | no frames]

Class Notifier

source code

          object --+    
                   |    
interfaces.INotifier --+
                       |
                      Notifier
Known Subclasses:

A Base INotifier implementation.

MacroCommand, Command, Mediator and Proxy all have a need to send Notifications.

The INotifier interface provides a common method called sendNotification that relieves implementation code of the necessity to actually construct Notifications.

The Notifier class, which all of the above mentioned classes extend, provides an initialized reference to the Facade Multiton, which is required for the convenience method for sending Notifications, but also eases implementation as these classes have frequent Facade interactions and usually require access to the facade anyway.

NOTE: In the MultiCore version of the framework, there is one caveat to notifiers, they cannot send notifications or reach the facade until they have a valid multitonKey.

The multitonKey is set:

on a Command when it is executed by the Controller

on a Mediator is registered with the View

on a Proxy is registered with the Model.


See Also:
Proxy, Facade, Mediator, MacroCommand, SimpleCommand
Instance Methods [hide private]
 
__init__(self, *args, **kwds)
Initialise the INotifier instance with an empty multiton key
source code
 
sendNotification(self, notificationName, body=None, noteType=None)
Create and send an INotification.
source code
 
initializeNotifier(self, key)
Initialize this INotifier instance.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  MULTITON_MSG = 'Notifier multiton instance for this key is not...
Properties [hide private]
  facade
Return the Multiton Facade instance

Inherited from object: __class__

Method Details [hide private]

__init__(self, *args, **kwds)
(Constructor)

source code 

Initialise the INotifier instance with an empty multiton key

Overrides: object.__init__

sendNotification(self, notificationName, body=None, noteType=None)

source code 

Create and send an INotification.

Keeps us from having to construct new INotification instances in our implementation code.

Parameters:
  • notificationName - the name of the notification to send
  • body - the body of the notification (optional)
  • noteType - the type of the notification (optional)
Overrides: interfaces.INotifier.sendNotification

initializeNotifier(self, key)

source code 

Initialize this INotifier instance.

This is how a Notifier gets its multitonKey. Calls to sendNotification or to access the facade will fail until after this method has been called.

Mediators, Commands or Proxies may override this method in order to send notifications or access the Multiton Facade instance as soon as possible. They CANNOT access the facade in their constructors, since this method will not yet have been called.

Parameters:
  • key - the multitonKey for this INotifier to use
Overrides: interfaces.INotifier.initializeNotifier

Class Variable Details [hide private]

MULTITON_MSG

Value:
'Notifier multiton instance for this key is not yet initialised!'

Property Details [hide private]

facade

Return the Multiton Facade instance

Get Method:
unreachable.facade(self) - Return the Multiton Facade instance