Interface ActionRuntimeService

All Known Implementing Classes:
ActionRuntimeServiceImpl

public interface ActionRuntimeService
  • Method Details

    • createActionInstanceBuilder

      ActionInstanceBuilder createActionInstanceBuilder()
      Starts creating a new action instance
    • createExecuteActionInstanceBuilder

      ExecuteActionInstanceBuilder createExecuteActionInstanceBuilder()
      Executes a new action instance
    • findScopedObjectActionData

      ScopedObjectActionData findScopedObjectActionData(ScopedObjectActionQuery scopedObjectActionQuery)
      Finds all ActionDefinition and ActionInstance instances that match the scope information passed in the ScopedObjectActionQuery parameters and returns these as a ScopedObjectActionData instance. A 'scope' is a combination of a type (e.g. conversation) and identifiers (e.g the conversationId). Typically an action is created for a certain scope (e.g. a certain conversation), so the return result will contain all ActionInstance results for that particular query. Some action definitions are applicable for the scope (e.g. the action to join a conversation), but don't have an action instance, as they can be repeated many times and there is no such thing as 'one action' to execute. This is why the result also contains these ActionDefinitions that match the given scope. All definitions and instances found this way are put through the list of filters that are registered on the action engine configuration. Other engines (engage, cmmn, process, etc.) should inject scope-specific filters into the engine.
    • getFormInfo

      FormInfo getFormInfo(String actionInstanceId)
    • getActionInstanceIdentityLinks

      List<IdentityLink> getActionInstanceIdentityLinks(String actionInstanceId)
    • addUserIdentityLink

      void addUserIdentityLink(String actionInstanceId, String userId, String identityLinkType)
      Involves a user with an action instance. The type of identity link is defined by the given identityLinkType.
      Parameters:
      actionInstanceId - id of the action instance, cannot be null
      userId - id of the involved user, cannot be null
      identityLinkType - type of identityLink, cannot be null
      Throws:
      FlowableObjectNotFoundException - when the action instance doesn't exist.
    • addGroupIdentityLink

      void addGroupIdentityLink(String actionInstanceId, String groupId, String identityLinkType)
      Involves a group with an action instance. The type of identity link is defined by the given identityLinkType.
      Parameters:
      actionInstanceId - id of the action instance, cannot be null
      groupId - id of the involved group, cannot be null
      identityLinkType - type of identityLink, cannot be null
      Throws:
      FlowableObjectNotFoundException - when the action instance doesn't exist.
    • deleteUserIdentityLink

      void deleteUserIdentityLink(String actionInstanceId, String userId, String identityLinkType)
      Removes the association between a user and an action instance for the given identityLinkType.
      Parameters:
      actionInstanceId - id of the action instance, cannot be null
      userId - id of the involved user, cannot be null
      identityLinkType - type of the identityLink, cannot be null
      Throws:
      FlowableObjectNotFoundException - when the action instance doesn't exist
    • deleteGroupIdentityLink

      void deleteGroupIdentityLink(String actionInstanceId, String groupId, String identityLinkType)
      Removes the association between a group and an action instance for the given identityLinkType.
      Parameters:
      actionInstanceId - id of the action instance, cannot be null
      groupId - id of the involved group, cannot be null
      identityLinkType - type of the identityLink, cannot be null
      Throws:
      FlowableObjectNotFoundException - when the action instance doesn't exist
    • getVariables

      Map<String,Object> getVariables(String actionInstanceId)
    • findActionInstancesForScopeIdAndSubScopeId

      List<ActionInstance> findActionInstancesForScopeIdAndSubScopeId(String scopeType, String scopeId, String subScopeId, boolean includeDeletedFromCache)
      Parameters:
      includeDeletedFromCache - Only set this to true for very specific use cases where the action instance could be deleted prior and it's still needed.
    • findActionInstancesForScopeIdAndNoSubScopeId

      List<ActionInstance> findActionInstancesForScopeIdAndNoSubScopeId(String scopeType, String scopeId, boolean includeDeletedFromCache)
      Parameters:
      includeDeletedFromCache - Only set this to true for very specific use cases where the action instance could be deleted prior and it's still needed.
    • createActionInstanceQuery

      ActionInstanceQuery createActionInstanceQuery()
      Query action instances
    • createActionLinkQuery

      ActionLinkQuery createActionLinkQuery()
      Query action links
    • getActionInstanceTypeLinks

      List<ActionTypeLink> getActionInstanceTypeLinks(String actionInstanceId)
      Returns ActionTypeLinks for the given action instance id.
    • addActionInstanceTypeLink

      ActionTypeLink addActionInstanceTypeLink(String actionInstanceId, String type, String linkValue)
      Adds a new ActionTypeLink for the given action instance id.
    • deleteActionInstanceTypeLink

      void deleteActionInstanceTypeLink(String actionInstanceTypeLinkId)
      Deletes an ActionTypeLink for the given action instance link id.
    • deleteActionInstance

      void deleteActionInstance(String actionInstanceId)
      delete an action instance by id
    • bulkDeleteActionInstancesByScopeIdsAndScopeType

      void bulkDeleteActionInstancesByScopeIdsAndScopeType(Collection<String> scopeIds, String scopeType)
      bulk delete action instances by scope ids and scope type
    • migrateActionTypeLinks

      void migrateActionTypeLinks()
      migrate action type links