public class RemediationOperation extends ProfileChangeOperation
EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same. Please do not use this API without consulting with the p2 team.
Constructor and Description |
---|
RemediationOperation(ProvisioningSession session,
IProfileChangeRequest iProfileChangeRequest) |
RemediationOperation(ProvisioningSession session,
IProfileChangeRequest originalRequest,
RemedyConfig[] remedyConfigs) |
Modifier and Type | Method and Description |
---|---|
Remedy |
bestSolutionChangingTheRequest() |
Remedy |
bestSolutionChangingWhatIsInstalled() |
protected void |
computeProfileChangeRequest(MultiStatus status,
IProgressMonitor monitor)
Compute the profile change request for this operation, adding any relevant intermediate status
to the supplied status.
|
Remedy |
getCurrentRemedy() |
org.eclipse.equinox.internal.p2.director.ProfileChangeRequest |
getOriginalRequest() |
ProvisioningJob |
getProvisioningJob(IProgressMonitor monitor)
Return a provisioning job that can be used to perform the resolved operation.
|
protected String |
getProvisioningJobName()
Return an appropriate name for the provisioning job.
|
List<Remedy> |
getRemedies() |
RemedyConfig[] |
getRemedyConfigs() |
IStatus |
getResolutionResult()
Return a status indicating the result of resolving this
operation.
|
protected String |
getResolveJobName()
Return an appropriate name for the resolution job.
|
void |
setCurrentRemedy(Remedy currentRemedy) |
getProfileChangeRequest, getProfileId, getProvisioningContext, getProvisioningPlan, getResolutionDetails, getResolutionDetails, getResolveJob, hasResolved, prepareToResolve, resolveModal, setProfileId, setProvisioningContext, updateJobProvisioningContexts
public RemediationOperation(ProvisioningSession session, IProfileChangeRequest iProfileChangeRequest)
public RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, RemedyConfig[] remedyConfigs)
public RemedyConfig[] getRemedyConfigs()
public Remedy getCurrentRemedy()
public void setCurrentRemedy(Remedy currentRemedy)
public Remedy bestSolutionChangingTheRequest()
public Remedy bestSolutionChangingWhatIsInstalled()
protected void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor)
ProfileChangeOperation
computeProfileChangeRequest
in class ProfileChangeOperation
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 requestprotected String getResolveJobName()
ProfileChangeOperation
getResolveJobName
in class ProfileChangeOperation
protected String getProvisioningJobName()
ProfileChangeOperation
getProvisioningJobName
in class ProfileChangeOperation
public ProvisioningJob getProvisioningJob(IProgressMonitor monitor)
ProfileChangeOperation
Job.setUser(boolean)
,
Job.setSystem(boolean)
, or Job.setProperty(QualifiedName, Object)
,
before scheduling it.getProvisioningJob
in class ProfileChangeOperation
monitor
- a progress monitor that should be used to report the job's progress in addition
to the standard job progress reporting. Can be null
. If provided, this monitor
will be called from a background thread.null
if the operation has not been resolved, or if a plan could not be obtained when attempting to
resolve. If the job is null and the operation has been resolved, then the resolution result
will explain the problem.ProfileChangeOperation.hasResolved()
,
ProfileChangeOperation.getResolutionResult()
public org.eclipse.equinox.internal.p2.director.ProfileChangeRequest getOriginalRequest()
public IStatus getResolutionResult()
ProfileChangeOperation
null
return indicates that
resolving has not occurred yet.getResolutionResult
in class ProfileChangeOperation
null
if resolution has not yet occurred.
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.