View Javadoc

1   package org.eclipse.jetty.util.component;
2   
3   import java.io.File;
4   import java.io.IOException;
5   import java.util.ArrayList;
6   import java.util.Collection;
7   import java.util.List;
8   
9   import org.eclipse.jetty.util.IO;
10  import org.eclipse.jetty.util.log.Log;
11  import org.eclipse.jetty.util.log.Logger;
12  import org.eclipse.jetty.util.resource.Resource;
13  
14  public class FileDestroyable implements Destroyable
15  {
16      private static final Logger LOG = Log.getLogger(FileDestroyable.class);
17      final List<File> _files = new ArrayList<File>();
18  
19      public FileDestroyable()
20      {
21      }
22      
23      public FileDestroyable(String file) throws IOException
24      {
25          _files.add(Resource.newResource(file).getFile());
26      }
27      
28      public FileDestroyable(File file)
29      {
30          _files.add(file);
31      }
32      
33      public void addFile(String file) throws IOException
34      {
35          _files.add(Resource.newResource(file).getFile());
36      }
37      
38      public void addFile(File file)
39      {
40          _files.add(file);
41      }
42      
43      public void addFiles(Collection<File> files)
44      {
45          _files.addAll(files);
46      }
47      
48      public void removeFile(String file) throws IOException
49      {
50          _files.remove(Resource.newResource(file).getFile());
51      }
52      
53      public void removeFile(File file)
54      {
55          _files.remove(file);
56      }
57      
58      public void destroy()
59      {
60          for (File file : _files)
61          {
62              if (file.exists())
63              {
64                  LOG.debug("Destroy {}",file);
65                  IO.delete(file);
66              }
67          }
68      }
69  
70  }