/** * Copyright 2007-2010 非也 * All rights reserved. * * This library is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License v3 as published by the Free Software * Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along * with this library; if not, see http://www.gnu.org/licenses/lgpl.html. * */ package org.fireflow.pdl.fpdl.process; import java.util.List; import org.fireflow.model.data.Property; import org.fireflow.model.misc.Duration; import org.fireflow.model.process.WorkflowElement; import org.fireflow.pdl.fpdl.process.event.EventListenerDef; /** * * @author 非也 nychen2000@163.com * Fire Workflow 官方网站:www.firesoa.com 或者 www.fireflow.org * */ public interface SubProcess extends WorkflowElement{ /** * 获得该子流程的预计的运行时间 * @return */ public Duration getDuration(); /** * 返回该子流程的预计的运行时间 * @param du */ public void setDuration(Duration du); /** * 获得流程变量声明列表 * @return */ public List<Property> getProperties(); /** * 根据输入的流程变量的名称返回流程变量 * @param name 流程变量名称 * @return 流程变量(即Property对象) */ public Property getProperty(String name); /** * * 流程的入口节点 * @return */ public Node getEntry(); public void setEntry(Node start); /** * 获得所有的开始节点 * @return */ public List<StartNode> getStartNodes(); public StartNode getStartNode(String startNodeId); /** * 获得流程图中的所有的活动 * @return */ public List<Activity> getActivities(); public Activity getActivity(String activityId); /** * 获得所有的路由节点 * @return */ public List<Router> getRouters(); public Router getRouter(String routerId); /** * 所有的结束节点 * @return */ public List<EndNode> getEndNodes(); public EndNode getEndNode(String endNodeId); /** * 所有的转移 * @return */ public List<Transition> getTransitions(); public Transition getTransition(String transitionId); /** * 通过Id查找流程元素,如开始节点,结束节点,活动,路由,转移等等 * @param id * @return */ public WorkflowElement findWFElementById(String id); public List<EventListenerDef> getEventListeners(); }