org.eclipse.net4j.util.ref

## Class ReferenceMonitor<T>

- java.lang.Object
- - org.eclipse.net4j.util.event.Notifier
  - - org.eclipse.net4j.util.lifecycle.Lifecycle
    - - org.eclipse.net4j.util.concurrent.Worker
      - - org.eclipse.net4j.util.ref.ReferenceQueueWorker<T>
        - - org.eclipse.net4j.util.ref.ReferenceMonitor<T>

- All Implemented Interfaces:
    INotifier, IDeactivateable, ILifecycle, ILifecycle.DeferrableActivation

      public abstract class ReferenceMonitor<T>
      extends ReferenceQueueWorker<T>

  Since:
    3.5
  Author:
    Eike Stepper

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.net4j.util.concurrent.Worker

      `Worker.WorkContext`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `ILifecycle.DeferrableActivation`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.util.ref.ReferenceQueueWorker

      `ALL_WORK_PER_POLL, DEFAULT_MAX_WORK_PER_POLL, DEFAULT_POLL_MILLIS`

    - ### Fields inherited from class org.eclipse.net4j.util.concurrent.Worker

      `DEFAULT_ERROR_HANDLER, DEFAULT_TIMEOUT`

    - ### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `USE_LABEL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReferenceMonitor()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `monitor(T object)`
    `protected void` | `work(java.lang.ref.Reference<? extends T> reference)`
    `protected abstract void` | `work(T object)`

    - ### Methods inherited from class org.eclipse.net4j.util.ref.ReferenceQueueWorker

      `getMaxWorkPerPoll, getPollMillis, getQueue, setMaxWorkPerPoll, setPollMillis, work`

    - ### Methods inherited from class org.eclipse.net4j.util.concurrent.Worker

      `doActivate, doDeactivate, getActivationTimeout, getDeactivationTimeout, getGlobalErrorHandler, getThreadName, getWorkerThread, handleError, isDaemon, setActivationTimeout, setDaemon, setDeactivationTimeout, setGlobalErrorHandler`

    - ### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

    - ### Methods inherited from class org.eclipse.net4j.util.event.Notifier

      `addListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener`

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

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

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### ReferenceMonitor

          public ReferenceMonitor()

  - ### Method Detail

    - #### monitor

          public void monitor(T object)

    - #### work

          protected void work(java.lang.ref.Reference<? extends T> reference)

      Specified by:
        `work` in class `ReferenceQueueWorker<T>`

    - #### work

          protected abstract void work(T object)

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