Interface RouteNodeService

All Known Implementing Classes:
RouteNodeServiceImpl

public interface RouteNodeService
A service which provides data access for RouteNode, RouteNodeInstance, NodeState, and Branch objects.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • save

      RouteNode save(RouteNode node)
    • save

    • save

      void save(NodeState nodeState)
    • save

      Branch save(Branch branch)
    • findRouteNodeById

      RouteNode findRouteNodeById(String nodeId)
    • findRouteNodeInstanceById

      RouteNodeInstance findRouteNodeInstanceById(String nodeInstanceId)
    • getInitialNodeInstances

      List getInitialNodeInstances(String documentId)
      Retrieves the initial node instances of the given document. The initial node instances are those node instances which are at the very beginning of the route. Usually, this will just be a single node instance.
    • getActiveNodeInstances

      List<RouteNodeInstance> getActiveNodeInstances(String documentId)
      Retrieves the active node instances of the given Document. The active node instances represent where in the route path the document is currently located.
      Parameters:
      documentId - of the document
      Returns:
      list of route node instances
    • getCurrentRouteNodeNames

      List<String> getCurrentRouteNodeNames(String documentId)
      Retrieves the names of the route node instances where the document is currently located for the document with the given id. This could be active nodes in the document if it is in the middle of the routing process or it could be the names of the terminal nodes if the document has completed routing.
      Parameters:
      documentId - of the document
      Returns:
      list of names of the current route node instances
      Since:
      2.1
    • getCurrentSimpleRouteNodeNames

      List<String> getCurrentSimpleRouteNodeNames(String documentId)
      Retrieves the names of the simple route node instances where the document is currently located for the document with the given id. This could be active nodes in the document if it is in the middle of the routing process or it could be the names of the terminal nodes if the document has completed routing.
      Parameters:
      documentId - of the document
      Returns:
      list of names of the current simple route node instances
      Since:
      2.6
    • getActiveRouteNodeNames

      List<String> getActiveRouteNodeNames(String documentId)
      Retrieves the names of active node instances for the document with the given id. The active node instances represent where in the route path the document is currently located.
      Parameters:
      documentId - of the document
      Returns:
      list of names of route node instances
      Since:
      2.1
    • getActiveSimpleRouteNodeNames

      List<String> getActiveSimpleRouteNodeNames(String documentId)
      Retrieves the names of active node instances for simple nodes for the document with the given id. The active node instances represent where in the route path the document is currently located, and simple nodes are only those nodes whose type extend from SimpleNode.
      Parameters:
      documentId - of the document
      Returns:
      list of names of the active simple route node instances
      Since:
      2.1
    • getActiveNodeInstances

      List<RouteNodeInstance> getActiveNodeInstances(DocumentRouteHeaderValue document)
    • getTerminalRouteNodeNames

      List<String> getTerminalRouteNodeNames(String documentId)
      Retrieves the names of terminal node instances for the document with the given id. The terminal node instances are nodes in the route path which are both inactive and complete and have no next nodes in their path. Terminal node instances will typically only exist on documents which are no longer enroute.
      Parameters:
      documentId - for the given Document
      Returns:
      list of terminal node instances
      Since:
      2.1
    • getTerminalNodeInstances

      List<RouteNodeInstance> getTerminalNodeInstances(String documentId)
      Retrieves the terminal node instances of the given Document. The terminal node instances are nodes in the route path which are both inactive and complete and have no next nodes in their path. Terminal node instances will typically only exist on documents which are no longer Enroute.
      Parameters:
      documentId - for the given Document
      Returns:
      list of terminal node instances
    • getCurrentNodeInstances

      List<RouteNodeInstance> getCurrentNodeInstances(String documentId)
      Returns the node instances representing the most recent node instances in the document. The algorithm for locating the current nodes is as follows: If the document has active node instances, return those, otherwise return it's terminal node instances.
    • findNodeState

      NodeState findNodeState(Long nodeInstanceId, String key)
    • findRouteNodeByName

      RouteNode findRouteNodeByName(String documentTypeId, String name)
    • findFinalApprovalRouteNodes

      List<RouteNode> findFinalApprovalRouteNodes(String documentTypeId)
    • findNextRouteNodesInPath

      List findNextRouteNodesInPath(RouteNodeInstance nodeInstance, String nodeName)
    • isNodeInPath

      boolean isNodeInPath(DocumentRouteHeaderValue document, String nodeName)
    • findRouteNodeInstances

      List findRouteNodeInstances(String documentId)
    • findProcessNodeInstances

      List findProcessNodeInstances(RouteNodeInstance process)
    • findPreviousNodeNames

      List<String> findPreviousNodeNames(String documentId)
    • findFutureNodeNames

      List<String> findFutureNodeNames(String documentId)
      Returns a List of the distinct node names through which this document might pass in it's future routing. In certain cases this will be an approximation based on what the system knows at the time of execution.
    • getFlattenedNodes

      List<RouteNode> getFlattenedNodes(DocumentType documentType, boolean climbHierarchy)
      Flatten all the document types route nodes into a single List. This includes all processes on the DocumentType.
      Parameters:
      documentType - DocumentType who's nodes will be flattened.
      climbHierarchy - whether to include the parents nodes if the passed in DocumentType contains no nodes
      Returns:
      List or empty List
    • getFlattenedNodes

      List<RouteNode> getFlattenedNodes(ProcessDefinitionBo process)
    • getFlattenedNodeInstances

      List<RouteNodeInstance> getFlattenedNodeInstances(DocumentRouteHeaderValue document, boolean includeProcesses)
      Returns a flattened list of RouteNodeInstances on the given document. If the includeProcesses flag is true than this method includes process RouteNodeInstances, otherwise they are excluded. which are processes.
      Parameters:
      document - route header value
      includeProcesses - flag
      Returns:
      list of routeNodeInstances
    • searchNodeGraph

    • getActiveNodeInstances

      List<RouteNodeInstance> getActiveNodeInstances(DocumentRouteHeaderValue document, String nodeName)
      Returns a list of active node instances associated with the document that are active
      Parameters:
      document -
      nodeName -
      Returns:
    • deleteByRouteNodeInstance

      void deleteByRouteNodeInstance(RouteNodeInstance routeNodeInstance)
    • deleteNodeStateById

      void deleteNodeStateById(Long nodeStateId)
    • deleteNodeStates

      void deleteNodeStates(List statesToBeDeleted)
    • revokeNodeInstance

      void revokeNodeInstance(DocumentRouteHeaderValue document, RouteNodeInstance nodeInstance)
      Record that the given RouteNodeInstance on the Document was revoked. This will happen when an action such as Return to Previous or Move Document bypasses the given RouteNodeInstance on it's path back to a previous point in the history of the document's route path.
    • getRevokedNodeInstances

      List getRevokedNodeInstances(DocumentRouteHeaderValue document)
      Returns a List of the revoked RouteNodeInstances on the given Document.
      See Also: