Class TimeoutTaskMonitor

  • All Implemented Interfaces:
    TaskMonitor

    public class TimeoutTaskMonitor
    extends java.lang.Object
    implements TaskMonitor
    A task monitor that allows clients the ability to specify a timeout after which this monitor will be cancelled.

    This monitor can wrap an existing monitor.

    You can call setTimeoutListener(Callback) to get a notification that the monitor timed-out. In order to prevent this from firing after your work is finished normally, call finished().

    • Method Detail

      • timeoutIn

        public static TimeoutTaskMonitor timeoutIn​(long timeout,
                                                   java.util.concurrent.TimeUnit timeUnit)
        Creates a timeout task monitor that will be cancelled after the specified timeout.
        Parameters:
        timeout - the timeout value
        timeUnit - the timeout time unit
        Returns:
        the newly created monitor
      • timeoutIn

        public static TimeoutTaskMonitor timeoutIn​(long timeout,
                                                   java.util.concurrent.TimeUnit timeUnit,
                                                   TaskMonitor monitor)
        Creates a timeout task monitor that will be cancelled after the specified timeout. The created monitor wraps the given monitor, calling cancel on the given monitor when the timeout is reached. This method allows you to use an existing monitor while adding the timeout feature.
        Parameters:
        timeout - the timeout value
        timeUnit - the timeout time unit
        monitor - the monitor to wrap
        Returns:
        the newly created monitor
      • setTimeoutListener

        public void setTimeoutListener​(Callback timeoutCallback)
        Sets a callback function that will be called if the timeout is reached.
        Parameters:
        timeoutCallback - the callback to call
      • didTimeout

        public boolean didTimeout()
        Returns true if this monitor has timed-out
        Returns:
        true if this monitor has timed-out
      • finished

        public void finished()
      • 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