Interface CMSWorkflowService

All Superinterfaces:
WorkflowService
All Known Implementing Classes:
DefaultCMSWorkflowService

public interface CMSWorkflowService extends WorkflowService
The Interface used for managing workflows.
  • Method Details

    • isAnyItemInWorkflow

      boolean isAnyItemInWorkflow(List<? extends CMSItemModel> itemUids)
      This method checks if any of the provided CmsItems are already part of an active (RUNNING or PAUSED) workflow.
      Parameters:
      itemUids - - The uids of the CmsItems to check if they are part of an active workflow.
      Returns:
      True if any of the given CmsItems is part of an active workflow. False, otherwise.
    • findWorkflowsForAttachedItemsAndStatuses

      SearchResult<WorkflowModel> findWorkflowsForAttachedItemsAndStatuses(List<? extends CMSItemModel> items, Set<CronJobStatus> statuses, PageableData pageableData)
      This is the pageable version of findAllWorkflowsByAttachedItems(List, Set)
      This method finds all WorkflowModel, with the specified workflow statuses, to which the given items are attached to. If the items are not attached to any workflow, the list will be empty.
      Parameters:
      items - - the CMS Items for which to find the workflows they are attached to.
      statuses - - the workflow statuses
      pageableData - - the pagination object used to set the page index and page size
      Returns:
      the search result object containing the resulting the list of WorkflowModel, in the specified statuses, to which the given pages are attached to and the pagination object; never null.
    • findAllWorkflowsByAttachedItems

      List<WorkflowModel> findAllWorkflowsByAttachedItems(List<? extends CMSItemModel> items, Set<CronJobStatus> statuses)
      This method finds all WorkflowModel, with the specified workflow statuses, to which the given items are attached to. If the items are not attached to any workflow, the list will be empty.
      Parameters:
      items - - the CMS Items for which to find the workflows they are attached to.
      statuses - - the workflow statuses
      Returns:
      the list of WorkflowModel, in the specified statuses, to which the given pages are attached to; never null.
    • getRelatedWorkflowsForItem

      List<WorkflowModel> getRelatedWorkflowsForItem(CMSItemModel item, Set<CronJobStatus> statuses)
      This method returns a list of related workflows for an item. The list is sorted by creationtime in ascending order.
      Parameters:
      item - the CMSItemModel
      statuses - the list of CronJobStatus statuses
      Returns:
      the list of WorkflowModel
    • isItemEditableBySessionUser

      boolean isItemEditableBySessionUser(CMSItemModel itemModel)
      This method verifies whether the item model can be edited by session user.
      Parameters:
      itemModel - the CMSItemModel to verify
      Returns:
      TRUE if the item model can be edited by session user, FALSE otherwise
    • getWorkflowWhereItemEditable

      Optional<WorkflowModel> getWorkflowWhereItemEditable(CMSItemModel itemModel)
      Returns a workflow where provided CMSItemModel is editable.
      Parameters:
      itemModel - the CMSItemModel to verify
      Returns:
      the optional WorkflowModel