非Java style且没什么用的Java有限状态机.
STATEMACHINE
============
an useless library for refactor ur messy if/else business logic.
source: =>github<=
Requirements
------------
* Java 6
Mini DSL
--------
State start = new State("start");start.enter = new Signal(String.class).add(callee, true, "beep", "<============= start enter helloWorld ===============>");start.exec = new Signal(String.class).add(callee, true, "beep", "<============= i am in start state ===============>");start.to("service").when("a > 5");start.to("task").when("a <= 5");// new service stateState service = new State("service");service.to("end");// add enter and exit signalservice.enter = new Signal(String.class).add(callee, true, "beep", "<============= service enter helloWorld ===============>");service.exec = new Signal(String.class).add(callee, true, "beep", "<============= i am in service state ===============>");service.exit = new Signal(String.class).add(callee, true, "beep", "<============= service exit byeWorld ===============>");// new task stateState task = new State("task");task.enter = new Signal(String.class).add(callee, false, "beep", "<============= task enter helloWorld ===============>");task.to("end");// new end stateState end = new State("end");end.exec = new Signal(String.class).add(callee, true, "beep", "<============= i am in end state ===============>");apt-get install graphviz
http://www.graphviz.org/Download..php
javac im.saito.Helper.javajava im.saito.Helper
dot -Tpng your/path/to/im/saito/Helper/fsm.dot > /your/path/to/fsm.png
