org.eclipse.net4j.util.om.monitor

## Class AbstractMonitor

- java.lang.Object
- - org.eclipse.net4j.util.om.monitor.AbstractMonitor

- All Implemented Interfaces:
    OMMonitor, OMMonitorProgress
  Direct Known Subclasses:
    Monitor, NestedMonitor

      public abstract class AbstractMonitor
      extends java.lang.Object
      implements OMMonitor

  Since:
    2.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AbstractMonitor.AsyncTimerTask`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.om.monitor.OMMonitor

      `OMMonitor.Async`

  - ### Field Summary

    - ### Fields inherited from interface org.eclipse.net4j.util.om.monitor.OMMonitor

      `DEFAULT_TIME_FACTOR, THOUSAND`

    - ### Fields inherited from interface org.eclipse.net4j.util.om.monitor.OMMonitorProgress

      `HUNDRED, ONE, TEN, ZERO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractMonitor()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `OMMonitor` | `begin()` Same as calling `begin(ONE)`.
    `OMMonitor` | `begin(double totalWork)`
    `protected AbstractMonitor.AsyncTimerTask` | `createAsyncTimerTask(double work)`
    `protected OMMonitor` | `createNestedMonitor(double work)`
    `void` | `done()`
    `OMMonitor` | `fork()` Same as calling `fork(ONE)`.
    `OMMonitor` | `fork(double work)`
    `OMMonitor.Async` | `forkAsync()` Same as calling `forkAsync(ONE)`.
    `OMMonitor.Async` | `forkAsync(double work)`
    `protected abstract long` | `getAsyncSchedulePeriod()`
    `protected abstract java.util.Timer` | `getTimer()`
    `double` | `getTotalWork()`
    `double` | `getWork()`
    `double` | `getWorkPercent()`
    `boolean` | `hasBegun()`
    `protected static double` | `percent(double part, double whole)`
    `protected abstract void` | `scheduleAtFixedRate(java.util.TimerTask task, long delay, long period)`
    `void` | `worked()` Same as calling `worked(ONE)`.
    `void` | `worked(double work)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.net4j.util.om.monitor.OMMonitor

      `checkCanceled, isCanceled`

- - ### Constructor Detail

    - #### AbstractMonitor

          public AbstractMonitor()

  - ### Method Detail

    - #### hasBegun

          public boolean hasBegun()
                           throws MonitorCanceledException

      Specified by:
        `hasBegun` in interface `OMMonitor`
      Throws:
        `MonitorCanceledException`

    - #### begin

          public OMMonitor begin(double totalWork)
                          throws MonitorCanceledException

      Specified by:
        `begin` in interface `OMMonitor`
      Throws:
        `MonitorCanceledException`

    - #### begin

          public OMMonitor begin()
                          throws MonitorCanceledException

      Description copied from interface: `OMMonitor`
      Same as calling `begin(ONE)`.
      Specified by:
        `begin` in interface `OMMonitor`
      Throws:
        `MonitorCanceledException`

    - #### worked

          public void worked(double work)
                      throws MonitorCanceledException

      Specified by:
        `worked` in interface `OMMonitor`
      Throws:
        `MonitorCanceledException`

    - #### worked

          public void worked()
                      throws MonitorCanceledException

      Description copied from interface: `OMMonitor`
      Same as calling `worked(ONE)`.
      Specified by:
        `worked` in interface `OMMonitor`
      Throws:
        `MonitorCanceledException`

    - #### fork

          public OMMonitor fork(double work)

      Specified by:
        `fork` in interface `OMMonitor`

    - #### fork

          public OMMonitor fork()

      Description copied from interface: `OMMonitor`
      Same as calling `fork(ONE)`.
      Specified by:
        `fork` in interface `OMMonitor`

    - #### forkAsync

          public OMMonitor.Async forkAsync(double work)

      Specified by:
        `forkAsync` in interface `OMMonitor`

    - #### forkAsync

          public OMMonitor.Async forkAsync()

      Description copied from interface: `OMMonitor`
      Same as calling `forkAsync(ONE)`.
      Specified by:
        `forkAsync` in interface `OMMonitor`

    - #### done

          public void done()

      Specified by:
        `done` in interface `OMMonitor`

    - #### getTotalWork

          public double getTotalWork()

      Specified by:
        `getTotalWork` in interface `OMMonitorProgress`

    - #### getWork

          public double getWork()

      Specified by:
        `getWork` in interface `OMMonitorProgress`

    - #### getWorkPercent

          public double getWorkPercent()

      Specified by:
        `getWorkPercent` in interface `OMMonitorProgress`

    - #### createNestedMonitor

          protected OMMonitor createNestedMonitor(double work)

    - #### createAsyncTimerTask

          protected AbstractMonitor.AsyncTimerTask createAsyncTimerTask(double work)

    - #### getAsyncSchedulePeriod

          protected abstract long getAsyncSchedulePeriod()

    - #### getTimer

          protected abstract java.util.Timer getTimer()

    - #### scheduleAtFixedRate

          protected abstract void scheduleAtFixedRate(java.util.TimerTask task,
                                                      long delay,
                                                      long period)

      Since:
        3.0

    - #### percent

          protected static double percent(double part,
                                          double whole)

      Since:
        3.1

Copyright (c) 2004-2019 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html