1 17 18 package com.finalist.jaggenerator; 19 20 import javax.swing.filechooser.*; 21 import java.io.File ; 22 import java.util.ArrayList ; 23 import java.util.Arrays ; 24 import java.util.Iterator ; 25 26 31 public class ExtensionsFileFilter extends FileFilter { 32 33 private static final char DOT = '.'; 34 private final ArrayList acceptFilter = new ArrayList (); 35 private String description; 36 37 41 public ExtensionsFileFilter(String acceptableExtension) { 42 acceptFilter.add(acceptableExtension); 43 description = "*." + acceptableExtension; 44 } 45 46 47 51 public ExtensionsFileFilter(String [] acceptableExtensions) { 52 acceptFilter.addAll(Arrays.asList(acceptableExtensions)); 53 54 StringBuffer sb = new StringBuffer (); 55 Iterator i = acceptFilter.iterator(); 56 while (i.hasNext()) { 57 String extension = (String ) i.next(); 58 sb.append("*."); 59 sb.append(extension); 60 if (i.hasNext()) { 61 sb.append(", "); 62 } 63 } 64 description = sb.toString(); 65 } 66 67 68 public boolean accept(File file) { 69 if (file.isDirectory()) return true; 70 String filename = file.toString().toLowerCase(); 71 int lastDotPos = filename.lastIndexOf(DOT) + 1; 72 if (lastDotPos != 0) { 73 String extension = filename.substring(lastDotPos); 74 return acceptFilter.contains(extension); 75 } 76 77 return false; } 79 80 81 public String getDescription() { 82 return description; 83 } 84 } | Popular Tags |