JAL-3026 srcjar files for VARNA and log4j
[jalview.git] / srcjar / fr / orsay / lri / varna / applications / FileNameExtensionFilter.java
1 package fr.orsay.lri.varna.applications;
2
3 import java.io.File;
4 import java.util.Enumeration;
5 import java.util.Hashtable;
6
7 import javax.swing.filechooser.FileFilter;
8
9 public class FileNameExtensionFilter extends FileFilter {
10
11     Hashtable<String,Integer> _exts = new Hashtable<String,Integer>();
12     String _desc = "";
13         
14         public FileNameExtensionFilter(String desc,String ext1)
15         {
16                 _desc = desc;
17                 _exts.put(ext1,0);
18         }
19
20         public FileNameExtensionFilter(String desc,String ext1,String ext2)
21         {
22                 this(desc,ext1);
23                 _exts.put(ext2,1);
24         }
25         
26         public FileNameExtensionFilter(String desc,String ext1,String ext2,String ext3)
27         {
28                 this(desc,ext1,ext2);
29                 _exts.put(ext3,2);
30         }
31
32         public FileNameExtensionFilter(String desc,String ext1,String ext2,String ext3,String ext4)
33         {
34                 this(desc,ext1,ext2,ext3);
35                 _exts.put(ext4,3);
36         }
37         
38         
39         public boolean accept(File path) {
40                 String name = path.getName();
41                 if (path.isDirectory())
42                         return true;
43                 int index = name.lastIndexOf(".");
44                 if (index != -1)
45                 {
46                   String suffix = name.substring(index+1);
47                   if (_exts.containsKey(suffix))
48                   {return true;}
49                 }
50                 return false;
51         }
52
53         @Override
54         public String getDescription() {
55                 return _desc;
56         }
57         
58         public String[] getExtensions()
59         {
60                 String[] exts = new String[_exts.size()];
61                 Enumeration<String> k = _exts.keys();
62                 int n = 0;
63                 while(k.hasMoreElements())
64                 {
65                         exts[n] = k.nextElement();
66                         n++;
67                 }
68                 return exts;
69         }       
70
71 }