1 31 32 package org.antlr.xjlib.appkit.utils; 33 34 import javax.swing.filechooser.FileFilter ; 35 import java.io.File ; 36 import java.util.Collections ; 37 import java.util.List ; 38 39 public class XJFileFilter extends FileFilter { 40 41 private List exts = null; 42 private String description = null; 43 44 public static XJFileFilter createFileFilter(Object ext, String description) { 45 XJFileFilter ff = new XJFileFilter(); 46 if(ext instanceof String ) { 47 ff.exts = Collections.singletonList(ext); 48 } else { 49 ff.exts = (List )ext; 50 } 51 ff.description = description; 52 return ff; 53 } 54 55 public boolean accept(File f) { 56 return f.isDirectory() || accept(f.getName()); 57 } 58 59 public boolean accept(String path) { 60 for (Object ext : exts) { 61 String e = (String ) ext; 62 if (path.endsWith(e)) { 63 return true; 64 } 65 } 66 return false; 67 } 68 69 public String getDefaultExtension() { 70 return (String ) exts.get(0); 71 } 72 73 public String getDescription() { 74 return description; 75 } 76 77 } 78 | Popular Tags |