package com.swingsane.util;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
/**
* @author Roland Quast (roland@formreturn.com)
*
*/
public class FilenameExtensionFilter implements FilenameFilter {
private ArrayList<String> extensions = new ArrayList<String>();
@Override
public final boolean accept(File dir, String name) {
if (new File(dir, name).isDirectory()) {
return false;
}
name = name.toLowerCase();
return extensions.contains(getExtension(name));
}
public final void addExtension(String extension) {
extensions.add(extension);
}
private String getExtension(String name) {
if (name != null) {
int i = name.lastIndexOf('.');
if ((i > 0) && (i < (name.length() - 1))) {
return name.substring(i + 1).toLowerCase();
}
}
return null;
}
}