Package org.eclipse.equinox.p2.operations

## Class SynchronizeOperation

- java.lang.Object
- - org.eclipse.equinox.p2.operations.ProfileChangeOperation
  - - org.eclipse.equinox.p2.operations.InstallOperation
    - - org.eclipse.equinox.p2.operations.SynchronizeOperation

All Implemented Interfaces:
  `IProfileChangeJob`

    public class SynchronizeOperation
    extends InstallOperation

A `SynchronizeOperation` describes an operation that will modify the installation to exclusively include the InstallableUnit mentioned. Note that all the Installable Units necessary to satisfy the dependencies of the Installable Units installed will also be installed. The following snippet shows how one might use an SynchronizeOperation to perform a synchronous resolution and then kick off an install in the background:

     SynchronizeOperation op = new SynchronizeOperation(session, new IInstallableUnit [] { myIU });
     IStatus result = op.resolveModal(monitor);
     if (result.isOK()) {
       op.getProvisioningJob(monitor).schedule();
     }

Since:
  2.1
See Also:
  `ProfileChangeOperation`
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

### Fields inherited from class org.eclipse.equinox.p2.operations.InstallOperation

`toInstall`

### Constructor Summary

Constructors
`SynchronizeOperation​(ProvisioningSession session, Collection<IInstallableUnit> toInstall)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `computeProfileChangeRequest​(MultiStatus status, IProgressMonitor monitor)` Compute the profile change request for this operation, adding any relevant intermediate status to the supplied status.

### Methods inherited from class org.eclipse.equinox.p2.operations.InstallOperation

`getProvisioningJobName, getResolveJobName`

### Methods inherited from class org.eclipse.equinox.p2.operations.ProfileChangeOperation

`getProfileChangeRequest, getProfileId, getProvisioningContext, getProvisioningJob, getProvisioningPlan, getResolutionDetails, getResolutionDetails, getResolutionResult, getResolveJob, hasResolved, prepareToResolve, resolveModal, setProfileId, setProvisioningContext, updateJobProvisioningContexts`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SynchronizeOperation

    public SynchronizeOperation​(ProvisioningSession session,
                                Collection<IInstallableUnit> toInstall)

### Method Detail

#### computeProfileChangeRequest

    protected void computeProfileChangeRequest​(MultiStatus status,
                                               IProgressMonitor monitor)

Description copied from class: `ProfileChangeOperation`
Compute the profile change request for this operation, adding any relevant intermediate status to the supplied status.

Overrides:
  `computeProfileChangeRequest` in class `InstallOperation`
Parameters:
  `status` - a multi-status to be used to add relevant status. If a profile change request cannot be computed for any reason, a status should be added to explain the problem.
  `monitor` - the progress monitor to use for computing the profile change request