package foundation.state.designer; import java.util.List; import foundation.json.IJSONWriter; import foundation.state.StateMachine; import foundation.state.StatePoint; public class Designer { public static void writeJSON(StateMachine machine, IJSONWriter writer) { writer.beginObject(); //1. 输出状态机基本信息 writeHeader(machine, writer); //2. 输出状态机图数据(明细Point) writeMapDetails(machine, writer); writer.endObject(); } private static void writeHeader(StateMachine machine, IJSONWriter writer) { writer.write("id", machine.getId()); writer.write("name", machine.getName()); } private static void writeMapDetails(StateMachine machine, IJSONWriter writer) { //1. 计算 List points = machine.getStatePoints(); StateMap stateMap = new StateMap(points); //2. 输出 writer.beginArray("cells"); //2.1 输出状态 writeStates(stateMap.getActiveStates()); //2.2 输出操作(Operator) writeOperators(stateMap.getOperators()); //2.3 输出审批流 writeApproves(stateMap.getApproves()); //2.4 输出连接线 writeLines(stateMap.getLines()); writer.endArray(); } private static void writeLines(Object lines) { // TODO Auto-generated method stub } private static void writeApproves(Object approves) { // TODO Auto-generated method stub } private static void writeOperators(Object operators) { // TODO Auto-generated method stub } private static void writeStates(Object activeStates) { // TODO Auto-generated method stub } public static void fromJSON() { } }