de.intarsys.tools.resourcetracker
Class WeakResourceReference

java.lang.Object
  extended by java.lang.ref.Reference<T>
      extended by java.lang.ref.WeakReference
          extended by de.intarsys.tools.resourcetracker.WeakResourceReference
All Implemented Interfaces:
IResourceReference

public class WeakResourceReference
extends java.lang.ref.WeakReference
implements IResourceReference

A generic reference to some trackable resource. The resource finalization is managed using a WeakReference to the container. When the container is garbage collected, the reference is forwarded to the ResourceTracker that created it for disposal.


Constructor Summary
WeakResourceReference(java.lang.Object container, java.lang.Object resource, ResourceTracker tracker)
           
 
Method Summary
 void dispose()
           
 java.lang.Object getResource()
          The resource tracked.
 
Methods inherited from class java.lang.ref.Reference
clear, enqueue, get, isEnqueued
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WeakResourceReference

public WeakResourceReference(java.lang.Object container,
                             java.lang.Object resource,
                             ResourceTracker tracker)
Method Detail

dispose

public void dispose()
Specified by:
dispose in interface IResourceReference

getResource

public java.lang.Object getResource()
Description copied from interface: IResourceReference
The resource tracked.

Specified by:
getResource in interface IResourceReference
Returns:
The resource tracked.