Element <state-machine>¶
Zweck: Deklariert einen benannten gewichteten Zustandsgraphen für deterministische Generierung.
Warum: Verwende dieses Element, wenn generierte Werte einem benannten, gewichteten Übergangsgraphen folgen müssen.
Beispiel¶
1 | |
Entscheidungshilfe¶
Fachlicher Nutzen: Erzeugt Werte entlang eines expliziten fachlichen Lebenszyklus statt durch unabhängige Auswahl.
-
Verwenden, wenn
- Wenn Statuswerte erlaubten, optional gewichteten Übergängen folgen müssen.
-
Anderen Ansatz wählen, wenn
- Wenn Werte unabhängige Kategorien ohne Lebenszyklusbedingungen sind.
-
Voraussetzungen
- Deklariere einen Startzustand und einen verbundenen Satz von transition-Kindern.
-
Alternativen
- Verwende key values oder weights für unabhängige kategoriale Auswahl. (Siehe:
<key>)
- Verwende key values oder weights für unabhängige kategoriale Auswahl. (Siehe:
Vollständige Beispiele¶
Einen deterministischen Auftragslebenszyklus aus einem Übergangsgraphen erzeugen
Verwende eine State Machine, wenn Werte erlaubten fachlichen Übergängen statt unabhängiger Zufallsauswahl folgen müssen.
| order-lifecycle/datamimic.xml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 | |
Regeln und ungültige Kombinationen¶
I923 — State Machine No Transitions
Warum: A
Lösung: Add at least one
I924 — State Machine Duplicate Id
Duplicate
Warum: Two or more
Lösung: Use a distinct id= for each
I925 — State Machine Id Collides With Generator
Warum: A
Lösung: Choose an id= that does not match any registered generator class name.
Erlaubte Elternelemente / Erlaubte Kindelemente¶
Erlaubte Elternelemente: else, else-if, if, setup, while
Erlaubte Kindelemente:
transition
Attribute¶
Alle 2 Attribute anzeigen
id
Registration id for this state machine; referenced later via generator=
erforderlich; string.
start
Starting state name. Defaults to the first
optional; string; Standardwert: null.