com.google.common.base
Class FinalizablePhantomReference<T>

java.lang.Object
  extended by java.lang.ref.Reference<T>
      extended by java.lang.ref.PhantomReference<T>
          extended by com.google.common.base.FinalizablePhantomReference<T>
All Implemented Interfaces:
FinalizableReference

public abstract class FinalizablePhantomReference<T>
extends PhantomReference<T>
implements FinalizableReference

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.

Unlike a normal phantom reference, this reference will be cleared automatically.

Author:
Bob Lee

Constructor Summary
protected FinalizablePhantomReference(T referent, FinalizableReferenceQueue queue)
          Constructs a new finalizable phantom reference.
 
Method Summary
 
Methods inherited from class java.lang.ref.PhantomReference
get
 
Methods inherited from class java.lang.ref.Reference
clear, enqueue, isEnqueued
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.common.base.FinalizableReference
finalizeReferent
 

Constructor Detail

FinalizablePhantomReference

protected FinalizablePhantomReference(T referent,
                                      FinalizableReferenceQueue queue)
Constructs a new finalizable phantom reference.

Parameters:
referent - to phantom reference
queue - that should finalize the referent