/*
 * Created on 2004-1-22
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package workflow.wfmc.xpdl;

import java.util.List;

import workflow.wfmc.xpdl.event.CaseListener;


/**
 * @author reic
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public interface WorkflowProcess extends XPDLElement
{
  //------------------------------------------------------------------
  public WorkflowPackage             getWorkflowPackage();
  public void                        setWorkflowPackage(WorkflowPackage workflowPackage);
  
  public List                        getWorkflowActivities();
  public List                        getWorkflowTransitions();
  
  public WorkflowProcessHeader       getProcessHeader();
  public void                        setProcessHeader(WorkflowProcessHeader processHeader);
  
  public boolean                     isExpired();
  public void                        setExpired(boolean expired);
  
  public WorkflowActivity            findWorkflowActivity(String activityId);  
  public WorkflowTransition          findWorkflowTransition(String transitionId);      
  public WorkflowTransition          findWorkflowTransition(WorkflowActivity fromActivity,WorkflowActivity toActivity); 
  
  public WorkflowActivity            getBeginActivity();
  public WorkflowActivity            getEndActivity();
  
  public void                        addCaseListener(CaseListener listener);
  public void                        removeCaseListener(CaseListener listener);
  public CaseListener[]              getCaseListeners(); 
}
