Package org.eclipse.net4j.util.ref

## Class ReferenceQueueWorker<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>

- All Implemented Interfaces:
    `INotifier`, `INotifier.INotifier2`, `IDeactivateable`, `ILifecycle`, `ILifecycle.DeferrableActivation`
  Direct Known Subclasses:
    `ReferenceMonitor`

      public abstract class ReferenceQueueWorker<T>
      extends Worker

  Since:
    2.0
  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`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `INotifier.INotifier2`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `ALL_WORK_PER_POLL` |
    `static int` | `DEFAULT_MAX_WORK_PER_POLL` |
    `static int` | `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 | Description
    --- | ---
    `ReferenceQueueWorker()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getMaxWorkPerPoll()` |
    `long` | `getPollMillis()` |
    `protected java.lang.ref.ReferenceQueue<T>` | `getQueue()` |
    `void` | `setMaxWorkPerPoll​(int maxWorkPerPoll)` |
    `void` | `setPollMillis​(long pollMillis)` |
    `protected abstract void` | `work​(java.lang.ref.Reference<? extends T> reference)` |
    `protected void` | `work​(Worker.WorkContext context)` |

    - ### 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, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, 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`

- - ### Field Detail

    - #### ALL_WORK_PER_POLL

          public static final int ALL_WORK_PER_POLL

      Since:
        3.0
      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_WORK_PER_POLL

          public static final int DEFAULT_MAX_WORK_PER_POLL

      Since:
        3.0
      See Also:
        Constant Field Values

    - #### DEFAULT_POLL_MILLIS

          public static final int DEFAULT_POLL_MILLIS

      Since:
        3.0
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ReferenceQueueWorker

          public ReferenceQueueWorker()

  - ### Method Detail

    - #### getPollMillis

          public long getPollMillis()

    - #### setPollMillis

          public void setPollMillis​(long pollMillis)

    - #### getMaxWorkPerPoll

          public int getMaxWorkPerPoll()

    - #### setMaxWorkPerPoll

          public void setMaxWorkPerPoll​(int maxWorkPerPoll)

    - #### getQueue

          protected java.lang.ref.ReferenceQueue<T> getQueue()

    - #### work

          protected final void work​(Worker.WorkContext context)
                             throws java.lang.Exception

      Specified by:
        `work` in class `Worker`
      Throws:
        `java.lang.Exception`

    - #### work

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