package com.informagen;
import java.io.FilenameFilter;
import java.io.File;
import java.util.Enumeration;
import java.util.Vector;
public class FilterBySuffix implements FilenameFilter {
final Vector theSuffixes = new Vector();
public boolean accept(File dir, String name) {
String suffix = getSuffix(name);
// Test lowercase varients only
Enumeration e = theSuffixes.elements();
String aSuffix = null;
while (e.hasMoreElements()) {
aSuffix = (String)e.nextElement();
if ( suffix.equals(aSuffix) )
return true;
}
return false;
}
public void addSuffix(String inSuffix) {
String suffix = inSuffix;
if (suffix.charAt(0) == '.')
suffix = suffix.substring(1);
theSuffixes.addElement(suffix);
}
// Returns the suffix in lowercase without the "dot"
private String getSuffix(String s) {
String suffix = "";
int i = s.lastIndexOf('.');
if(i > 0 && i < s.length() - 1)
suffix = s.substring(i+1).toLowerCase();
return suffix;
}
}