Eclipse Platform Release 3.7

## org.eclipse.team.ui.mapping
Class SynchronizationOperation

    java.lang.Object
      org.eclipse.core.runtime.jobs.JobChangeAdapter
          org.eclipse.team.ui.TeamOperation
              org.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:
    `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)`

### 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.7

Guidelines for using Eclipse APIs.

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