Eclipse Platform Release 3.7

## org.eclipse.equinox.p2.engine
Interface IEngine

    public interface IEngine

The engine is a service that naively performs a set of requested changes to a provisioned system. No attempt is made to determine whether the requested changes or the resulting system are valid or consistent. It is assumed that the engine client has crafted a valid provisioning plan for the engine to perform, typically by using a planner service.

The engine operates by executing a series of installation phases. The client can customize the set of phases that are executed, or else the engine will execute a default set of phases. During each phase the changes described by the provisioning plan are performed against the profile being provisioned.

Since:
  2.0
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

Field Summary
`static String` `SERVICE_NAME` Service name constant for the engine service.

Method Summary
`IProvisioningPlan` `createPlan(IProfile profile, ProvisioningContext context)` Creates a provisioning plan whose methods can be use to provide pre-validated changes.
`IStatus` `perform(IProvisioningPlan plan, IPhaseSet phaseSet, IProgressMonitor monitor)` Executes a provisioning plan.
`IStatus` `perform(IProvisioningPlan plan, IProgressMonitor monitor)` Executes a provisioning plan with a default phase set and context.

Field Detail

### SERVICE_NAME

    static final String SERVICE_NAME

  Service name constant for the engine service.

Method Detail

### createPlan

    IProvisioningPlan createPlan(IProfile profile,
                                 ProvisioningContext context)

  Creates a provisioning plan whose methods can be use to provide pre-validated changes. This is an advanced method for clients that know they are creating changes that do not require validation by a planner. Most clients should instead obtain a validated plan from a planner.

  Parameters:
    `profile` - The profile to operate against
    `context` - The provisioning context for the plan
  Returns:
    A provisioning plan

### perform

    IStatus perform(IProvisioningPlan plan,
                    IPhaseSet phaseSet,
                    IProgressMonitor monitor)

  Executes a provisioning plan.

  Parameters:
    `plan` - The plan describing the changes to be made
    `phaseSet` - The phases to run, or `null` to run default phases
    `monitor` - A progress monitor, or `null` if progress reporting is not required
  Returns:
    The result of executing the plan

### perform

    IStatus perform(IProvisioningPlan plan,
                    IProgressMonitor monitor)

  Executes a provisioning plan with a default phase set and context.

  Parameters:
    `plan` - The plan describing the changes to be made
    `monitor` - A progress monitor, or `null` if progress reporting is not required
  Returns:
    The result of executing the plan

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

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