Class ResourceTracker
- java.lang.Object
-
- de.intarsys.tools.resourcetracker.ResourceTracker
-
public abstract class ResourceTracker extends java.lang.Object
An object to keep track of platform resources that should be disposed upon garbage collection of some container object.To use this create a subclass implementing the dispose strategy and add new resources using "track".
The resources will be disposed automatically after garbage collection of the container in a separate worker thread.
-
-
Constructor Summary
Constructors Constructor Description ResourceTracker()
ResourceTracker(int size)
ResourceTracker(ResourceFinalizer finalizer)
ResourceTracker(ResourceFinalizer finalizer, int size)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected IResourceReference
add(IResourceReference ref)
protected abstract void
basicDispose(java.lang.Object resource)
protected void
dispose(IResourceReference ref)
protected java.lang.ref.ReferenceQueue
getQueue()
protected void
remove(IResourceReference ref)
IResourceReference
trackPhantom(java.lang.Object container, java.lang.Object resource)
IResourceReference
trackSoft(java.lang.Object container, java.lang.Object resource)
IResourceReference
trackWeak(java.lang.Object container, java.lang.Object resource)
-
-
-
Constructor Detail
-
ResourceTracker
public ResourceTracker()
-
ResourceTracker
public ResourceTracker(int size)
-
ResourceTracker
public ResourceTracker(ResourceFinalizer finalizer)
-
ResourceTracker
public ResourceTracker(ResourceFinalizer finalizer, int size)
-
-
Method Detail
-
add
protected IResourceReference add(IResourceReference ref)
-
basicDispose
protected abstract void basicDispose(java.lang.Object resource)
-
dispose
protected void dispose(IResourceReference ref)
-
getQueue
protected java.lang.ref.ReferenceQueue getQueue()
-
remove
protected void remove(IResourceReference ref)
-
trackPhantom
public IResourceReference trackPhantom(java.lang.Object container, java.lang.Object resource)
-
trackSoft
public IResourceReference trackSoft(java.lang.Object container, java.lang.Object resource)
-
trackWeak
public IResourceReference trackWeak(java.lang.Object container, java.lang.Object resource)
-
-