Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.team.ui
Class TeamOperation

java.lang.Object
  extended byorg.eclipse.core.runtime.jobs.JobChangeAdapter
      extended byorg.eclipse.team.ui.TeamOperation

All Implemented Interfaces:
IJobChangeListener, IRunnableWithProgress

Direct Known Subclasses:
SynchronizeModelOperation


public abstract class TeamOperation
extends JobChangeAdapter
implements IRunnableWithProgress

An operation that can be configured to run in the foreground using the IProgressService or the background as a Job. The execution context is determined by what is returned by the canRunAsJob() hint which may be overriden by subclasses. Subsclass must override the run(IProgressMonitor) method to perform the behavior of the operation in the desired execution context.

If this operation is run as a job, it is registered with the job as a IJobChangeListener and is scheduled with the part of this operation if it is not null. Subsclasses can override the methods of this interface to receive job change notifications.

Since:
3.0
See Also:
IProgressService, Job, org.eclipse.core.runtime.ISchedulingRule, IJobChangeListener


Constructor Summary
protected TeamOperation(IRunnableContext context)
          Create an team operation that will run in the given context.
protected TeamOperation(IWorkbenchPart part)
          Create an team operation associated with the given part.
protected TeamOperation(IWorkbenchPart part, IRunnableContext context)
          Create an team operation associated with the given part that will run in the given context.
 
Method Summary
protected  boolean canRunAsJob()
          If this operation can safely be run in the background, then subclasses can override this method and return true.
protected  IAction getGotoAction()
          This method is called to allow subclasses to configure an action that could be run to show the results of the action to the user.
protected  String getJobName()
          Return the job name to be used if the action can run as a job.
protected  boolean getKeepOperation()
          This method is called to allow subclasses to have the operation remain in the progress indicator even after the job is done.
protected  URL getOperationIcon()
          This method is called to allow subclasses to configure an icon to show when running this operation.
 IWorkbenchPart getPart()
          Return the part that is associated with this operation.
protected  ISchedulingRule getSchedulingRule()
          Returns the scheduling rule that is to be obtained before this operation is executed by it's context or null if no scheduling rule is to be obtained.
protected  Shell getShell()
          Return a shell that can be used by the operation to display dialogs, etc.
protected  boolean isPostponeAutobuild()
          Return whether the auto-build should be postponed until after the operation is complete.
 void run()
          Run the operation in a context that is determined by the canRunAsJob() hint.
protected  boolean shouldRun()
          This method is invoked from the run() method before the operation is run in the operation's context.
 
Methods inherited from class org.eclipse.core.runtime.jobs.JobChangeAdapter
aboutToRun, awake, done, running, scheduled, sleeping
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.jface.operation.IRunnableWithProgress
run
 

Constructor Detail

 

 

TeamOperation

protected TeamOperation(IWorkbenchPart part)

Create an team operation associated with the given part.

Parameters:
part - the part the operation is associated with or null if the operation is to be run without a part.


 

 

TeamOperation

protected TeamOperation(IRunnableContext context)

Create an team operation that will run in the given context.

Parameters:
context - a runnable context


 

 

TeamOperation

protected TeamOperation(IWorkbenchPart part,
                        IRunnableContext context)

Create an team operation associated with the given part that will run in the given context.

Parameters:
part - the part the operation is associated with or null
context - a runnable context
Method Detail

 

 

getPart

public IWorkbenchPart getPart()

Return the part that is associated with this operation.

Returns:
Returns the part or null


 

 

run

public final void run()
               throws InvocationTargetException,
                      InterruptedException

Run the operation in a context that is determined by the canRunAsJob() hint. If this operation can run as a job then it will be run in a background thread. Otherwise it will run in the foreground and block the caller.

Throws:
InvocationTargetException
InterruptedException


 

 

shouldRun

protected boolean shouldRun()

This method is invoked from the run() method before the operation is run in the operation's context. Subclasses may override in order to perform prechecks to determine if the operation should run. This may include prompting the user for information, etc.

Returns:
whether the operation should be run.


 

 

getSchedulingRule

protected ISchedulingRule getSchedulingRule()

Returns the scheduling rule that is to be obtained before this operation is executed by it's context or null if no scheduling rule is to be obtained. If the operation is run as a job, the schdulin rule is used as the schduling rule of the job. Otherwise, it is obtained before execution of the operation occurs.

By default, no scheduling rule is obtained. Sublcasses can override to in order ot obtain a scheduling rule or can obtain schduling rules withing their operation if finer grained schduling is desired.

Returns:
the schduling rule to be obtained by this operation or null.


 

 

isPostponeAutobuild

protected boolean isPostponeAutobuild()

Return whether the auto-build should be postponed until after the operation is complete. The default is to postpone the auto-build. subclas can override.

Returns:
whether to postpone the auto-build while the operation is executing.


 

 

canRunAsJob

protected boolean canRunAsJob()

If this operation can safely be run in the background, then subclasses can override this method and return true. This will make their action run in a Job. Subsclass that override this method should also override the getJobName() method.

Returns:
true if this action can be run in the background and false otherwise.


 

 

getJobName

protected String getJobName()

Return the job name to be used if the action can run as a job. (i.e. if canRunAsJob() returns true).

Returns:
the string to be used as the job name


 

 

getGotoAction

protected IAction getGotoAction()

This method is called to allow subclasses to configure an action that could be run to show the results of the action to the user. Default is to return null.

Returns:
an action that could be run to see the results of this operation


 

 

getOperationIcon

protected URL getOperationIcon()

This method is called to allow subclasses to configure an icon to show when running this operation.

Returns:
an URL to an icon


 

 

getKeepOperation

protected boolean getKeepOperation()

This method is called to allow subclasses to have the operation remain in the progress indicator even after the job is done.

Returns:
true to keep the operation and false otherwise.


 

 

getShell

protected Shell getShell()

Return a shell that can be used by the operation to display dialogs, etc.

Returns:
a shell


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 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, 2004. All rights reserved.