AboutChi Siamo ServicesServizi ProjectsProgetti TechnologyTecnologia ContactContatti Reserved areaArea riservata
01 OVERVIEW PANORAMICA

Library Libreria

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.

Declarative statesStati dichiarativi Guards & side effectsGuardie ed effetti ProductionProduzione
02 WHAT IT DOES COSA FA

Inside the system Dentro il sistema

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.

Enter / exit callbacks Callback entrata e uscita

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.

Before / after / async reactions Reazioni prima / dopo / asincrone

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.

Document lifecycles Cicli di vita documenti

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.

Approval flows Flussi di approvazione

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.

Lightweight core Nucleo leggero

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.

Need something
like this?
Ti serve qualcosa
di simile?