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.

Hierarchy (view full)

Implements

Constructors

Properties

multitonKey: string

The Multiton Key for this app

MULTITON_MSG: string = "multitonKey for this Notifier not yet initialized!"

Message Constants

Accessors

Methods

  • 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.

    Parameters

    • key: string

      the multitonKey for this Notifier to use

    Returns void

  • Create and send an Notification.

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

    Parameters

    • notificationName: string

      The name of the notification to be sent.

    • Optionalbody: any

      Optional data to be included with the notification.

    • Optionaltype: string

      Optional type of the notification.

    Returns void