Package org.apache.struts2.inject.util

# Class FinalizableSoftReference<T>

java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.SoftReference<T>
org.apache.struts2.inject.util.FinalizableSoftReference<T>

public abstract class FinalizableSoftReference<T> extends SoftReference<T>
Soft reference with a `finalizeReferent()` method which a background thread invokes after the garbage collector reclaims the referent. This is a simpler alternative to using a `ReferenceQueue`.

Author:
  crazybob@google.com (Bob Lee)

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `FinalizableSoftReference(T referent)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `finalizeReferent()`
  Invoked on a background thread after the referent has been garbage collected.

  ### Methods inherited from class java.lang.ref.SoftReference

  `get`

  ### Methods inherited from class java.lang.ref.Reference

  `clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo`

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

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

- ## Constructor Details

  - ### FinalizableSoftReference

    protected FinalizableSoftReference(T referent)

- ## Method Details

  - ### finalizeReferent

    void finalizeReferent()
    Invoked on a background thread after the referent has been garbage collected.