org.kuali.rice.kew.engine.node.hierarchyrouting
Class HierarchyRoutingNode

java.lang.Object
  extended by org.kuali.rice.kew.engine.node.hierarchyrouting.HierarchyRoutingNode
All Implemented Interfaces:
DynamicNode, Node

public class HierarchyRoutingNode
extends Object
implements DynamicNode

Generic hierarchy routing node

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

Field Summary
static String HIERARCHY_PROVIDER
          The RouteNode configuration parameter that specifies the hierarchy provider implementation
protected static String JOIN_PROCESS_NAME
           
protected  org.apache.log4j.Logger LOG
           
protected static String NO_STOP_NAME
           
protected static String REQUEST_PROCESS_NAME
           
protected static String SPLIT_PROCESS_NAME
           
static String STOP_ID
          RouteNodeInstance NodeState key for id of stop
 
Constructor Summary
HierarchyRoutingNode()
           
 
Method Summary
protected  HierarchyProvider getHierarchyProvider(RouteNodeInstance nodeInstance, RouteContext context)
          Loads hierarchy provider class via the GlobalResourceLoader
protected  ProcessDefinitionBo getPrototypeProcess(RouteNode node, DocumentType documentType)
          Places a ProcessDefinition on the documentType wrapping the node and setting the node as the process's initalRouteNode
protected  RouteNode getStopRequestNode(HierarchyProvider.Stop stop, DocumentType documentType)
           
protected  boolean isDescendent(HierarchyProvider provider, HierarchyProvider.Stop parent, HierarchyProvider.Stop otherStop)
           
 DynamicResult transitioningInto(RouteContext context, RouteNodeInstance dynamicNodeInstance, RouteHelper helper)
          Invoked when the engine first encounters this DynamicNode.
 DynamicResult transitioningOutOf(RouteContext context, RouteHelper helper)
          Invoked everytime a node in the dynamic process completes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected final org.apache.log4j.Logger LOG

HIERARCHY_PROVIDER

public static final String HIERARCHY_PROVIDER
The RouteNode configuration parameter that specifies the hierarchy provider implementation

See Also:
Constant Field Values

STOP_ID

public static final String STOP_ID
RouteNodeInstance NodeState key for id of stop

See Also:
Constant Field Values

SPLIT_PROCESS_NAME

protected static final String SPLIT_PROCESS_NAME
See Also:
Constant Field Values

JOIN_PROCESS_NAME

protected static final String JOIN_PROCESS_NAME
See Also:
Constant Field Values

REQUEST_PROCESS_NAME

protected static final String REQUEST_PROCESS_NAME
See Also:
Constant Field Values

NO_STOP_NAME

protected static final String NO_STOP_NAME
See Also:
Constant Field Values
Constructor Detail

HierarchyRoutingNode

public HierarchyRoutingNode()
Method Detail

getHierarchyProvider

protected HierarchyProvider getHierarchyProvider(RouteNodeInstance nodeInstance,
                                                 RouteContext context)
Loads hierarchy provider class via the GlobalResourceLoader

Parameters:
nodeInstance - the current RouteNodeInstance
context - the current RouteContext
Returns:
the HierarchyProvider implementation, as specified by the HIERARCHY_PROVIDER config parameter

transitioningInto

public DynamicResult transitioningInto(RouteContext context,
                                       RouteNodeInstance dynamicNodeInstance,
                                       RouteHelper helper)
                                throws Exception
Description copied from interface: DynamicNode
Invoked when the engine first encounters this DynamicNode. Should return a DynamicResult containing the first RouteNodeInstance in the dynamic process.

Specified by:
transitioningInto in interface DynamicNode
Throws:
Exception

transitioningOutOf

public DynamicResult transitioningOutOf(RouteContext context,
                                        RouteHelper helper)
                                 throws Exception
Description copied from interface: DynamicNode
Invoked everytime a node in the dynamic process completes. Should return a DynamicResult with the RouteNodeInstance (or instances) of the next node in the dynamic graph. If this returns no next node then the dynamic process will be considered completed.

Specified by:
transitioningOutOf in interface DynamicNode
Throws:
Exception

isDescendent

protected boolean isDescendent(HierarchyProvider provider,
                               HierarchyProvider.Stop parent,
                               HierarchyProvider.Stop otherStop)

getPrototypeProcess

protected ProcessDefinitionBo getPrototypeProcess(RouteNode node,
                                                  DocumentType documentType)
Places a ProcessDefinition on the documentType wrapping the node and setting the node as the process's initalRouteNode

Parameters:
node -
documentType -
Returns:
Process wrapping the node passed in

getStopRequestNode

protected RouteNode getStopRequestNode(HierarchyProvider.Stop stop,
                                       DocumentType documentType)


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