Package org.eclipse.jface.operation

# Interface IRunnableWithProgress

All Known Implementing Classes:
  `AbstractDocumentProvider.DocumentProviderOperation`, `CompareEditorInput`, `ExportBreakpointsOperation`, `HistoryPageCompareEditorInput`, `ImportBreakpointsOperation`, `ImportOperation`, `ModelMergeOperation`, `ModelOperation`, `ModelParticipantMergeOperation`, `PageCompareEditorInput`, `ParticipantPageCompareEditorInput`, `PopulateRootOperation`, `SaveableCompareEditorInput`, `SelectFilesOperation`, `SynchronizationOperation`, `SynchronizeModelOperation`, `SyncInfoCompareInput`, `TeamOperation`, `TextFileDocumentProvider.DocumentProviderOperation`, `Worker`, `WorkspaceModifyDelegatingOperation`, `WorkspaceModifyOperation`

public interface IRunnableWithProgress
The `IRunnableWithProgress` interface should be implemented by any class whose instances are intended to be executed as a long-running operation. Long-running operations are typically presented at the UI via a modal dialog showing a progress indicator and a Cancel button. The class must define a `run` method that takes a progress monitor. The `run` method is usually not invoked directly, but rather by passing the `IRunnableWithProgress` to the `run` method of an `IRunnableContext`, which provides the UI for the progress monitor and Cancel button.

See Also:
  - `IRunnableContext`

## Method Summary

Modifier and Type
Method
Description
`void`
`run(IProgressMonitor monitor)`
Runs this operation.

## Method Details

### run

void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
Runs this operation. Progress should be reported to the given progress monitor. This method is usually invoked by an `IRunnableContext`'s `run` method, which supplies the progress monitor. A request to cancel the operation should be honored and acknowledged by throwing `InterruptedException`.

Parameters:
  `monitor` - the progress monitor to use to display progress and receive requests for cancelation
Throws:
  `InvocationTargetException` - if the run method must propagate a checked exception, it should wrap it inside an `InvocationTargetException`; runtime exceptions are automatically wrapped in an `InvocationTargetException` by the calling context
  `InterruptedException` - if the operation detects a request to cancel, using `IProgressMonitor.isCanceled()`, it should exit by throwing `InterruptedException`
See Also:
  - `IRunnableContext.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)`