@PublicSpi public interface

ProgressAwareBulkOperation

implements IssueOperation
com.atlassian.jira.bulkedit.operation.ProgressAwareBulkOperation
Known Indirect Subclasses

@PublicSpi

This interface is designed for plugins to implement.

Clients of @PublicSpi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicSpi as per each product's API policy (clients should refer to each product's API policy for the exact guarantee -- usually binary compatibility is guaranteed at least across minor versions).

Note: @PublicSpi interfaces and classes are specifically designed to be implemented/extended by clients. Hence, the guarantee of binary compatibility is different to that of @PublicApi elements (if an element is both @PublicApi and @PublicSpi, both guarantees apply).

Class Overview

This interface allows bulk operations to perform bulk operations and report back the progress. It supersedes BulkOperation which didn't report the operation progress.

Bulk operations are added by plugins via addBulkOperation(String, Class).

Summary

Public Methods
boolean canPerform(BulkEditBean bulkEditBean, ApplicationUser remoteUser)
Determines whether the operation can be performed with the given set of issues
String getCannotPerformMessageKey()
An i18n key to be used to render the error message to be displayed when the user can not perform this bulk operation.
int getNumberOfTasks(BulkEditBean bulkEditBean)
Returns number of tasks/stages to be executed as part of this bulk operation.
String getOperationName()
Returns the "operation name".
void perform(BulkEditBean bulkEditBean, ApplicationUser remoteUser, Context taskContext)
Performs the operation on the given set of issues and updates the progress.
[Expand]
Inherited Methods
From interface com.atlassian.jira.issue.operation.IssueOperation

Public Methods

public boolean canPerform (BulkEditBean bulkEditBean, ApplicationUser remoteUser)

Determines whether the operation can be performed with the given set of issues

public String getCannotPerformMessageKey ()

An i18n key to be used to render the error message to be displayed when the user can not perform this bulk operation.

Returns
  • An i18n key to be used to render the error message to be displayed when the user can not perform this bulk operation.

public int getNumberOfTasks (BulkEditBean bulkEditBean)

Returns number of tasks/stages to be executed as part of this bulk operation. The number returned here must be consistent with the number of updates performed as part of perform(com.atlassian.jira.web.bean.BulkEditBean, com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.task.context.Context).

Returns
  • Number of tasks/stages to be executed

public String getOperationName ()

Returns the "operation name".

This is used to build up the name of the action used to render the details screen in the bulk change UI.

The action name that is generated as operationName + "Details.jspa". See BulkChooseOperation for details

Returns
  • The "operation name"

public void perform (BulkEditBean bulkEditBean, ApplicationUser remoteUser, Context taskContext)

Performs the operation on the given set of issues and updates the progress.

During execution, the implementation class will update the progress by typically calling Context.start(object); on the context passed to get a task object, and subsequently call Context.Task.complete(); on the the task object to indicate task has finished.