Class UIJob

java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.core.internal.jobs.InternalJob
org.eclipse.core.runtime.jobs.Job
org.eclipse.ui.progress.UIJob
All Implemented Interfaces:
Comparable<org.eclipse.core.internal.jobs.InternalJob>, IAdaptable
Direct Known Subclasses:
WorkbenchJob

public abstract class UIJob extends Job
The UIJob is a Job that runs within the UI Thread via an asyncExec.
Since:
3.0
  • Constructor Details

    • UIJob

      public UIJob(String name)
      Create a new instance of the receiver with the supplied name. The display used will be the one from the workbench if this is available. UIJobs with this constructor will determine their display at runtime.
      Parameters:
      name - the job name
    • UIJob

      public UIJob(Display jobDisplay, String name)
      Create a new instance of the receiver with the supplied Display.
      Parameters:
      jobDisplay - the display
      name - the job name
      See Also:
  • Method Details

    • create

      public static UIJob create(String name, IJobFunction function)
      Creates a new UIJob that will execute the provided function in the UI thread when it runs. Prefer using create(String, ICoreRunnable).
      Parameters:
      name - The name of the job
      function - The function to execute
      Returns:
      A UIJob that encapsulates the provided function
      Since:
      3.127
      See Also:
    • create

      public static UIJob create(String name, ICoreRunnable runnable)
      Creates a new UIJob that will execute the provided runnable in the UI thread when it runs.
      Parameters:
      name - the name of the job
      runnable - the runnable to execute
      Returns:
      a UIJob that encapsulates the provided runnable
      Since:
      3.127
      See Also:
    • errorStatus

      public static IStatus errorStatus(Throwable exception)
      Convenience method to return a status for an exception.
      Parameters:
      exception - the thrown exception
      Returns:
      IStatus an error status built from the exception
      See Also:
    • run

      public final IStatus run(IProgressMonitor monitor)
      Note: this message is marked final. Implementors should use runInUIThread() instead.
      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:
    • runInUIThread

      public abstract IStatus runInUIThread(IProgressMonitor monitor)
      Run the job in the UI Thread.
      Parameters:
      monitor - the monitor to be used for reporting progress and responding to cancellation. The monitor is never null
      Returns:
      resulting status of the run. The result must not be null
    • setDisplay

      public void setDisplay(Display runDisplay)
      Sets the display to execute the asyncExec in. Generally this is not' used if there is a valid display available via PlatformUI.isWorkbenchRunning().
      Parameters:
      runDisplay - Display
      See Also:
    • getDisplay

      public Display getDisplay()
      Returns the display for use by the receiver when running in an asyncExec. If it is not set then the display set in the workbench is used. If the display is null the job will not be run.
      Returns:
      Display or null.