X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fapplications%2FFileNameExtensionFilter.java;fp=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fapplications%2FFileNameExtensionFilter.java;h=377a4f138de87acf01d7b382caddd334a33cdbf4;hb=65740880573a48adc758bec3939ece9d9ae104dd;hp=0000000000000000000000000000000000000000;hpb=71aa78b8a7d54e5aeb6b278310dfd735efb77477;p=jalview.git diff --git a/srcjar/fr/orsay/lri/varna/applications/FileNameExtensionFilter.java b/srcjar/fr/orsay/lri/varna/applications/FileNameExtensionFilter.java new file mode 100644 index 0000000..377a4f1 --- /dev/null +++ b/srcjar/fr/orsay/lri/varna/applications/FileNameExtensionFilter.java @@ -0,0 +1,71 @@ +package fr.orsay.lri.varna.applications; + +import java.io.File; +import java.util.Enumeration; +import java.util.Hashtable; + +import javax.swing.filechooser.FileFilter; + +public class FileNameExtensionFilter extends FileFilter { + + Hashtable _exts = new Hashtable(); + String _desc = ""; + + public FileNameExtensionFilter(String desc,String ext1) + { + _desc = desc; + _exts.put(ext1,0); + } + + public FileNameExtensionFilter(String desc,String ext1,String ext2) + { + this(desc,ext1); + _exts.put(ext2,1); + } + + public FileNameExtensionFilter(String desc,String ext1,String ext2,String ext3) + { + this(desc,ext1,ext2); + _exts.put(ext3,2); + } + + public FileNameExtensionFilter(String desc,String ext1,String ext2,String ext3,String ext4) + { + this(desc,ext1,ext2,ext3); + _exts.put(ext4,3); + } + + + public boolean accept(File path) { + String name = path.getName(); + if (path.isDirectory()) + return true; + int index = name.lastIndexOf("."); + if (index != -1) + { + String suffix = name.substring(index+1); + if (_exts.containsKey(suffix)) + {return true;} + } + return false; + } + + @Override + public String getDescription() { + return _desc; + } + + public String[] getExtensions() + { + String[] exts = new String[_exts.size()]; + Enumeration k = _exts.keys(); + int n = 0; + while(k.hasMoreElements()) + { + exts[n] = k.nextElement(); + n++; + } + return exts; + } + +}