Class ProvisioningJob
- java.lang.Object
-
- org.eclipse.core.runtime.PlatformObject
-
- org.eclipse.core.internal.jobs.InternalJob
-
- org.eclipse.core.runtime.jobs.Job
-
- org.eclipse.equinox.p2.operations.ProvisioningJob
-
- All Implemented Interfaces:
Comparable,IAdaptable
- Direct Known Subclasses:
LoadMetadataRepositoryJob,ProfileModificationJob
public abstract class ProvisioningJob extends Job
Abstract class representing provisioning jobs. Provisioning jobs can be run in the background by scheduling them, or they can be run by a client in a modal context. An additional progress monitor can be set into the job for progress reporting.- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static intRESTART_NONEConstant which indicates that the job does not require a restart upon completion.static intRESTART_ONLYConstant which indicates that the job requires the user to restart in order to pick up the changes performed by the job.static intRESTART_OR_APPLYConstant which indicates that the job requires the user to either restart or apply the configuration changes in order to pick up the changes performed by the job.
-
Constructor Summary
Constructors Constructor Description ProvisioningJob(String name, ProvisioningSession session)Create a provisioning job with the given name that uses the provided provisioning session for retrieving any services needed.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected IStatusgetErrorStatus(String message, ProvisionException e)Return an error status that can be used to report the specified exception.intgetRestartPolicy()Return the restart policy that is appropriate for this job.protected ProvisioningSessiongetSession()Return the provisioning session that is used by the receiver when retrieving necessary provisioning services.IStatusrun(IProgressMonitor monitor)Executes this job.abstract IStatusrunModal(IProgressMonitor monitor)Perform the specific work involved in running this job in the current thread.voidsetAdditionalProgressMonitor(IProgressMonitor monitor)-
Methods inherited from class org.eclipse.core.runtime.jobs.Job
addJobChangeListener, belongsTo, cancel, canceling, create, create, createSystem, createSystem, done, getJobGroup, getJobManager, getName, getPriority, getProperty, getResult, getRule, getState, getThread, isBlocking, isSystem, isUser, join, join, removeJobChangeListener, schedule, schedule, setJobGroup, setName, setPriority, setProgressGroup, setProperty, setRule, setSystem, setThread, setUser, shouldRun, shouldSchedule, sleep, toString, wakeUp, wakeUp, yieldRule
-
Methods inherited from class org.eclipse.core.runtime.PlatformObject
getAdapter
-
-
-
-
Field Detail
-
RESTART_NONE
public static final int RESTART_NONE
Constant which indicates that the job does not require a restart upon completion. This constant is typically used for operations that do not modify the running profile.- Since:
- 2.0
- See Also:
- Constant Field Values
-
RESTART_OR_APPLY
public static final int RESTART_OR_APPLY
Constant which indicates that the job requires the user to either restart or apply the configuration changes in order to pick up the changes performed by the job. This constant is typically used for operations that modify the running profile.- Since:
- 2.0
- See Also:
- Constant Field Values
-
RESTART_ONLY
public static final int RESTART_ONLY
Constant which indicates that the job requires the user to restart in order to pick up the changes performed by the job. This constant is typically used for operations that modify the running profile but don't handle dynamic changes without restarting the workbench.- Since:
- 2.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ProvisioningJob
public ProvisioningJob(String name, ProvisioningSession session)
Create a provisioning job with the given name that uses the provided provisioning session for retrieving any services needed.- Parameters:
name- the name of the jobsession- the session providing the services
-
-
Method Detail
-
getSession
protected ProvisioningSession getSession()
Return the provisioning session that is used by the receiver when retrieving necessary provisioning services.- Returns:
- the session
- See Also:
ProvisioningSession
-
setAdditionalProgressMonitor
public void setAdditionalProgressMonitor(IProgressMonitor monitor)
-
run
public final IStatus run(IProgressMonitor monitor)
Executes this job. Returns the result of the execution. This method is overridden to look for a wrapped progress monitor for reporting progress.- Specified by:
runin classJob- Parameters:
monitor- the monitor to be used for reporting progress and responding to cancelation. The monitor is nevernull- Returns:
- resulting status of the run. The result must not be
null - See Also:
Job.run(org.eclipse.core.runtime.IProgressMonitor)- Restriction:
- This method is not intended to be referenced by clients.
-
runModal
public abstract IStatus runModal(IProgressMonitor monitor)
Perform the specific work involved in running this job in the current thread. This method can be called directly by clients, or in the course of running the job in the background.- Parameters:
monitor- the progress monitor to use for the operation- Returns:
- a status indicating the result of the operation.
-
getRestartPolicy
public int getRestartPolicy()
Return the restart policy that is appropriate for this job.- Returns:
- a constant indicating the restart policy
- See Also:
RESTART_NONE,RESTART_ONLY,RESTART_OR_APPLY
-
getErrorStatus
protected IStatus getErrorStatus(String message, ProvisionException e)
Return an error status that can be used to report the specified exception.- Parameters:
message- the message that should be used in the statuse- the exception to be reported- Returns:
- a status that can be used to describe the exception
-
-