Class ResourceTracker
- java.lang.Object
-
- de.intarsys.tools.resourcetracker.ResourceTracker
-
public abstract class ResourceTracker extends java.lang.ObjectAn 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 IResourceReferenceadd(IResourceReference ref)protected abstract voidbasicDispose(java.lang.Object resource)protected voiddispose(IResourceReference ref)protected java.lang.ref.ReferenceQueuegetQueue()protected voidremove(IResourceReference ref)IResourceReferencetrackPhantom(java.lang.Object container, java.lang.Object resource)IResourceReferencetrackSoft(java.lang.Object container, java.lang.Object resource)IResourceReferencetrackWeak(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)
-
-