Package com.tnsai.fsm
Class StateMachineVisualizer
java.lang.Object
com.tnsai.fsm.StateMachineVisualizer
Generates visual representations of state machines.
Supports export to Mermaid and Graphviz (DOT) formats for documentation and debugging purposes.
Usage
StateMachine sm = ...; // your state machine
// Export to Mermaid
String mermaid = StateMachineVisualizer.toMermaid(sm);
System.out.println(mermaid);
// Output:
// stateDiagram-v2
// [*] --> IDLE
// IDLE --> PROCESSING : START
// PROCESSING --> COMPLETED : FINISH
// COMPLETED --> [*]
// Export to Graphviz DOT
String dot = StateMachineVisualizer.toDot(sm);
System.out.println(dot);
// Save to file
Files.writeString(Path.of("workflow.mmd"), mermaid);
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classOptions for Graphviz DOT generation.static classOptions for Mermaid diagram generation. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringtoDot(StateMachine stateMachine) Generates Graphviz DOT syntax.static StringtoDot(StateMachine stateMachine, StateMachineVisualizer.DotOptions options) Generates Graphviz DOT syntax with options.static StringtoMermaid(StateMachine stateMachine) Generates Mermaid state diagram syntax.static StringtoMermaid(StateMachine stateMachine, StateMachineVisualizer.MermaidOptions options) Generates Mermaid state diagram syntax with options.static StringtoText(StateMachine stateMachine) Generates a simple text representation.
-
Method Details
-
toMermaid
Generates Mermaid state diagram syntax.- Parameters:
stateMachine- the state machine- Returns:
- Mermaid diagram string
-
toMermaid
public static String toMermaid(StateMachine stateMachine, StateMachineVisualizer.MermaidOptions options) Generates Mermaid state diagram syntax with options.- Parameters:
stateMachine- the state machineoptions- visualization options- Returns:
- Mermaid diagram string
-
toDot
Generates Graphviz DOT syntax.- Parameters:
stateMachine- the state machine- Returns:
- DOT graph string
-
toDot
Generates Graphviz DOT syntax with options.- Parameters:
stateMachine- the state machineoptions- visualization options- Returns:
- DOT graph string
-
toText
Generates a simple text representation.- Parameters:
stateMachine- the state machine- Returns:
- text representation
-