|
Eclipse Platform Release 3.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.ui.actions.WorkspaceModifyOperation
public abstract class WorkspaceModifyOperation
An operation which potentially makes changes to the workspace. All resource modification should be performed using this operation. The primary consequence of using this operation is that events which typically occur as a result of workspace changes (such as the firing of resource deltas, performance of autobuilds, etc.) are deferred until the outermost operation has successfully completed.
If a scheduling rule is provided, the operation will obtain that scheduling
rule for the duration of its execute
method. If no scheduling
rule is provided, the operation will obtain a scheduling rule that locks
the entire workspace for the duration of the operation.
Subclasses must implement execute
to do the work of the
operation.
ISchedulingRule
,
IWorkspace.run(IWorkspaceRunnable, IProgressMonitor)
Constructor Summary | |
---|---|
protected |
WorkspaceModifyOperation()
Creates a new operation. |
protected |
WorkspaceModifyOperation(ISchedulingRule rule)
Creates a new operation that will run using the provided scheduling rule. |
Method Summary | |
---|---|
protected abstract void |
execute(IProgressMonitor monitor)
Performs the steps that are to be treated as a single logical workspace change. |
void |
run(IProgressMonitor monitor)
The WorkspaceModifyOperation implementation of this
IRunnableWithProgress method initiates a batch of changes by
invoking the execute method as a workspace runnable
(IWorkspaceRunnable ). |
void |
threadChange(java.lang.Thread thread)
Notification that a thread change is occurring. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected WorkspaceModifyOperation()
protected WorkspaceModifyOperation(ISchedulingRule rule)
rule
- The ISchedulingRule to use or null
.Method Detail |
---|
protected abstract void execute(IProgressMonitor monitor) throws CoreException, java.lang.reflect.InvocationTargetException, java.lang.InterruptedException
Subclasses must implement this method.
monitor
- the progress monitor to use to display progress and field
user requests to cancel
CoreException
- if the operation fails due to a CoreException
java.lang.reflect.InvocationTargetException
- if the operation fails due to an exception other than CoreException
java.lang.InterruptedException
- if the operation detects a request to cancel,
using IProgressMonitor.isCanceled()
, it should exit by throwing
InterruptedException
. It is also possible to throw
OperationCanceledException
, which gets mapped to InterruptedException
by the run
method.public final void run(IProgressMonitor monitor) throws java.lang.reflect.InvocationTargetException, java.lang.InterruptedException
WorkspaceModifyOperation
implementation of this
IRunnableWithProgress
method initiates a batch of changes by
invoking the execute
method as a workspace runnable
(IWorkspaceRunnable
).
run
in interface IRunnableWithProgress
monitor
- the progress monitor to use to display progress and receive
requests for cancelation
java.lang.reflect.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
java.lang.InterruptedException
- if the operation detects a request to cancel,
using IProgressMonitor.isCanceled()
, it should exit by throwing
InterruptedException
IRunnableContext.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)
public void threadChange(java.lang.Thread thread)
IThreadListener
threadChange
in interface IThreadListener
thread
- The new thread
|
Eclipse Platform Release 3.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.