Package org.eclipse.core.runtime

# Class SlicedProgressMonitor

java.lang.Object
org.eclipse.core.runtime.SlicedProgressMonitor

All Implemented Interfaces:
  `IProgressMonitor`

public class SlicedProgressMonitor extends Object implements IProgressMonitor
default implementation of a `SlicedProgressMonitor` that synchronizes on the given monitor to report work

Since:
  3.14

## Field Summary

### Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor

`UNKNOWN`

## Constructor Summary

Constructors
Constructor
Description
`SlicedProgressMonitor(IProgressMonitor monitor, int totalWork)`

## Method Summary

Modifier and Type
Method
Description
`void`
`beginTask(String name, int totalWork)`
Notifies that the main task is beginning.
`void`
`done()`
Notifies that the work is done; that is, either the main task is completed or the user canceled it.
`String`
`getName()`
`String`
`getSubTaskName()`
`void`
`internalWorked(double internalWork)`
Internal method to handle scaling correctly.
`boolean`
`isCanceled()`
Returns whether cancelation of current operation has been requested.
`void`
`setCanceled(boolean value)`
Sets the cancel state to the given value.
`void`
`setTaskName(String name)`
Sets the task name to the given value.
`void`
`subTask(String name)`
Notifies that a subtask of the main task is beginning.
`void`
`worked(int work)`
Notifies that a given number of work unit of the main task has been completed.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.core.runtime.IProgressMonitor

`clearBlocked, setBlocked, slice`

## Constructor Details

### SlicedProgressMonitor

public SlicedProgressMonitor(IProgressMonitor monitor, int totalWork)

## Method Details

### beginTask

public void beginTask(String name, int totalWork)
Description copied from interface: `IProgressMonitor`
Notifies that the main task is beginning. This must only be called once on a given progress monitor instance.

Specified by:
  `beginTask` in interface `IProgressMonitor`
Parameters:
  `name` - the name (or description) of the main task
  `totalWork` - the total number of work units into which the main task is been subdivided. If the value is `UNKNOWN` the implementation is free to indicate progress in a way which doesn't require the total number of work units in advance.

### done

public void done()
Description copied from interface: `IProgressMonitor`
Notifies that the work is done; that is, either the main task is completed or the user canceled it. This method may be called more than once (implementations should be prepared to handle this case).

Specified by:
  `done` in interface `IProgressMonitor`

### internalWorked

public void internalWorked(double internalWork)
Description copied from interface: `IProgressMonitor`
Internal method to handle scaling correctly. This method must not be called by a client. Clients should always use the method `worked(int)`.

Specified by:
  `internalWorked` in interface `IProgressMonitor`
Parameters:
  `internalWork` - the amount of work done

### isCanceled

public boolean isCanceled()
Description copied from interface: `IProgressMonitor`
Returns whether cancelation of current operation has been requested. Long-running operations should poll to see if cancelation has been requested.

Specified by:
  `isCanceled` in interface `IProgressMonitor`
Returns:
  `true` if cancellation has been requested, and `false` otherwise
See Also:
  - `IProgressMonitor.setCanceled(boolean)`

### setCanceled

public void setCanceled(boolean value)
Description copied from interface: `IProgressMonitor`
Sets the cancel state to the given value.

Specified by:
  `setCanceled` in interface `IProgressMonitor`
Parameters:
  `value` - `true` indicates that cancelation has been requested (but not necessarily acknowledged); `false` clears this flag
See Also:
  - `IProgressMonitor.isCanceled()`

### setTaskName

public void setTaskName(String name)
Description copied from interface: `IProgressMonitor`
Sets the task name to the given value. This method is used to restore the task label after a nested operation was executed. Normally there is no need for clients to call this method.

Specified by:
  `setTaskName` in interface `IProgressMonitor`
Parameters:
  `name` - the name (or description) of the main task
See Also:
  - `IProgressMonitor.beginTask(java.lang.String, int)`

### subTask

public void subTask(String name)
Description copied from interface: `IProgressMonitor`
Notifies that a subtask of the main task is beginning. Subtasks are optional; the main task might not have subtasks.

Specified by:
  `subTask` in interface `IProgressMonitor`
Parameters:
  `name` - the name (or description) of the subtask

### worked

public void worked(int work)
Description copied from interface: `IProgressMonitor`
Notifies that a given number of work unit of the main task has been completed. Note that this amount represents an installment, as opposed to a cumulative amount of work done to date.

Specified by:
  `worked` in interface `IProgressMonitor`
Parameters:
  `work` - a non-negative number of work units just completed

### getName

public String getName()

### getSubTaskName

public String getSubTaskName()