Class ReturnToPreviousNodeAction

java.lang.Object
org.kuali.rice.kew.actions.ActionTakenEvent
org.kuali.rice.kew.actions.ReturnToPreviousNodeAction
Direct Known Subclasses:
RecallAction

public class ReturnToPreviousNodeAction extends ActionTakenEvent
Returns a document to a previous node in the route. Current implementation only supports returning to a node on the main branch of the document.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Field Details

    • LOG

      protected static final org.apache.logging.log4j.Logger LOG
    • INITIAL_NODE_NAME

      protected static final String INITIAL_NODE_NAME
    • DEFAULT_SEND_NOTIFICATIONS

      protected static final boolean DEFAULT_SEND_NOTIFICATIONS
      See Also:
    • nodeName

      protected final String nodeName
  • Constructor Details

    • ReturnToPreviousNodeAction

      public ReturnToPreviousNodeAction(DocumentRouteHeaderValue routeHeader, org.kuali.rice.kim.api.identity.principal.PrincipalContract principal)
    • ReturnToPreviousNodeAction

      public ReturnToPreviousNodeAction(DocumentRouteHeaderValue routeHeader, org.kuali.rice.kim.api.identity.principal.PrincipalContract principal, String annotation, String nodeName, boolean sendNotifications)
    • ReturnToPreviousNodeAction

      public ReturnToPreviousNodeAction(DocumentRouteHeaderValue routeHeader, org.kuali.rice.kim.api.identity.principal.PrincipalContract principal, String annotation, String nodeName, boolean sendNotifications, boolean runPostProcessorLogic)
    • ReturnToPreviousNodeAction

      protected ReturnToPreviousNodeAction(String overrideActionTakenCode, DocumentRouteHeaderValue routeHeader, org.kuali.rice.kim.api.identity.principal.PrincipalContract principal, String annotation, String nodeName, boolean sendNotifications)
      Constructor used to override the action taken code...e.g. when being performed as part of a Move action
    • ReturnToPreviousNodeAction

      protected ReturnToPreviousNodeAction(String overrideActionTakenCode, DocumentRouteHeaderValue routeHeader, org.kuali.rice.kim.api.identity.principal.PrincipalContract principal, String annotation, String nodeName, boolean sendNotifications, boolean runPostProcessorLogic)
      Constructor used to override the action taken code...e.g. when being performed as part of a Move action
  • Method Details

    • getReturnToInitiatorActionRequestType

      protected org.kuali.rice.kew.api.action.ActionRequestType getReturnToInitiatorActionRequestType()
      Template method that determines what action request to generate when returning to initiator
      Returns:
      the ActionRequestType
    • processReturnToInitiator

      public void processReturnToInitiator(RouteNodeInstance newNodeInstance)
    • determineInitialNodePrincipal

      protected org.kuali.rice.kim.api.identity.principal.PrincipalContract determineInitialNodePrincipal(DocumentRouteHeaderValue routeHeader)
      Determines which principal to generate an actionqrequest when the document is returned to the initial node By default this is the document initiator.
      Parameters:
      routeHeader - the document route header
      Returns:
      a Principal
    • validateActionRules

      public String validateActionRules()
      Description copied from class: ActionTakenEvent
      Placeholder for validation rules for each action
      Specified by:
      validateActionRules in class ActionTakenEvent
      Returns:
      error message string of specific error message
    • validateActionRules

      public String validateActionRules(List<ActionRequestValue> actionRequests)
      Specified by:
      validateActionRules in class ActionTakenEvent
    • canReturnToPreviousNode

      protected boolean canReturnToPreviousNode()
    • findApplicableActionRequests

      protected List<ActionRequestValue> findApplicableActionRequests(List<ActionRequestValue> actionRequests)
      Allows subclasses to determine which actionrequests to inspect for purposes of action validation
      Parameters:
      actionRequests - all actionrequests for this document
      Returns:
      a (possibly) filtered list of actionrequests
    • isActionCompatibleRequest

      public boolean isActionCompatibleRequest(List<ActionRequestValue> requests)
      Overrides:
      isActionCompatibleRequest in class ActionTakenEvent
    • recordAction

      public void recordAction() throws org.kuali.rice.kew.api.exception.InvalidActionTakenException
      Specified by:
      recordAction in class ActionTakenEvent
      Throws:
      org.kuali.rice.kew.api.exception.InvalidActionTakenException
    • sendAdditionalNotifications

      protected void sendAdditionalNotifications()
      Template method subclasses can use to send addition notification upon a return to previous action. This occurs after the postprocessors have been called and the node has been changed
    • executeNodeChange

      public void executeNodeChange(Collection activeNodes, NodeGraphSearchResult result) throws org.kuali.rice.kew.api.exception.InvalidActionTakenException
      Throws:
      org.kuali.rice.kew.api.exception.InvalidActionTakenException
    • isSuperUserUsage

      public boolean isSuperUserUsage()
    • setSuperUserUsage

      public void setSuperUserUsage(boolean superUserUsage)