Package org.apache.struts2.inject.util

# Class FinalizablePhantomReference<T>

java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.PhantomReference<T>
org.apache.struts2.inject.util.FinalizablePhantomReference<T>

public abstract class FinalizablePhantomReference<T> extends PhantomReference<T>
Phantom 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`
  `FinalizablePhantomReference(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.PhantomReference

  `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

  - ### FinalizablePhantomReference

    protected FinalizablePhantomReference(T referent)

- ## Method Details

  - ### finalizeReferent

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