Eclipse Platform
Release 3.2

org.eclipse.team.ui.mapping
Class SynchronizationOperation

java.lang.Object
  extended byorg.eclipse.core.runtime.jobs.JobChangeAdapter
      extended byorg.eclipse.team.ui.TeamOperation
          extended byorg.eclipse.team.ui.mapping.SynchronizationOperation
All Implemented Interfaces:
IJobChangeListener, IRunnableWithProgress

public abstract class SynchronizationOperation
extends TeamOperation

This operation class can be used by model providers when performing merge operations triggered from a synchronize participant page associated with a synchronization or merge context.

This class may be subclasses by clients.

Since:
3.2
See Also:
ISynchronizationContext, IMergeContext

Constructor Summary
protected SynchronizationOperation(ISynchronizePageConfiguration configuration, Object[] elements)
          Create a synchronize operation that operations on the given elements
 
Method Summary
protected abstract  void execute(IProgressMonitor monitor)
          Execute the operation.
 ISynchronizePageConfiguration getConfiguration()
          Return the configuration for the page from which this operation was launched.
protected  ISynchronizationContext getContext()
          Return the synchronization context associated with this action.
 Object[] getElements()
          Return the model elements that are the target of this operation.
 SaveableComparison getSaveable()
          Return the saveable that this operation will write its results to or null if the operation does not buffer its results.
 void run(IProgressMonitor monitor)
          Runs this operation.
 boolean shouldRun()
          Make shouldRun public so the result can be used to provide handler enablement
 
Methods inherited from class org.eclipse.team.ui.TeamOperation
belongsTo, canRunAsJob, getGotoAction, getJobName, getKeepOperation, getOperationIcon, getPart, getSchedulingRule, getShell, isKeepOneProgressServiceEntry, isPostponeAutobuild, isSameFamilyAs, isUserInitiated, run
 
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
 

Constructor Detail

SynchronizationOperation

protected SynchronizationOperation(ISynchronizePageConfiguration configuration,
                                   Object[] elements)
Create a synchronize operation that operations on the given elements

Parameters:
configuration - the configuration for the page the operation is associated with
elements - the elements to be operated on
Method Detail

getConfiguration

public ISynchronizePageConfiguration getConfiguration()
Return the configuration for the page from which this operation was launched.

Returns:
the configuration for the page from which this operation was launched

getContext

protected ISynchronizationContext getContext()
Return the synchronization context associated with this action.

Returns:
the synchronization context associated with this action

getElements

public Object[] getElements()
Return the model elements that are the target of this operation.

Returns:
the model elements that are the target of this operation

shouldRun

public boolean shouldRun()
Make shouldRun public so the result can be used to provide handler enablement

Overrides:
shouldRun in class TeamOperation
Returns:
whether the operation should be run.

getSaveable

public SaveableComparison getSaveable()
Return the saveable that this operation will write its results to or null if the operation does not buffer its results. By default, null is returned but subclasses may override.

Returns:
the saveable that this operation will write its results to or null

run

public final void run(IProgressMonitor monitor)
               throws InvocationTargetException,
                      InterruptedException
Description copied from interface: IRunnableWithProgress
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:
InterruptedException - if the operation detects a request to cancel, using IProgressMonitor.isCanceled(), it should exit by throwing InterruptedException
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
See Also:
IRunnableContext.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)

execute

protected abstract void execute(IProgressMonitor monitor)
                         throws InvocationTargetException,
                                InterruptedException
Execute the operation. Subclasses should implement the operations behavior in the execute method. Clients should call either TeamOperation.run() or run(IProgressMonitor) to invoke the operation.

Parameters:
monitor - a progress monitor
Throws:
InvocationTargetException
InterruptedException

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

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