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
      • 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 a message giving additional information about the current progress.
        Specified by:
        setMessage in interface TaskMonitor
        Parameters:
        message - more information
      • 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:
      • 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
      • 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.
      • reportIssue

        public void reportIssue​(Issue issue)
        Description copied from interface: TaskMonitor
        Notify that an issue occurred while processing.
        Specified by:
        reportIssue in interface TaskMonitor
        Parameters:
        issue - the issue that was encountered
      • 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
      • 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
      • addIssueListener

        public void addIssueListener​(IssueListener listener)
        Description copied from interface: TaskMonitor
        Add an issue listener to this monitor.
        Specified by:
        addIssueListener in interface TaskMonitor
        Parameters:
        listener - the listener
      • removeIssueListener

        public void removeIssueListener​(IssueListener listener)
        Description copied from interface: TaskMonitor
        Removes an issue listener to this monitor.
        Specified by:
        removeIssueListener in interface TaskMonitor
        Parameters:
        listener - the listener