org.eclipse.net4j.util.cache

## Class Cache<E>

- 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.cache.Cache<E>

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

      public abstract class Cache<E>
      extends Worker
      implements ICache

  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.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
    `Cache()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doActivate()`
    `protected void` | `doBeforeActivate()`
    `protected void` | `doDeactivate()`
    `ICacheMonitor` | `getCacheMonitor()`
    `protected ICacheProbe` | `getCacheProbe()`
    `protected ReferenceQueue<E>` | `getReferenceQueue()`
    `void` | `setCacheMonitor(ICacheMonitor cacheMonitor)`
    `protected void` | `unreachableElement(E element)`
    `protected void` | `unreachableElement(Reference<? extends E> reference)`
    `protected void` | `work(Worker.WorkContext context)`

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

      `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, 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.cache.ICache

      `evictElements`

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

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### Cache

          public Cache()

  - ### Method Detail

    - #### getCacheMonitor

          public ICacheMonitor getCacheMonitor()

      Specified by:
        `getCacheMonitor` in interface `ICache`

    - #### setCacheMonitor

          public void setCacheMonitor(ICacheMonitor cacheMonitor)

    - #### getCacheProbe

          protected ICacheProbe getCacheProbe()

    - #### getReferenceQueue

          protected ReferenceQueue<E> getReferenceQueue()

    - #### doBeforeActivate

          protected void doBeforeActivate()
                                   throws Exception

      Overrides:
        `doBeforeActivate` in class `Lifecycle`
      Throws:
        `Exception`

    - #### doActivate

          protected void doActivate()
                             throws Exception

      Overrides:
        `doActivate` in class `Worker`
      Throws:
        `Exception`

    - #### doDeactivate

          protected void doDeactivate()
                               throws Exception

      Overrides:
        `doDeactivate` in class `Worker`
      Throws:
        `Exception`

    - #### work

          protected void work(Worker.WorkContext context)
                       throws Exception

      Specified by:
        `work` in class `Worker`
      Throws:
        `Exception`

    - #### unreachableElement

          protected void unreachableElement(Reference<? extends E> reference)

    - #### unreachableElement

          protected void unreachableElement(E element)

Copyright (c) 2014 Eike Stepper (Berlin, 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