Dynamic View Services > View and Notification Services > Notification States > Notification States Assigned to Objects
 
Notification States Assigned to Objects
Objects can be assigned one of the following three logical states:
*Creation State
*Deletion State
*Modification State
Creation State
A server object is assigned creation state when the object has not been subscribed yet by the view. For example:
*when the view has just been opened;
*when notification is propagated the first time to this object.
The corresponding notification function creates the mapping defined by the represent clauses in the view specification.
Note: A mapping may not be created if a representation condition has been specified and is evaluated as false for this instance.
In any case, as soon as the notification function corresponding to the creation state of an object is called, the view subscribes to this object. Simultaneously, Rogue Wave® Server propagates this notification to those relations for which a propagate clause has been specified. As the result, the view also subscribes to these relations and notifies them in creation state.
Even if no mapping has been created for the object, the view subscribes to it and will be notified each time the object is updated.
When a view is opened on an origin object, the origin is the first and only object notified to the view in creation state.
Deletion State
A server object is assigned deletion state when the view subscribes to the object and one of the following conditions is met:
*The view is closed, and the object is one of the origins of the view.
*The object was subscribed to through a relation and is no longer the target of this relation.
In this case, the deletion notification function undoes the mapping declared in the view specification and cancels subscription to this object. The deletion notification state is also propagated to the relations for which a propagate clause has been declared in the view specification.
Modification State
Modification state is assigned to a server object to which the view subscribes and that has been modified during the interaction cycle.
An object is modified if:
*it contains an entry data member or a derived data member that has been updated,
*the function IlsViewed::forceModify has been invoked for this object.
The modification notification function updates the mapping according to the attributes that have changed during the interaction cycle.

Version 5.8
Copyright © 2014, Rogue Wave Software, Inc. All Rights Reserved.