org.kuali.rice.kew.engine.transition
Class TransitionEngine

java.lang.Object
  extended by org.kuali.rice.kew.engine.transition.TransitionEngine
Direct Known Subclasses:
DynamicTransitionEngine, JoinTransitionEngine, SimpleTransitionEngine, SplitTransitionEngine, SubProcessTransitionEngine

public abstract class TransitionEngine
extends Object

Common superclass for all Transition Engines. A TransitionEngine handles transitioning into and out of a RouteNodeInstance. The TransitionEngine is also responsible for determining if a Node has completed.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Field Summary
private  RouteHelper helper
           
 
Constructor Summary
TransitionEngine()
           
 
Method Summary
protected  Node getNode(RouteNode routeNode, Class nodeClass)
           
protected  RouteHelper getRouteHelper()
           
abstract  ProcessResult isComplete(RouteContext context)
          Tell the WorkflowEngine processing the activeNodeInstance if the node is complete and transitionFrom can be called.
protected  List<RouteNodeInstance> resolveNextNodeInstances(RouteNodeInstance nodeInstance)
           
protected  List<RouteNodeInstance> resolveNextNodeInstances(RouteNodeInstance nodeInstance, List<RouteNode> nextRouteNodes)
          Determines the next nodes instances for the transition.
protected  void setRouteHelper(RouteHelper helper)
           
 Transition transitionFrom(RouteContext context, ProcessResult processResult)
           
 RouteNodeInstance transitionTo(RouteNodeInstance nextNodeInstance, RouteContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

helper

private RouteHelper helper
Constructor Detail

TransitionEngine

public TransitionEngine()
Method Detail

transitionTo

public RouteNodeInstance transitionTo(RouteNodeInstance nextNodeInstance,
                                      RouteContext context)
                               throws Exception
Throws:
Exception

isComplete

public abstract ProcessResult isComplete(RouteContext context)
                                  throws Exception
Tell the WorkflowEngine processing the activeNodeInstance if the node is complete and transitionFrom can be called.

Parameters:
context - for routing
Returns:
boolean
Throws:
Exception

transitionFrom

public Transition transitionFrom(RouteContext context,
                                 ProcessResult processResult)
                          throws Exception
Throws:
Exception

setRouteHelper

protected void setRouteHelper(RouteHelper helper)

getRouteHelper

protected RouteHelper getRouteHelper()

getNode

protected Node getNode(RouteNode routeNode,
                       Class nodeClass)
                throws Exception
Throws:
Exception

resolveNextNodeInstances

protected List<RouteNodeInstance> resolveNextNodeInstances(RouteNodeInstance nodeInstance,
                                                           List<RouteNode> nextRouteNodes)
Determines the next nodes instances for the transition. If the node instance already has next nodes instances (i.e. a dynamic node), then those will be returned. Otherwise it will resolve the next nodes from the RouteNode prototype.

Parameters:
nodeInstance - for the transition
nextRouteNodes - list of route notes
Returns:
list of route note instances

resolveNextNodeInstances

protected List<RouteNodeInstance> resolveNextNodeInstances(RouteNodeInstance nodeInstance)


Copyright © 2004-2011 The Kuali Foundation. All Rights Reserved.