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<org.eclipse.core.internal.jobs.InternalJob>, 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 Details

    • 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:
    • 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:
    • 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:
  • Constructor Details

    • 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 job
      session - the session providing the services
  • Method Details

    • getSession

      protected ProvisioningSession getSession()
      Return the provisioning session that is used by the receiver when retrieving necessary provisioning services.
      Returns:
      the session
      See Also:
    • 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:
      run in class Job
      Parameters:
      monitor - the monitor to be used for reporting progress and responding to cancelation. The monitor is never null
      Returns:
      resulting status of the run. The result must not be null
      See Also:
      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:
    • 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 status
      e - the exception to be reported
      Returns:
      a status that can be used to describe the exception