package com.smtaiserver.smtaiserver.javaai.jsonflow.core; import java.util.ArrayList; import java.util.List; import com.smtaiserver.smtaiserver.javaai.SMTJavaAIError; import com.smtservlet.util.Json; public abstract class SMTJsonFlowNodeOnlyOutput extends SMTJsonFlowNode { protected List _listDownFlowNodes = new ArrayList<>(); @Override public void initEdge(SMTJsonFlowNode tagNode, Json jsonEdge) { super.initEdge(tagNode, jsonEdge); _listDownFlowNodes.add(tagNode); } @Override public void afterInstance() throws Exception { if(_listDownFlowNodes.size() == 0) throw new Exception("can't find down node from workflow : " + this.getId()); } @Override public SMTJavaAIError executeFlowNode(SMTJsonFlowExecArg execArg) throws Exception { // 将所有子节点添加作为下一轮节点 for(SMTJsonFlowNode flowNode : _listDownFlowNodes) { execArg._stackNodeExec.addLast(flowNode.createFlowNodeExec()); } return null; } }