Notes for governance plug-ins
These notes apply to the governance validation, governance modification, and governance notification plug-ins.
However, in your plug-in code you can obtain the complete list of objects in the governed collection by retrieving the GovernanceRecord object, using the getGovernanceRecord() method on the Governance Session Bean, and then calling its getGovernedObjects() method.
Validator, modifier and notifier events for governed objects
When a governance operation (makeGovernable(), transition(), or removeGovernance()) is invoked on an object or collection of objects in the WSRR a sequence of events will be seen by the validator, modifier or notifier plug-ins currently installed.For example, consider a transition() operation performed on a governed collection consisting of several related WSDL documents and XSD documents. The transition() operation itself is run on a single object that is the object defined as the root of the governed collection. If the transition is successful the entire collection will move to a new lifecycle state and the classifications of each document in the collection will be updated to reflect this new state. In addition, the classifications of any logical objects derived from the documents in the governed collection will also be updated to reflect the new state, although these logical objects are not themselves considered as governed (only the documents from which they derive are considered governed). Note that for each logical object derived from the document, the update() method will not be called.
- The transition() method will be called for any governance validators, modifiers
or notifiers that are installed. This method will be passed the root object of the governed
collection that is being transitioned. Note: this method is invoked only for the root object of the collection. However, in your plug-in code you can obtain the complete list of objects in the governed collection by retrieving the GovernanceRecord object, using the getGovernanceRecord() method on the Governance Session Bean, and then calling its getGovernedObjects() method.
- For each document in the governed collection the update() method will be called
for all validators, modifiers and notifiers applicable to the given document. This update event
occurs as the document classification is changed to reflect the new lifecycle state. The change of
classification is the only change present on the update event. Note: a governance-specific validator, modifier or notifier might choose to ignore these update events, because it will have already seen the corresponding transition event. Also note that update events are not produced for the classification changes that occur to the logical objects derived from the original documents, even though these classifications do change. This is partly for performance reasons to avoid creating excessive numbers of validation calls for each governance operation and partly because these logical objects, although reflecting the same state classification as their originating document, are not themselves considered as governed.