home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / io / DeleteOnExitHook.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.1 KB  |  48 lines

  1. package java.io;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.LinkedHashSet;
  6.  
  7. class DeleteOnExitHook {
  8.    private static DeleteOnExitHook instance = null;
  9.    private static LinkedHashSet<String> files = new LinkedHashSet();
  10.  
  11.    static DeleteOnExitHook hook() {
  12.       if (instance == null) {
  13.          instance = new DeleteOnExitHook();
  14.       }
  15.  
  16.       return instance;
  17.    }
  18.  
  19.    private DeleteOnExitHook() {
  20.    }
  21.  
  22.    static void add(String var0) {
  23.       synchronized(files) {
  24.          if (files == null) {
  25.             throw new IllegalStateException("Shutdown in progress");
  26.          } else {
  27.             files.add(var0);
  28.          }
  29.       }
  30.    }
  31.  
  32.    void run() {
  33.       LinkedHashSet var1;
  34.       synchronized(files) {
  35.          var1 = files;
  36.          files = null;
  37.       }
  38.  
  39.       ArrayList var2 = new ArrayList(var1);
  40.       Collections.reverse(var2);
  41.  
  42.       for(String var4 : var2) {
  43.          (new File(var4)).delete();
  44.       }
  45.  
  46.    }
  47. }
  48.