"StartNode", self::TASK_NODE => "TaskNode", self::LOGIC_NODE => "LogicNode", self::SPLIT_NODE => "SplitNode", self::FLOW_NODE => "FlowNode", self::MERGE_NODE => "MergeNode", self::END_NODE => "EndNode", self::COUNTER_SIGN_TASK => "CounterSignTask", self::COUNTER_SIGN_SUBTASK => "CounterSignSubtask" ); static $nodeTypes = array( self::START_NODE, self::TASK_NODE, self::LOGIC_NODE, self::SPLIT_NODE, self::FLOW_NODE, self::MERGE_NODE, self::END_NODE, self::COUNTER_SIGN_TASK, self::COUNTER_SIGN_SUBTASK ); static $handlerClasses = array( self::START_NODE=>"StartNodeHandler", self::TASK_NODE => "TaskNodeHandler", self::LOGIC_NODE => "LogicNodeHandler", self::SPLIT_NODE => "SplitNodeHandler", self::FLOW_NODE => "FlowNodeHandler", self::MERGE_NODE => "MergeNodeHandler", self::END_NODE => "EndNodeHandler", self::COUNTER_SIGN_TASK => "CounterSignTaskHandler", self::COUNTER_SIGN_SUBTASK => "CounterSignSubtaskHandler" ); protected $nodeProperty; /** *返回节点类型 * @param $param */ function __construct($param) { $this->nodeProperty = $param; } public function getType() { return $this->nodeProperty['nodeType']; } public function getNodeId() { return $this->nodeProperty['nodeId']; } public function getNodeDescription() { return $this->nodeProperty['desc']; } }