OCLOperators OnStateChange
No edit summary
No edit summary
Line 1: Line 1:
'''OnStateChange(attrib:String; oldstate:String; newstate:String)''' .
Any class with this method signature will get called for each trigger-call that is made on the statemachine.
The main intended use is audit and logging functionality. When you use state machines heavily to track important events in your business – this becomes important.
The event method is NOT for stopping transitions – use guards for that.
You can solve logging by implementing state effects or entry actions as well – but the OnStateChange method helps you to pull out generic logging from the state machines. If your class has multiple state machines, state changes from all of these will go through this same method.
See [[OnStateChange]]
See [[OnStateChange]]


See also [[OCLOperators OnCreate|OnCreate]], [[OCLOperators OnUpdate|OnUpdate]], [[OCLOperators OnDelete|OnDelete]]
See also [[OCLOperators OnCreate|OnCreate]], [[OCLOperators OnUpdate|OnUpdate]], [[OCLOperators OnDelete|OnDelete]]

Revision as of 13:21, 5 April 2022

OnStateChange(attrib:String; oldstate:String; newstate:String) .

Any class with this method signature will get called for each trigger-call that is made on the statemachine.

The main intended use is audit and logging functionality. When you use state machines heavily to track important events in your business – this becomes important.

The event method is NOT for stopping transitions – use guards for that.

You can solve logging by implementing state effects or entry actions as well – but the OnStateChange method helps you to pull out generic logging from the state machines. If your class has multiple state machines, state changes from all of these will go through this same method.

See OnStateChange

See also OnCreate, OnUpdate, OnDelete

This page was edited 47 days ago on 02/10/2024. What links here