new Notifier()
A Base Notifier
implementation.
`MacroCommand, Command, Mediator` and `Proxy` all have a need to send `Notifications`.
The `Notifier` interface provides a common method called `sendNotification` that relieves implementation code of the necessity to actually construct `Notifications`.
The `Notifier` class, which all 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.
- Source:
- See:
-
- Proxy Proxy
- Facade Facade
- Mediator Mediator
- MacroCommand MacroCommand
- SimpleCommand SimpleCommand
Members
Methods
initializeNotifier(key)
Initialize this Notifier 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.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
key |
string
|
the multitonKey for this Notifier to use |
sendNotification(notificationName, bodyopt, typeopt)
Create and send an Notification
.
Keeps us from having to construct new Notification instances in our implementation code.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
notificationName |
string
|
|||
body |
Object
|
<optional> |
null |
body |
type |
string
|
<optional> |
type |