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 aSlicedProgressMonitor
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
All Methods Instance Methods Concrete Methods 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 Detail
-
SlicedProgressMonitor
public SlicedProgressMonitor(IProgressMonitor monitor, int totalWork)
-
-
Method Detail
-
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 interfaceIProgressMonitor
- Parameters:
name
- the name (or description) of the main tasktotalWork
- the total number of work units into which the main task is been subdivided. If the value isUNKNOWN
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 interfaceIProgressMonitor
-
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 methodworked(int)
.- Specified by:
internalWorked
in interfaceIProgressMonitor
- 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 interfaceIProgressMonitor
- Returns:
true
if cancellation has been requested, andfalse
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 interfaceIProgressMonitor
- 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 interfaceIProgressMonitor
- 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 interfaceIProgressMonitor
- 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 interfaceIProgressMonitor
- Parameters:
work
- a non-negative number of work units just completed
-
getName
public String getName()
-
getSubTaskName
public String getSubTaskName()
-
-