Package 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

Fields
Modifier and Type
Field
Description
`static final String`
`SERVICE_NAME`
Service name constant for the engine service.

## Method Summary

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

## Field Details

### SERVICE_NAME

static final String SERVICE_NAME
Service name constant for the engine service.

## Method Details

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