org.kuali.rice.kew.routemodule
Interface RouteModule

All Known Implementing Classes:
FlexRMAdapter, InlineRequestsRouteModule, PeopleFlowRouteModule, RoleRouteModule, RulesEngineRouteModule

public interface RouteModule

A RouteModule is responsible for generating Action Requests for a given Route Header document. Implementations of this class are potentially remotable, so this interface uses value objects.

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

Method Summary
 List<ActionRequestValue> findActionRequests(RouteContext context)
          Generate action requests for the given RouteContext.
 boolean isMoreRequestsAvailable(RouteContext context)
          Returns true if this RouteModule has more requests available which it can generate.
 ResponsibleParty resolveResponsibilityId(String responsibilityId)
          The route module will re-resolve the given responsibilityId and return an object that contains the key to either a user, group, or role.
 

Method Detail

findActionRequests

List<ActionRequestValue> findActionRequests(RouteContext context)
                                            throws Exception
Generate action requests for the given RouteContext.

Returns:
A List of the generated ActionRequestValue objects.
Throws:
Exception

resolveResponsibilityId

ResponsibleParty resolveResponsibilityId(String responsibilityId)
                                         throws WorkflowException
The route module will re-resolve the given responsibilityId and return an object that contains the key to either a user, group, or role. The original responsibility associated with the given id will then be swapped with the new ResponsibleParty when routing is resolved.

This method is intended to allow for the calling code to be able to "switch-out" one responsibility for another (in the case of a change to an assigned reponsibility).

Returning null from this method will indicate that the original responsibile party should remain unchanged. This is typically the recommended default for implementation of this method and covers most use cases.

Parameters:
responsibilityId - the id of the responsibility to be resolved
Returns:
the responsibility party with which to replace the original responsibility, or null if the responsibility should remain unchanged.
Throws:
WorkflowException

isMoreRequestsAvailable

boolean isMoreRequestsAvailable(RouteContext context)
Returns true if this RouteModule has more requests available which it can generate. This method will only be called after the first set of action requests returned by the first invocation of findActionRequests have been fully activated. If this method returns true, findActionRequests will be invoked again and those requests will all be activated before the cycle continues until this method returns false;

Parameters:
context - the route context
Returns:
true if this route module has more requests it can generate, false otherwise


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