Notifications

JOSIF Main Page | JOSIF Guidebook | Modeling | General Patterns | Notifications

 

Notifications

TIP defines a common parent for all TIP Notifications. It is called NotificationBase and shown in orange on the figures below. This type is injected by the TIP Generators into code generated from Tigerstripe Event (i.e. notification) artifacts where the 'Extends' field has been left as an empty string. It includes 1 attribute: sourceTime. Please refer to Internal Framework Model#Notifications for details.

TIP defines 4 types of standard notifications:

  • Object Creation Notification
  • Object Deletion Notification
  • Object Discovery Notification
  • Attribute Value Change Notification

TIP defines a common parent for all TIP Common Notifications. It is called CommonNotification and shown in green on the figures below.

CommonNotification inherits by injection of CommonNotificationBase, shown in orange on the figures below.
This type is injected by the TIP Generators into code generated from Tigerstripe Event (i.e. notification) artifacts where the 'Extends' field is equal to Common Notification. It includes 3 attributes: sourceTime (inherited from NotificationBase, ObjectType and ObjectId. Please refer to Internal Framework Model#Notifications for details.

The concept of State Change does not exist as this has been merged in the AVC Notification.

For each of the standard notifications above, there is a base notification object defined in the Common Model (Common Framework Model#Common Notifications). Those notifications are shown in green in the figures below.

The TIP Framework generators will generate for each class the appropriate notifications based on the stereotypes defined for the objects. These notifications will inherit from one of the common objects listed above.

Object Creation Notification

The exception hierarchy for Object Creation Notification is shown on the figure below:

Object Creation notification is enabled for a given entity if the atribute objectCreationNotification of the tipClass stereotype is set to YES for this entity.

In this case, the generators (especially SOAP Generator) will generate a notification called <Entity>OCN (in the figure, ServiceProblemOCN in purple) that inherits from OCNotification.
This notification will contain a single atribute object of type <Entity> (Service Problem in the figure) that will contain the value of all the attributes of the entity set at creation.

Object Deletion Notification

The exception hierarchy for Object Deletion Notification is shown on the figure below:

Object Deletion notification is enabled for a given entity if the atribute objectDeletionNotification of the tipClass stereotype is set to YES for this entity.

In this case, the generators (especially SOAP Generator) will generate a notification called <Entity>ODelN (in the figure, ServiceProblemODelN in purple) that inherits from ODelNotification.
This notification does not contain any additional attribute.

Object Discovery Notification

The exception hierarchy for Object Discovery Notification is shown on the figure below:

Object Discovery notification is enabled for a given entity if the atribute objectDiscoveryNotification of the tipClass stereotype is set to YES for this entity.

In this case, the generators (especially SOAP Generator) will generate a notification called <Entity>ODisN (in the figure, ServiceProblemODisN in purple) that inherits from ODisNotification.

Attribute Value Change Notification

The exception hierarchy for OAttribute Value Change Notification is shown on the figure below:

Attribute Value Change notification is enabled for a given entity if one of the atribute of the entity (or naviguable association end) has the attribute notificationDefinition of the tipAttribute stereotype is set to YES for this entity.

In this case, the generators (especially SOAP Generator) will generate a notification called <Entity>AVCN (in the figure, ServiceProblemAVCN in purple) that inherits from AVCNotification.
This notification will contain all the attributes that have notificationDefinition enabled.
This would allow to report the new values of those attributes.