OCLOperators stateMachineForceMode
(Replacing message template with parser tag)
No edit summary
Line 16: Line 16:
[[Category:MDriven Designer]]
[[Category:MDriven Designer]]
{{Edited|July|12|2024}}
{{Edited|July|12|2024}}
[[Category:OCLOperators]]

Revision as of 05:30, 17 December 2024

This page was created by Hans.karlsen@mdriven.net on 2018-04-01. Last edited by Stephanie@mdriven.net on 2025-02-24.

StateMachine Force Mode.

StateMachines follow their rules. However, when you change your model or find a bug, you may find yourself in a situation where the current state of objects is wrong, and there is no legal way to get to the correct state. For this reason, we added the StateMachineForceMode operator that is only intended to be used in the debugger or the like.

Calling object.StateMachineForceMode(theStateAttribute) gives you one free pass to set the StateAttribute string directly:

The stateMachineForceMode is only good for 1 write so this will fail on the 3 lines:

self.stateMachineForceMode('State'); 
self.State:='State3'; 
self.State:='State3' 

But this will work:

self.stateMachineForceMode('State');

self.State:='State3';

self.stateMachineForceMode('State');

self.State:='State3'

Note! The StateMachineForceMode has the name of the state attribute as the parameter, not the name of the state itself.

This is explained in more detail here.

See also: State value as a string