Class UIJob

  • All Implemented Interfaces:
    Comparable, 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 Detail

      • 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:
        Job
    • Method Detail

      • 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:
        Job
      • 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:
        Job.run(org.eclipse.core.runtime.IProgressMonitor)
      • 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(), PlatformUI.isWorkbenchRunning()
      • 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.