Eclipse Platform Release 3.7

## 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, 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
`void` `run(IProgressMonitor monitor)` Runs this operation.

Method Detail

### 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)`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.