Class BaseProgressMonitor

  • All Implemented Interfaces:
    io.github.duckasteroid.progress.ProgressMonitor, java.io.Closeable, java.lang.AutoCloseable, java.lang.Comparable<io.github.duckasteroid.progress.ProgressMonitor>

    public final class BaseProgressMonitor
    extends AbstractProgressMonitor
    implements io.github.duckasteroid.progress.ProgressMonitor
    A root implementation of the progress monitor interface. Capable of creating sub tasks as required. Maintains and notifies a list of listeners.
    • Field Detail

      • cancelled

        protected java.util.concurrent.atomic.AtomicBoolean cancelled
        Has cancellation been requested.
    • Constructor Detail

      • BaseProgressMonitor

        public BaseProgressMonitor()
      • BaseProgressMonitor

        public BaseProgressMonitor​(java.lang.String name)
      • BaseProgressMonitor

        public BaseProgressMonitor​(java.lang.String name,
                                   long size)
      • BaseProgressMonitor

        public BaseProgressMonitor​(java.lang.String name,
                                   long size,
                                   java.util.Collection<ProgressMonitorListener> listeners)
        Create a new progress monitor.
        Parameters:
        name - the name of the monitor
        size - the size (units of work)
        listeners - any listeners for the monitor
      • BaseProgressMonitor

        public BaseProgressMonitor​(long size)
    • Method Detail

      • getAllActive

        public java.util.List<io.github.duckasteroid.progress.ProgressMonitor> getAllActive()
        A list of all the active monitors in this monitor and all children that are active. As soon as a monitor is marked done - all children are removed from this list.
        Returns:
        the list of all active monitors (in the order they were created - with their children after them)
      • getParent

        public io.github.duckasteroid.progress.ProgressMonitor getParent()
        Always returns null.
        Specified by:
        getParent in interface io.github.duckasteroid.progress.ProgressMonitor
      • getContext

        public java.util.List<io.github.duckasteroid.progress.ProgressMonitor> getContext()
        Always returns an empty list.
        Specified by:
        getContext in interface io.github.duckasteroid.progress.ProgressMonitor
      • isCancelled

        public boolean isCancelled()
        Specified by:
        isCancelled in interface io.github.duckasteroid.progress.ProgressMonitor
      • setCancelled

        public void setCancelled​(boolean cancelled)
        Specified by:
        setCancelled in interface io.github.duckasteroid.progress.ProgressMonitor