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.resource.Resource;
12  
13  public class FileDestroyable implements Destroyable
14  {
15      final List<File> _files = new ArrayList<File>();
16  
17      public FileDestroyable()
18      {
19      }
20      
21      public FileDestroyable(String file) throws IOException
22      {
23          _files.add(Resource.newResource(file).getFile());
24      }
25      
26      public FileDestroyable(File file)
27      {
28          _files.add(file);
29      }
30      
31      public void addFile(String file) throws IOException
32      {
33          _files.add(Resource.newResource(file).getFile());
34      }
35      
36      public void addFile(File file)
37      {
38          _files.add(file);
39      }
40      
41      public void addFiles(Collection<File> files)
42      {
43          _files.addAll(files);
44      }
45      
46      public void removeFile(String file) throws IOException
47      {
48          _files.remove(Resource.newResource(file).getFile());
49      }
50      
51      public void removeFile(File file)
52      {
53          _files.remove(file);
54      }
55      
56      public void destroy()
57      {
58          for (File file : _files)
59          {
60              if (file.exists())
61              {
62                  Log.debug("Destroy {}",file);
63                  IO.delete(file);
64              }
65          }
66      }
67  
68  }