1 package jp.sourceforge.stigmata.ui.swing;
8 import java.util.ArrayList;
11 import javax.swing.filechooser.FileFilter;
14 * File filter by file extension.
16 * @author Haruaki TAMADA
17 * @version $Revision$ $Date$
19 public class ExtensionFilter extends FileFilter implements java.io.FileFilter{
20 private List<String> extensions = new ArrayList<String>();
22 private String description = null;
24 public ExtensionFilter(){
27 public ExtensionFilter(String ext){
28 this(new String[] { ext }, null);
31 public ExtensionFilter(String ext, String description){
32 this(new String[] { ext }, description);
35 public ExtensionFilter(String[] exts){
39 public ExtensionFilter(String[] exts, String description){
41 for(String ext: exts){
45 setDescription(description);
48 public void addExtension(String ext){
52 public boolean hasExtension(){
53 return extensions.size() > 0;
56 public synchronized String[] getExtensions(){
57 return extensions.toArray(new String[extensions.size()]);
60 public boolean accept(File f){
61 String fileName = f.getName();
62 String extension = fileName.substring(fileName.lastIndexOf('.') + 1);
65 for(String ext: extensions){
66 if(ext.equals(extension)){
71 if(extensions.size() == 0){
75 return flag || f.isDirectory();
78 public void setDescription(String description){
79 this.description = description;
82 public String getDescription(){