OnStateChange
(Adding message template to the top of the page)
(Replacing message template with parser tag)
Line 1: Line 1:
{{message|Write the content here to display this box}}
<message>Write the content here to display this box</message>
  OnStateChange(attrib:String; oldstate:String; newstate:String).
  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.  
Any class with this method signature will get called for each trigger call that is made on the statemachine.  

Revision as of 07:53, 17 June 2024

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 statemachines 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 pull out generic logging from the statemachines. If your class has multiple state machines, state changes from all of these will go through this method.

This page was edited 2 days ago on 09/17/2024. What links here