Class WrappingTaskMonitor

  • All Implemented Interfaces:
    TaskMonitor
    Direct Known Subclasses:
    CancelOnlyWrappingTaskMonitor

    public class WrappingTaskMonitor
    extends java.lang.Object
    implements TaskMonitor
    An implementation of the TaskMonitor interface that simply wraps a delegate task monitor. This is useful for classes that wish to wrap a task monitor, changing behavior as needed by overriding a subset of methods.

    Synchronization Policy:
    We wish for this class to be performant. Thus, we do not synchronize the methods of this class. The setDelegate(TaskMonitor) is synchronized to ensure thread visibility for the state of the delegate monitor.

    When calling setDelegate(TaskMonitor) there is the potential for the values being transferred to become inconsistent with any new values being set. We have decided that this does not much matter for the overall progress or the messages on the monitor. However, most of the other setter methods could lead to bad behavior if they are inconsistent.

    • Constructor Detail

      • WrappingTaskMonitor

        public WrappingTaskMonitor​(TaskMonitor delegate)
        Constructor
        Parameters:
        delegate - the delegate task monitor
    • Method Detail

      • setDelegate

        public void setDelegate​(TaskMonitor newDelegate)
        Sets the delegate of this wrapper to be the new value. The new delegate will be initialized with the current values of the existing delegate.
        Parameters:
        newDelegate - the new delegate
      • isCancelled

        public boolean isCancelled()
        Description copied from interface: TaskMonitor
        Returns true if the user has cancelled the operation
        Specified by:
        isCancelled in interface TaskMonitor
        Returns:
        true if the user has cancelled the operation
      • setShowProgressValue

        public void setShowProgressValue​(boolean showProgressValue)
        Description copied from interface: TaskMonitor
        True (the default) signals to paint the progress information inside of the progress bar
        Specified by:
        setShowProgressValue in interface TaskMonitor
        Parameters:
        showProgressValue - true to paint the progress value; false to not
      • setMessage

        public void setMessage​(java.lang.String message)
        Description copied from interface: TaskMonitor
        Sets the message displayed on the task monitor
        Specified by:
        setMessage in interface TaskMonitor
        Parameters:
        message - the message to display
      • getMessage

        public java.lang.String getMessage()
        Description copied from interface: TaskMonitor
        Gets the last set message of this monitor
        Specified by:
        getMessage in interface TaskMonitor
        Returns:
        the message
      • setProgress

        public void setProgress​(long value)
        Description copied from interface: TaskMonitor
        Sets the current progress value
        Specified by:
        setProgress in interface TaskMonitor
        Parameters:
        value - progress value
      • initialize

        public void initialize​(long max)
        Description copied from interface: TaskMonitor
        Initialized this TaskMonitor to the given max values. The current value of this monitor will be set to zero.
        Specified by:
        initialize in interface TaskMonitor
        Parameters:
        max - maximum value for progress
      • setMaximum

        public void setMaximum​(long max)
        Description copied from interface: TaskMonitor
        Set the progress maximum value

        Note: setting this value will reset the progress to be the max if the progress is currently greater than the new new max value.

        Specified by:
        setMaximum in interface TaskMonitor
        Parameters:
        max - maximum value for progress
      • getMaximum

        public long getMaximum()
        Description copied from interface: TaskMonitor
        Returns the current maximum value for progress
        Specified by:
        getMaximum in interface TaskMonitor
        Returns:
        the maximum progress value
      • setIndeterminate

        public void setIndeterminate​(boolean indeterminate)
        Description copied from interface: TaskMonitor
        An indeterminate task monitor may choose to show an animation instead of updating progress
        Specified by:
        setIndeterminate in interface TaskMonitor
        Parameters:
        indeterminate - true if indeterminate
      • isIndeterminate

        public boolean isIndeterminate()
        Description copied from interface: TaskMonitor
        Returns true if this monitor shows no progress
        Specified by:
        isIndeterminate in interface TaskMonitor
        Returns:
        true if this monitor shows no progress
      • incrementProgress

        public void incrementProgress​(long incrementAmount)
        Description copied from interface: TaskMonitor
        A convenience method to increment the current progress by the given value
        Specified by:
        incrementProgress in interface TaskMonitor
        Parameters:
        incrementAmount - The amount by which to increment the progress
      • cancel

        public void cancel()
        Description copied from interface: TaskMonitor
        Cancel the task
        Specified by:
        cancel in interface TaskMonitor
      • setCancelEnabled

        public void setCancelEnabled​(boolean enable)
        Description copied from interface: TaskMonitor
        Set the enablement of the Cancel button
        Specified by:
        setCancelEnabled in interface TaskMonitor
        Parameters:
        enable - true means to enable the cancel button
      • isCancelEnabled

        public boolean isCancelEnabled()
        Description copied from interface: TaskMonitor
        Returns true if cancel ability is enabled
        Specified by:
        isCancelEnabled in interface TaskMonitor
        Returns:
        true if cancel ability is enabled
      • clearCanceled

        public void clearCanceled()
        Description copied from interface: TaskMonitor
        Clear the cancellation so that this TaskMonitor may be reused
        Specified by:
        clearCanceled in interface TaskMonitor