Interface RouteModule

All Known Implementing Classes:
FlexRMAdapter, 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 Details

    • findActionRequests

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

      The list of requests returned should only contain root action requests (those with no parent).

      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