org.apache.commons.io
Class FileCleaner

java.lang.Object
  extended byorg.apache.commons.io.FileCleaner

public class FileCleaner
extends java.lang.Object

Keeps track of files awaiting deletion, and deletes them when an associated marker object is reclaimed by the garbage collector.

Version:
$Id: FileCleaner.java,v 1.2 2004/10/24 04:20:06 martinc Exp $
Author:
Noel Bergman, Martin Cooper

Nested Class Summary
private static class FileCleaner.Tracker
          Inner class which acts as the reference for a file pending deletion.
 
Field Summary
private static java.lang.ref.ReferenceQueue q
          Queue of Tracker instances being watched.
private static java.lang.Thread reaper
          The thread that will clean up registered files.
private static java.util.Collection trackers
          Collection of Tracker instances in existence.
 
Constructor Summary
FileCleaner()
           
 
Method Summary
static int getTrackCount()
          Retrieve the number of files currently being tracked, and therefore awaiting deletion.
static void track(java.io.File file, java.lang.Object marker)
          Track the specified file, using the provided marker, deleting the file when the marker instance is garbage collected.
static void track(java.lang.String path, java.lang.Object marker)
          Track the specified file, using the provided marker, deleting the file when the marker instance is garbage collected.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

q

private static java.lang.ref.ReferenceQueue q
Queue of Tracker instances being watched.


trackers

private static java.util.Collection trackers
Collection of Tracker instances in existence.


reaper

private static java.lang.Thread reaper
The thread that will clean up registered files.

Constructor Detail

FileCleaner

public FileCleaner()
Method Detail

track

public static void track(java.io.File file,
                         java.lang.Object marker)
Track the specified file, using the provided marker, deleting the file when the marker instance is garbage collected.

Parameters:
file - The file to be tracked.
marker - The marker object used to track the file.

track

public static void track(java.lang.String path,
                         java.lang.Object marker)
Track the specified file, using the provided marker, deleting the file when the marker instance is garbage collected.

Parameters:
path - The full path to the file to be tracked.
marker - The marker object used to track the file.

getTrackCount

public static int getTrackCount()
Retrieve the number of files currently being tracked, and therefore awaiting deletion.

Returns:
the number of files being tracked.