States & transitions Stati e transizioni
The whole shape of a workflow declared up front, not spread across scattered checks. L'intera forma di un workflow dichiarata in anticipo, non sparsa in controlli isolati.
Finite state machine library for modeling complex business workflows. Defines states, transitions, guards, and side effects in a declarative way. Used for managing document lifecycles, approval flows, and multi-step processes. Libreria a macchina a stati finiti per la modellazione di workflow aziendali complessi. Definisce stati, transizioni, guardie ed effetti collaterali in modo dichiarativo. Utilizzata per cicli di vita documenti, flussi di approvazione e processi multi-step.
KiStateMachine is DPStudio's finite-state-machine library for Java: states, transitions, guard conditions and the side effects tied to them, declared up front instead of scattered across if/else chains buried in business logic. What can happen next is enforced by the machine itself, not left to convention. KiStateMachine è la libreria a macchina a stati finiti per Java di DPStudio: stati, transizioni, condizioni di guardia e gli effetti collaterali legati a ciascuna, dichiarati in anticipo invece di essere sparsi in catene di if/else sepolte nella logica applicativa. Cosa può succedere dopo è imposto dalla macchina stessa, non lasciato alla convenzione.
It drives the parts of our systems where a fixed sequence of steps has to be respected: a document moving from draft to approved to issued, a multi-step approval chain, any process where skipping a step is not an option. Guida le parti dei nostri sistemi in cui una sequenza fissa di passaggi va rispettata: un documento che passa da bozza ad approvato a emesso, una catena di approvazione a più livelli, qualunque processo in cui saltare un passaggio non è un'opzione.
The whole shape of a workflow declared up front, not spread across scattered checks. L'intera forma di un workflow dichiarata in anticipo, non sparsa in controlli isolati.
Code runs exactly when a state is entered or left, every single time, never forgotten. Il codice viene eseguito esattamente quando uno stato viene raggiunto o lasciato, ogni volta, senza dimenticanze.
A transition's side effect can run before, after, or in the background without blocking the caller. L'effetto collaterale di una transizione può girare prima, dopo o in background senza bloccare chi la richiama.
Draft, approved, issued - a document's allowed path modeled by the same engine, end to end. Bozza, approvato, emesso - il percorso consentito di un documento modellato dallo stesso motore, dall'inizio alla fine.
Multi-step sign-offs where the next step depends on who just acted and what they decided. Approvazioni a più livelli in cui il passaggio successivo dipende da chi ha appena agito e da cosa ha deciso.
Plain Java generics under the hood, easy to drop into any KATANA or standalone application. Generics Java puri sotto il cofano, facile da inserire in qualunque applicazione KATANA o standalone.