1 package jp.sourceforge.stigmata.ui.swing;
4 import java.util.ArrayList;
7 import javax.swing.filechooser.FileFilter;
10 * File filter by file extension.
12 * @author Haruaki TAMADA
14 public class ExtensionFilter extends FileFilter implements java.io.FileFilter{
15 private List<String> extensions = new ArrayList<String>();
17 private String description = null;
19 public ExtensionFilter(){
22 public ExtensionFilter(String ext){
23 this(new String[] { ext }, null);
26 public ExtensionFilter(String ext, String description){
27 this(new String[] { ext }, description);
30 public ExtensionFilter(String[] exts){
34 public ExtensionFilter(String[] exts, String description){
36 for(String ext: exts){
40 setDescription(description);
43 public void addExtension(String ext){
47 public boolean hasExtension(){
48 return extensions.size() > 0;
51 public synchronized String[] getExtensions(){
52 return extensions.toArray(new String[extensions.size()]);
56 public boolean accept(File f){
57 String fileName = f.getName();
58 String extension = fileName.substring(fileName.lastIndexOf('.') + 1);
61 for(String ext: extensions){
62 if(ext.equals(extension)){
67 if(extensions.size() == 0){
71 return flag || f.isDirectory();
74 public void setDescription(String description){
75 this.description = description;
79 public String getDescription(){