Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.core.runtime.jobs
Class ProgressProvider

    java.lang.Object
      org.eclipse.core.runtime.jobs.ProgressProvider

public abstract class ProgressProvider
extends Object

The progress provider supplies the job manager with progress monitors for running jobs. There can only be one progress provider at any given time.

This class is for internal use by the platform-related plug-ins. Clients outside of the base platform should not reference or subclass this class.

Since:
  3.0
See Also:
  `IJobManager.setProgressProvider(ProgressProvider)`

Constructor Summary
`ProgressProvider()`

Method Summary
`abstract IProgressMonitor` | `createMonitor(Job job)` Provides a new progress monitor instance to be used by the given job.
`IProgressMonitor` | `createMonitor(Job job, IProgressMonitor group, int ticks)` Returns a progress monitor that can be used by a running job to report progress in the context of a progress group.
`IProgressMonitor` | `createProgressGroup()` Returns a progress monitor that can be used to provide aggregated progress feedback on a set of running jobs.
`IProgressMonitor` | `getDefaultMonitor()` Returns a progress monitor to use when none has been provided by the client running the job.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ProgressProvider

    public ProgressProvider()

Method Detail

### createMonitor

    public abstract IProgressMonitor createMonitor(Job job)

  Provides a new progress monitor instance to be used by the given job. This method is called prior to running any job that does not belong to a progress group. The returned monitor will be supplied to the job's `run` method.

  Parameters:
    `job` - the job to create a progress monitor for
  Returns:
    a progress monitor, or `null` if no progress monitoring is needed.
  See Also:
    `createProgressGroup()`, `Job.setProgressGroup(IProgressMonitor, int)`

### createProgressGroup

    public IProgressMonitor createProgressGroup()

  Returns a progress monitor that can be used to provide aggregated progress feedback on a set of running jobs. This method implements `IJobManager.createProgressGroup`, and must obey all rules specified in that contract.

  This default implementation returns a new `NullProgressMonitor` Subclasses may override.

  Returns:
    a progress monitor
  See Also:
    `IJobManager.createProgressGroup()`

### createMonitor

    public IProgressMonitor createMonitor(Job job,
                                          IProgressMonitor group,
                                          int ticks)

  Returns a progress monitor that can be used by a running job to report progress in the context of a progress group. This method implements `Job.setProgressGroup`. One of the two `createMonitor` methods will be invoked prior to each execution of a job, depending on whether a progress group was specified for the job.

  The provided monitor must be a monitor returned by the method `createProgressGroup`. This method is responsible for asserting this and throwing an appropriate runtime exception if an invalid monitor is provided.

  This default implementation returns a new `SubProgressMonitor`. Subclasses may override.

  Parameters:
    `job` - the job to create a progress monitor for
    `group` - the progress monitor group that this job belongs to
    `ticks` - the number of ticks of work for the progress monitor
  Returns:
    a progress monitor, or `null` if no progress monitoring is needed.
  See Also:
    `IJobManager.createProgressGroup()`, `Job.setProgressGroup(IProgressMonitor, int)`

### getDefaultMonitor

    public IProgressMonitor getDefaultMonitor()

  Returns a progress monitor to use when none has been provided by the client running the job.

  This default implementation returns a new `NullProgressMonitor` Subclasses may override.

  Returns:
    a progress monitor

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.