de.intarsys.tools.resourcetracker
Class SoftResourceReference

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

public class SoftResourceReference
extends java.lang.ref.SoftReference
implements IResourceReference

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


Constructor Summary
SoftResourceReference(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.SoftReference
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
 

Constructor Detail

SoftResourceReference

public SoftResourceReference(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.