Class PropProgressMonitorAdapter

java.lang.Object
com.iizigo.prop.PropProgressMonitorAdapter
All Implemented Interfaces:
IPropProgressMonitor
Direct Known Subclasses:
NullPropProgressMonitor

public class PropProgressMonitorAdapter extends Object implements IPropProgressMonitor
Adapts the Eclipse IProgressMonitor to the "property-based" progress monitor.
Author:
Christopher Mindus
  • Constructor Details

    • PropProgressMonitorAdapter

      public PropProgressMonitorAdapter(org.eclipse.core.runtime.IProgressMonitor monitor, String taskName, int totalWork)
      Constructor to adapt IProgressMonitor.
      Parameters:
      monitor - The monitor to adapt.
      taskName - The task name.
      totalWork - The amount of work in the new submonitor.
  • Method Details

    • beginTask

      public void beginTask(String name, int totalWork)
      Notifies that the main task is beginning. This must only be called once on a given progress monitor instance.
      Specified by:
      beginTask in interface IPropProgressMonitor
      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.
    • setTaskName

      public void setTaskName(String name)
      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 IPropProgressMonitor
      Parameters:
      name - the name (or description) of the main task.
      See Also:
    • worked

      public void worked(int work)
      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 IPropProgressMonitor
      Parameters:
      work - a non-negative number of work units just completed
    • setWorked

      public void setWorked(int worked)
      Set worked value.
      Specified by:
      setWorked in interface IPropProgressMonitor
      Parameters:
      worked - The work value.
    • setWorkRemaining

      public void setWorkRemaining(int workRemaining)
      Set worked remaining.
      Specified by:
      setWorkRemaining in interface IPropProgressMonitor
      Parameters:
      workRemaining - The remaining work value, must be between zero and totalWork.
    • done

      public void done()
      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 IPropProgressMonitor
    • isCanceled

      public boolean isCanceled()
      Returns whether cancellation of current operation has been requested. Long-running operations should poll to see if cancellation has been requested.
      Specified by:
      isCanceled in interface IPropProgressMonitor
      Returns:
      true if cancellation has been requested, and false otherwise.
    • cancel

      public void cancel()
      Cancels the progress monitor.
      Specified by:
      cancel in interface IPropProgressMonitor
    • getProgressMonitor

      public Object getProgressMonitor()
      Gets the org.eclipse.core.runtime.IProgressMonitor instance.
      Specified by:
      getProgressMonitor in interface IPropProgressMonitor
      Returns:
      An object that is castable to org.eclipse.core.runtime.IProgressMonitor.
    • newSubMonitor

      public PropProgressMonitorAdapter newSubMonitor(int work)
      Creates a new sub monitor taking up a number of work.
      Specified by:
      newSubMonitor in interface IPropProgressMonitor
      Parameters:
      work - A non-negative number of work units that the new sub monitor will tick off.
      Returns:
      A new submonitor.