Eclipse Platform
Release 3.1

org.eclipse.core.runtime
Interface IProgressMonitorWithBlocking

All Superinterfaces:
IProgressMonitor
All Known Implementing Classes:
ProgressMonitorPart, ProgressMonitorWrapper

public interface IProgressMonitorWithBlocking
extends IProgressMonitor

An extension to the IProgressMonitor interface for monitors that want to support feedback when an activity is blocked due to concurrent activity in another thread.

When a monitor that supports this extension is passed to an operation, the operation should call setBlocked whenever it knows that it must wait for a lock that is currently held by another thread. The operation should continue to check for and respond to cancelation requests while blocked. When the operation is no longer blocked, it must call clearBlocked to clear the blocked state.

Clients may implement this interface.

Since:
3.0
See Also:
IProgressMonitor

Field Summary
 
Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
 
Method Summary
 void clearBlocked()
          Clears the blocked state of the running operation.
 void setBlocked(IStatus reason)
          Indicates that this operation is blocked by some background activity.
 
Methods inherited from interface org.eclipse.core.runtime.IProgressMonitor
beginTask, done, internalWorked, isCanceled, setCanceled, setTaskName, subTask, worked
 

Method Detail

setBlocked

public void setBlocked(IStatus reason)
Indicates that this operation is blocked by some background activity. If a running operation ever calls setBlocked, it must eventually call clearBlocked before the operation completes.

If the caller is blocked by a currently executing job, this method will return an IJobStatus indicating the job that is currently blocking the caller. If this blocking job is not known, this method will return a plain informational IStatus object.

Parameters:
reason - an optional status object whose message describes the reason why this operation is blocked, or null if this information is not available.
See Also:
clearBlocked(), IJobStatus

clearBlocked

public void clearBlocked()
Clears the blocked state of the running operation. If a running operation ever calls setBlocked, it must eventually call clearBlocked before the operation completes.

See Also:
setBlocked(IStatus)

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.