squirrel-foundation is a State Machine library, which provided a lightweight, easy use, type safe and programmable state machine implementation for Java.
use name() instead of toString() in DotVisitor/SCXMLVisitor to support overrided toString().
This is the graphviz result of using my custom toString function in State/Event enum.
digraph {compound=true;subgraph cluster_StateMachine {label="com.yit.rma.statemachine.redeliver.RedeliverStateMachine";REDELIVERED_FINISHED [label="REDELIVERED_FINISHED(发货已完成-维权结束)"];PENDING [label="PENDING(新申请-待处理)"];REJECTED [label="REJECTED(审核已驳回-维权结束)"];REDELIVERED_SENDING [label="REDELIVERED_SENDING(审核已通过-发货中)"];CONFIRMING [label="CONFIRMING(申请已处理-待确认)"];PENDING -> CONFIRMING [ label="APPLY_CONFIRM(确认申请)"];REDELIVERED_SENDING -> REDELIVERED_FINISHED [ label="UPLOAD_REDELIVER_WAYBILL(上传发货单)"];CONFIRMING -> REJECTED [ label="REJECT(驳回审核)"];CONFIRMING -> REDELIVERED_SENDING [ label="APPLY_APPROVED(通过审核)"];}}
use name() instead of toString() in DotVisitor/SCXMLVisitor to support overrided toString(). This is the graphviz result of using my custom toString function in State/Event enum.
digraph {
compound=true;
subgraph cluster_StateMachine {
label="com.yit.rma.statemachine.redeliver.RedeliverStateMachine";
REDELIVERED_FINISHED [label="REDELIVERED_FINISHED(发货已完成-维权结束)"];
PENDING [label="PENDING(新申请-待处理)"];
REJECTED [label="REJECTED(审核已驳回-维权结束)"];
REDELIVERED_SENDING [label="REDELIVERED_SENDING(审核已通过-发货中)"];
CONFIRMING [label="CONFIRMING(申请已处理-待确认)"];
PENDING -> CONFIRMING [ label="APPLY_CONFIRM(确认申请)"];
REDELIVERED_SENDING -> REDELIVERED_FINISHED [ label="UPLOAD_REDELIVER_WAYBILL(上传发货单)"];
CONFIRMING -> REJECTED [ label="REJECT(驳回审核)"];
CONFIRMING -> REDELIVERED_SENDING [ label="APPLY_APPROVED(通过审核)"];}}